MarketCheck Price™

ML-powered vehicle price predictions using proprietary models trained on extensive dealer retail market data.

The MarketCheck Price™ API provides sophisticated vehicle price predictions using proprietary machine learning models trained on extensive automotive market data. This powerful tool leverages advanced algorithms to deliver accurate price estimates based on real-time market conditions and comprehensive vehicle characteristics.

The API uses separate machine learning models for the US and Canadian markets, each trained on its own national sales data. The US model draws on over 4 million recently sold vehicle listings from 70,000+ dealerships nationwide, while the Canadian model is trained on 360,000+ listings from 7,000+ dealerships across Canada. Both models use the last three months of sales data and are retrained weekly to ensure predictions reflect current market dynamics and pricing trends.

The API offers three distinct service tiers, each designed for different use cases and requirements:

  • Base Tier: Essential price predictions with MSRP data for basic valuation needs
  • Premium Tier: Enhanced predictions including 1,000 comparable vehicle listings for comprehensive market analysis
  • Premium Plus Tier: Complete analysis with full NeoVIN decode data for the most detailed insights

Each tier provides increasingly sophisticated analysis capabilities, from simple price predictions to comprehensive market comparisons with complete vehicle specifications. This enables dealers, lenders, insurers, and automotive professionals to choose the level of detail that best fits their specific needs and workflows.

Model Training Data & Accuracy

The API leverages comprehensive training datasets. The US and Canadian markets are served by separate models, each trained on its own national sales data.

United States

  • Dataset Size: 4+ million recently sold vehicle listings
  • Time Period: Last 3 months of sales data
  • Data Sources: 70,000+ dealerships nationwide
  • Update Frequency: Weekly model retraining

Canada

  • Dataset Size: 360,000+ recently sold vehicle listings
  • Time Period: Last 3 months of sales data
  • Data Sources: 7,000+ dealerships across Canada
  • Update Frequency: Weekly model retraining

Data Features

The US and Canadian models are trained on the same set of features:

  • Vehicle Specifications: Year, make, model, trim, body type, transmission, drivetrain, fuel type, powertrain, colors, features
  • Location Data: City and state/province information
  • Condition Factors: Mileage, certification status, seller category
  • Market Trends: Recent pricing patterns for comparable vehicles

Model Accuracy

United States

  • Overall Performance: 96%+ R² score on holdout datasets
  • Recent Vehicles: 90%+ predictions within 10% margin (vehicles <10 years old)
  • Older Vehicles: 80%+ predictions within 25% margin (vehicles >10 years old)
  • Real-Time Predictions: Current market conditions, not future forecasting

Canada

  • Overall Performance: 95%+ R² score on holdout datasets
  • Prediction Precision: 78%+ predictions within 10% margin
  • Extended Range: 96%+ predictions within 25% margin

API Tiers & Endpoints

The MarketCheck Price API offers three distinct tiers, each with its own endpoint and feature set. The same tiers are available for both the US (/us/) and Canadian (/ca/) markets.

United States

TierEndpointFeatures
Base/v2/predict/car/us/marketcheck_pricePrice prediction and MSRP
Premium/v2/predict/car/us/marketcheck_price/comparablesBase features + 1,000 recent comparables
Premium Plus/v2/predict/car/us/marketcheck_price/comparables/decodePremium features + full NeoVIN decode

Canada

TierEndpointFeatures
Base/v2/predict/car/ca/marketcheck_pricePrice prediction and MSRP
Premium/v2/predict/car/ca/marketcheck_price/comparablesBase features + 1,000 recent comparables
Premium Plus/v2/predict/car/ca/marketcheck_price/comparables/decodePremium features + full NeoVIN decode
Each tier has different pricing structures and feature availability. Higher tiers include all features from lower tiers. The US and Canadian APIs are identical in structure — only the market data, currency (USD vs CAD), and location inputs differ.

Base Path

The base path varies depending on the tier and market you want to use.

United States

Base Tier:

GET https://api.marketcheck.com/v2/predict/car/us/marketcheck_price

Premium Tier:

GET https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables

Premium Plus Tier:

GET https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables/decode

Canada

Base Tier:

GET https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price

Premium Tier:

GET https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables

Premium Plus Tier:

GET https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables/decode

The following examples demonstrate the Base Tier API for essential price predictions.

United States

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '2T3DWRFV3LW077677',
miles: '76189',
dealer_type: 'independent',
zip: '80215',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Canada

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'independent',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Request

All three tiers of the MarketCheck Price API share the same parameter requirements, and the US and Canadian endpoints take the same parameters — only the location values differ (see Location Parameters). The core prediction algorithm requires specific vehicle identification and market context to generate accurate price estimates.

Parameters

