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|Civic
ymm=2023|Toyota|Camry,2023|Honda|Civic
ymmt=2023|Toyota|Camry|LE,2023|Honda|Civic|EX
taxonomy_vin
for analysis.CA
for California, ON
for Ontario).state=CA
returns sales data for California.city_name|STATE_CODE
state
parameter if both are provided.city_state=Los Angeles|CA
US
, CA
US
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 datasetStatus 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);
}