The Inferred Sales Stats API provides comprehensive sales analytics by analyzing nationwide dealer inventory changes to infer actual sales figures. This powerful tool tracks inventory fluctuations across dealerships to determine sales patterns and market performance.
Sales statistics are regenerated monthly using a 90-day rolling period (T-7 to T-97 days from the current date), ensuring data freshness while providing sufficient historical context for meaningful analysis.
The API delivers regional demand insights with varying granularity across multiple dimensions:
For used vehicles, the API distinguishes between certified pre-owned (CPO) and regular vehicles. CPO statistics appear in cpo_{{field_name}}_stats keys, while regular/non-CPO vehicles use standard {{field_name}}_stats keys.
This API enables dealers, manufacturers, and market analysts to understand sales velocity, identify market trends, and make data-driven inventory and pricing decisions.
GET https://api.marketcheck.com/v2/sales/car
The following example demonstrates how to use the Inferred Sales Stats API to analyze sales performance and market trends.
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', make: 'Honda', state: 'CA'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
make, mm, ymm, ymmt, taxonomy_vin, or vin.The Inferred Sales Stats API requires specific vehicle identification parameters to generate meaningful sales analytics. You can query sales data at different levels of granularity, from broad make-level analysis to specific trim-level statistics.
Your MarketCheck API authentication key. Required for every request, unless OAuth is used.
The vehicle make for sales statistics queries.
The Make-Model (mm) combination for sales statistics, pipe-separated (e.g., ford|f-150).
Year-Make-Model (ymm) group for sales statistics, pipe-separated (e.g., 2015|ford|f-150).
Year-Make-Model-Trim (ymmt) combination for sales statistics, pipe-separated.
The taxonomy VIN (aka squish VIN) for sales statistics queries.
The full VIN (17 characters) to be transformed into a taxonomy VIN for statistics.
US state code for state-level sales statistics. 2-letter code (e.g., FL, CA).
City and state for city-level sales statistics, pipe-separated (e.g., jacksonville|FL).
Country for which to retrieve sales statistics. Allowed values — us, ca. Default — us.
used vehicles. Use car_type=new for new vehicle statisticsUS, but can be set to CA for Canadian market analysisAt least one of the following vehicle identification parameters must be provided:
make=Toyota returns sales data for all Toyota vehicles.mm=Toyota|Camry,Honda|Civicymm=2023|Toyota|Camry,2023|Honda|Civicymmt=2023|Toyota|Camry|LE,2023|Honda|Civic|EXtaxonomy_vin for analysis.CA for California, ON for Ontario).state=CA returns sales data for California.city_name|STATE_CODEstate parameter if both are provided.city_state=Los Angeles|CAUS, CAUS if not specified.interface SalesStatsResponse {
count: number; // Total number of vehicles sold
cpo: number; // Number of certified pre-owned vehicles sold
non_cpo: number; // Number of non-CPO vehicles sold
inventory_type: string; // Type of inventory analyzed (e.g., "used", "new")
make: string; // Vehicle make
model: string; // Vehicle model
year: number; // Vehicle year
trim: string; // Vehicle trim
dom_stats: Stats; // Days on market statistics
price_stats: Stats; // Price statistics
miles_stats: Stats; // Mileage statistics
cpo_dom_stats?: Stats; // CPO-specific days on market statistics
cpo_price_stats?: Stats; // CPO-specific price statistics
cpo_miles_stats?: Stats; // CPO-specific mileage statistics
}
interface Stats {
geometric_mean: number; // Geometric mean of the dataset
min: number; // Minimum value
median: number; // Median value
population_standard_deviation: number; // Population standard deviation
variance: number; // Variance of the dataset
max: number; // Maximum value
mean: number; // Arithmetic mean
trimmed_mean: number; // Mean with outliers removed
standard_deviation: number; // Sample standard deviation
iqr: number; // Interquartile range (Q3 - Q1)
}
200 OK - Returns a JSON object containing sales statistics and related metricscpo_*_stats) are only included when CPO vehicles are present in the dataset| Status Code | Description | Common Causes |
|---|---|---|
| 400 | Bad Request | Invalid parameter values or missing required parameters |
| 401 | Unauthorized | Missing/invalid API key |
| 403 | Forbidden | Access denied to resource |
| 422 | Unprocessable Entity | Invalid VIN or parameter combination |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Temporary server issues |
| 502 | Bad Gateway | Issues with upstream services |
| 503 | Service Unavailable | API maintenance or downtime |
Error Response Format
Most error responses follow this structure, except for 502 and 503 errors:
{
"code": <HTTP status code>,
"message": "<Error message describing the issue>"
}
Analyze sales performance for specific vehicle manufacturers to understand market share and brand performance. This is useful for competitive analysis and strategic planning.
Use the make parameter to get comprehensive sales data for all vehicles from a specific manufacturer.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', make: 'Toyota'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Compare sales performance between specific make-model combinations to identify popular models and market trends. This helps in understanding consumer preferences and model popularity.
Use the mm parameter with pipe-separated make-model combinations for targeted analysis.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', mm: 'Toyota|Camry'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Analyze how specific vehicle models perform across different model years to understand depreciation patterns, popularity trends, and market demand changes.
Use the ymm parameter to compare sales statistics for the same model across different years.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', ymm: '2023|Toyota|Camry'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Get detailed sales insights for specific vehicle trims to understand which configurations are most popular and how different trim levels perform in the market.
Use the ymmt parameter for the most granular analysis of vehicle sales performance.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', ymmt: '2023|Toyota|Camry|LE'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Analyze sales performance for vehicles similar to a specific VIN. This is particularly useful for understanding how vehicles with similar specifications perform in the market.
The vin parameter automatically converts to the corresponding taxonomy_vin for analysis of similar vehicles.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', vin: '2T3A1RFV9MW234437'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Compare sales performance across different geographic regions to understand regional preferences, market dynamics, and economic factors affecting vehicle sales.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', make: 'Ford', country: 'CA'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Get state-specific sales data to understand regional market performance and identify high-performing markets.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {api_key: 'YOUR_API_KEY', car_type: 'used', make: 'Ford', state: 'TX'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Analyze sales performance at the city level for the most granular geographic insights. This is valuable for dealers looking to understand local market conditions.
Use the city_state parameter with pipe-separated format for city-specific analysis.
city_state or state parameter, not both. The city_state parameter takes precedence and includes state information.Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/sales/car',
params: {
api_key: 'YOUR_API_KEY',
car_type: 'used',
ymmt: '2023|toyota|camry|LE',
country: 'CA',
city_state: 'Edmonton|AB'
},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}