8 Params
api_key
string required

Your MarketCheck API authentication key. Required for every request, unless OAuth is used.

city
string

City of the vehicle location. Either zip or city and state must be provided for price prediction.

dealer_type
string required

Dealer type for price prediction. Allowed values — franchise, independent. Required.

is_certified
boolean

If true, treats the vehicle as certified for price prediction. Default — false.

miles
integer required

Current mileage of the vehicle. Required for price prediction.

state
string

State of the vehicle location (2-letter code, e.g. CA). Either zip or city and state must be provided for price prediction.

vin
string required

VIN of the car for MarketCheck price prediction (17 characters). Required.

zip
string

ZIP code of the vehicle location. Either zip or city and state must be provided for price prediction.

Required Parameters

vin

  • 17-character Vehicle Identification Number that uniquely identifies the vehicle
  • Used to decode vehicle specifications and find comparable vehicles
  • Must be a valid VIN format
  • Example: vin=1HGBH41JXMN109186

miles

  • Total mileage the vehicle has been driven
  • Critical factor in determining vehicle condition and market value
  • Required for used vehicles (typically not applicable for new vehicles)
  • Example: miles=45000

dealer_type

  • Dealer classification that affects pricing models
  • Supported values: franchise, independent
  • Franchise dealers typically have different pricing patterns than independent dealers
  • Example: dealer_type=franchise

Location Parameters

At least one location parameter is required:

zip

  • ZIP code for the vehicle's location or target market
  • Provides precise geographic context for pricing
  • Example: zip=90210

city & state

  • City and state combination as an alternative to ZIP code
  • Both parameters must be provided together when using this option
  • Example: city=Los Angeles&state=CA
For the Canadian market (/ca/ endpoints), the same parameters apply with Canadian values: zip expects a Canadian postal code (e.g. zip=J1N 1G8) and state expects a province (e.g. state=ON).

Optional Parameters

is_certified

  • Certification status indicating if the vehicle is certified pre-owned
  • Certified vehicles typically command higher prices
  • Example: is_certified=true

Response

The response schema varies depending on the tier used, with each tier building upon the previous tier's features. The schema is identical for the US and Canadian markets — only the underlying market data and currency (USD vs CAD) differ.

Base Tier Response Schema

interface BaseMarketCheckPriceResponse {
  marketcheck_price: number; // Predicted market price
  msrp: number; // Manufacturer's Suggested Retail Price
}

Premium Tier Response Schema

interface PremiumMarketCheckPriceResponse {
  marketcheck_price: number; // Predicted market price
  msrp: number; // Manufacturer's Suggested Retail Price
  comparables: Comparables; // Comparable vehicles
  recent_comparables: RecentComparables; // Recent comparable vehicles with actual data
}

interface Comparables {
  num_found: number; // Number of comparable vehicles found
  listings: Listing[]; // Array of comparable vehicle listings
  stats: Stats; // Statistical analysis of comparable vehicles
}

interface RecentComparables {
  num_found: number; // Number of recent comparable vehicles found
  listings: Listing[]; // Array of recent comparable vehicle listings
  stats: Stats; // Statistical analysis of recent comparables
}

interface Stats {
  price: StatisticalData; // Price statistics
  miles: StatisticalData; // Mileage statistics
  dos_active: StatisticalData; // Days on site (active) statistics
}

interface StatisticalData {
  min: number; // Minimum value
  max: number; // Maximum value
  count: number; // Number of data points
  missing: number; // Number of missing values
  sum: number; // Sum of all values
  mean: number; // Average value
  stddev: number; // Standard deviation
  sum_of_squares: number; // Sum of squared values
  median: number; // Median value
  percentiles: Percentiles; // Percentile distribution
}

interface Percentiles {
  "5.0": number; // 5th percentile
  "25.0": number; // 25th percentile (Q1)
  "50.0": number; // 50th percentile (median)
  "75.0": number; // 75th percentile (Q3)
  "90.0": number; // 90th percentile
  "95.0": number; // 95th percentile
  "99.0": number; // 99th percentile
}

interface Listing {
  id: string; // Unique listing identifier
  vin: string; // Vehicle identification number
  price: number; // Listed price
  miles: number; // Vehicle mileage
  dom: number; // Days on market
  dom_180: number; // Days on market (180-day period)
  dom_active: number; // Days on market (active period)
  year: number; // Model year
  make: string; // Vehicle manufacturer
  model: string; // Vehicle model
  trim: string; // Vehicle trim level
  photo_url: string; // Primary photo URL
  dealer_id: number; // Dealer identifier
  latitude: string; // Geographic latitude
  longitude: string; // Geographic longitude
  mc_website_id: number; // MarketCheck website identifier
  dos_active: number; // Days on site (active period)
}

Premium Plus Tier Response Schema

interface PremiumPlusMarketCheckPriceResponse {
  marketcheck_price: number; // Predicted market price
  msrp: number; // Manufacturer's Suggested Retail Price
  comparables: Comparables; // Comparable vehicles with stats
  recent_comparables: RecentComparables; // Recent comparable vehicles with stats
  decode: NeoVINDecode; // Complete vehicle decode information
}

// Uses the same Comparables, RecentComparables, Stats, StatisticalData,
// Percentiles, and Listing interfaces defined in Premium Tier

interface NeoVINDecode {
  // Complete vehicle specification data from NeoVIN
  // Includes detailed technical specifications, features, and options
  [key: string]: any; // Dynamic structure based on vehicle data
}

Success Response

  • 200 OK - Returns the appropriate response object based on the tier used
  • Monetary values are in USD for the US endpoints (/us/) and CAD for the Canadian endpoints (/ca/); comparable listings are drawn from the corresponding market
  • Mileage values are in miles
  • Geographic coordinates are in decimal degrees

Error Response

Status CodeDescriptionCommon Causes
400Bad RequestMissing required parameters or invalid VIN
401UnauthorizedMissing/invalid API key
403ForbiddenAccess denied to resource or tier
422Unprocessable EntityVIN decoding failed or invalid parameter values
429Too Many RequestsRate limit exceeded
500Internal Server ErrorTemporary server issues
502Bad GatewayIssues with upstream services
503Service UnavailableAPI 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>"
}

Use Cases & Examples

Base Tier: Essential Price Predictions

The Base Tier provides core price prediction functionality with MSRP data, ideal for basic valuation needs and quick price estimates.

Use this tier when you need:

  • Quick price estimates for vehicle valuation
  • MSRP information for pricing reference
  • Cost-effective predictions for high-volume applications
  • Basic price validation for inventory management

Example (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '2T3DWRFV3LW077677',
miles: '76189',
dealer_type: 'independent',
zip: '80215',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'independent',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Premium Tier: Market Analysis with Comparables

The Premium Tier includes all Base Tier features plus access to 1,000 recent comparable vehicle listings, providing comprehensive market context for pricing decisions.

Use this tier when you need:

  • Detailed market analysis with comparable vehicles
  • Understanding of local market pricing patterns
  • Comprehensive pricing context for negotiations
  • Market positioning for inventory pricing strategies

Example (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables',
params: {
api_key: 'YOUR_API_KEY',
vin: '2T3DWRFV3LW077677',
miles: '76189',
dealer_type: 'independent',
zip: '80215',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'independent',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Premium Plus Tier: Complete Analysis with VIN Decode

The Premium Plus Tier provides the most comprehensive analysis, including all Premium features plus complete NeoVIN decode data with detailed vehicle specifications.

Use this tier when you need:

  • Complete vehicle specification data
  • Most detailed pricing insights available
  • Full market analysis for critical business decisions
  • Comprehensive vehicle information for lending or insurance

Example (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables/decode',
params: {
api_key: 'YOUR_API_KEY',
vin: '2T3DWRFV3LW077677',
miles: '76189',
dealer_type: 'independent',
zip: '80215',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables/decode',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'independent',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Loan and Financing Applications

Use MarketCheck Price predictions to support lending decisions, determine loan-to-value ratios, and assess collateral value for automotive financing.

Example for Financing (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '1HGBH41JXMN109186',
miles: '45000',
dealer_type: 'franchise',
zip: '90210'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example for Financing (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'franchise',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Insurance Valuation

Integrate price predictions into insurance workflows for claim settlements, coverage determinations, and risk assessment.

Example for Insurance (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables',
params: {
api_key: 'YOUR_API_KEY',
vin: '1HGBH41JXMN109186',
miles: '45000',
dealer_type: 'independent',
city: 'Miami',
state: 'FL',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example for Insurance (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'independent',
city: 'Toronto',
state: 'ON',
is_certified: 'true'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Dealer Inventory Management

Use predictions to optimize inventory pricing, identify market opportunities, and make informed purchasing decisions.

Example for Inventory Pricing (US):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/us/marketcheck_price/comparables/decode',
params: {
api_key: 'YOUR_API_KEY',
vin: '1HGBH41JXMN109186',
miles: '45000',
dealer_type: 'franchise',
zip: '10001'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Example for Inventory Pricing (Canada):

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/predict/car/ca/marketcheck_price/comparables/decode',
params: {
api_key: 'YOUR_API_KEY',
vin: '3N1AB8CV6MY314187',
miles: '35490',
dealer_type: 'franchise',
zip: 'J1N 1G8'
},
headers: {Accept: 'application/json'}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

See Also