Car Listing Details

Retrieve detailed information about specific dealer car listings with complete vehicle specifications, media content, dealer information, and marketplace data.

The Car Listing Details API retrieves detailed information about specific dealer automotive listings across United Kingdom markets. This endpoint provides complete listing data including vehicle specifications, pricing history, dealer information, media content, and marketplace details for individual listings identified by their unique listing ID.

This API is typically used as a follow-up to search operations from the Inventory Search API or VRM History API, both of which return listing IDs for detailed retrieval.

Base Path

GET https://api.marketcheck.com/v2/listing/car/uk/{listing_id}

Path Parameter:

  • listing_id - The unique identifier for the car listing you want to retrieve. This parameter is case-sensitive and must be provided in the URL path.

The following example demonstrates how to use the Car Listing Details API to retrieve information about a specific car listing:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/listing/car/uk/5779a04bb69cd41e12e0292a5cb5306df2be5a30dc1cec952275b78f665f460f',
params: {api_key: 'YOUR_API_KEY'},
headers: {Accept: 'application/json'}
};

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

Explore the complete parameter options and response structure in the Request section below.

Request

The Car Listing Details API provides access to detailed listing information using the unique listing identifier. This is typically used as a follow-up to search operations from the Inventory Search API or VRM History API, both of which return listing IDs for detailed retrieval.

Parameters

Available parameters for retrieving detailed listing information:

3 Params
api_key
string required

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

redirect_to_active
boolean

If true, redirects to the active version of the listing if it has been updated.

redirect_to_latest
boolean

If true, redirects to the latest version of the listing if it has been updated.

Required Parameters

The following parameters are required for listing detail requests:

  • listing_id - The unique identifier for the car listing (provided in URL path)
    • Case-sensitive string identifier returned from search APIs or data feeds
    • Must be provided as a path parameter in the URL structure

Special Parameters

The following parameters are optional for listing detail requests:

  • redirect_to_active
    • Redirect to currently active listing when the requested listing is inactive
    • Use this to ensure you always access the most current active listing for the same VRM at the source
    • Example: redirect_to_active=true
  • redirect_to_latest
    • Redirect to the most recent listing available at the source
    • Use this to always access the most up-to-date listing ID for the same VRM at that source
    • Example: redirect_to_latest=true
If both redirect_to_active and redirect_to_latest are set to true, redirect_to_active takes precedence.

Use Cases & Examples

Detailed Vehicle Information Display

Retrieve detailed vehicle information for display on vehicle detail pages, customer applications, or internal dealer management systems. This API provides all the data typically shown on a dealer's vehicle detail page (VDP).

Example:

Here we're retrieving complete details for a specific car listing including specifications, pricing, dealer information, and media content:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/listing/car/uk/5779a04bb69cd41e12e0292a5cb5306df2be5a30dc1cec952275b78f665f460f',
params: {api_key: 'YOUR_API_KEY'},
headers: {Accept: 'application/json'}
};

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

Post-Search Detail Retrieval

After performing searches using the Inventory Search API, use the returned listing IDs to fetch complete vehicle details for selected listings.

Example:

Here we're retrieving detailed information for a listing discovered through inventory search:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/listing/car/uk/3063ae71b233c2e645e67fd84307bad5340b9f5908113c27d9233b04a156cdfd',
params: {api_key: 'YOUR_API_KEY'},
headers: {Accept: 'application/json'}
};

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

Redirect to Active Listing

Use the redirect_to_active parameter to automatically redirect to the currently active listing. This is particularly useful when working with listing IDs that may reference inactive listings, ensuring you always access the active listing when it exists for specific VRM.

Example:

Here we're requesting the active listing with automatic redirection:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/listing/car/uk/19befb2539011c752cddae5a89d25f01ba2187027cae8d26c3b44436a0eb6c44',
params: {api_key: 'YOUR_API_KEY', redirect_to_active: 'true'},
headers: {Accept: 'application/json'}
};

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

Redirect Behavior:

When redirect_to_active=true:

  1. Listing is Active and VRM at Source is Active: The API returns the listing with status code 200 OK
  2. Listing is Inactive but VRM at Source is Active: The API responds with status code 301 Moved Permanently, including the redirect URL in the Location header pointing to the active listing of that VRM at that source
  3. Listing is Inactive and VRM at Source is Inactive: The API responds with status code 422 Unprocessable Entity with error message "Listing no longer active"

Redirect to Latest Listing

Use the redirect_to_latest parameter to automatically redirect to the most current listing available at the source. This functionality is valuable when working with listing IDs that may reference older versions of the same vehicle listing.

Example:

Here we're requesting the latest listing with automatic redirection:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/listing/car/uk/19befb2539011c752cddae5a89d25f01ba2187027cae8d26c3b44436a0eb6c44',
params: {api_key: 'YOUR_API_KEY', redirect_to_latest: 'true'},
headers: {Accept: 'application/json'}
};

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

Redirect Behavior:

When redirect_to_latest=true:

  1. Listing is Latest: The API returns the listing with status code 200 OK
  2. Listing is Not Latest: The API responds with status code 301 Moved Permanently, including the redirect URL in the Location header pointing to the latest listing ID of that VRM at that source
This data is fetched directly from MarketCheck's main database, which is updated continuously as crawl progresses. Some fields like last_seen_at, scraped_at, and first_seen_at may not match the values in search API responses due to real-time data processing.

Response

The Car Listing Details API returns comprehensive information about the specified vehicle listing in a structured JSON format.

Success Response:

  • 200 OK - Returns detailed JSON object with complete listing information
    • Includes vehicle specifications, pricing data, dealer information, media content, and marketplace metadata
    • Provides rich data suitable for vehicle detail page display and detailed analysis
  • 301 Moved Permanently - When using redirect parameters and the listing has been updated/moved. The new URL is provided in the Location header
    • Headers:
      • Location: URL of the active or latest listing if redirect parameters are used

Error Response:

Status CodeDescriptionCommon Causes
400Bad RequestInvalid parameter values
401UnauthorizedMissing/invalid API key
403ForbiddenAccess denied to resource
422Unprocessable EntityInvalid listing_id, listing inactive and VRM at source is inactive (with redirect_to_active)
429Too Many RequestsRate limit exceeded
500Internal Server ErrorTemporary server issues
502Bad GatewayIssues with upstream services
503Service UnavailableAPI maintenance or downtime

Response Schema

The response provides comprehensive listing details organized into logical sections:

interface Response {
  id: string; // Unique listing identifier
  vehicle_registration_mark: string; // Vehicle Registration Mark
  uvc_id: string; // Unique Vehicle Code
  heading: string; // Formatted listing title
  price: number; // Current listing price
  price_change_percent: number; // Price change percentage from reference price
  msrp: number; // Manufacturer's Suggested Retail Price (as per dealer website)
  ref_price: number; // Previously listed price at same source for reference
  ref_price_dt: number; // Reference price date timestamp (Unix Seconds)
  miles: number; // Vehicle mileage
  ref_miles: number; // Reference mileage (previously listed mileage at same source)
  ref_miles_dt: number; // Reference mileage date timestamp (Unix Seconds)
  exterior_color: string; // Exterior color description
  interior_color: string; // Interior color description
  base_int_color: string; // Standardized interior color
  base_ext_color: string; // Standardized exterior color
  dom: number; // Days on market (lifetime)
  dom_180: number; // Days on market in last 180 days
  dom_active: number; // Days on market while active
  dos_active: number; // Days on site while active
  data_source: string; // Original data source identifier. Mostly `mc` for MarketCheck
  source: string; // Data source website domain
  vdp_url: string; // Vehicle detail page URL
  seller_type: string; // Type of seller (dealer, fsbo, auction)
  inventory_type: string; // Inventory classification (new, used)
  stock_no: string; // Dealer stock number
  in_transit: boolean; // Vehicle in transit status
  vehicle_registration_date: string; // Vehicle registration date (ISO format)
  last_seen_at: number; // Last seen timestamp (Unix Seconds), when the listing was last updated
  last_seen_at_date: string; // Last seen date (ISO format)
  scraped_at: number; // First seen timestamp (Unix Seconds), when the listing was first scraped
  scraped_at_date: string; // First seen date (ISO format)
  first_seen_at: number; // First seen timestamp (Unix Seconds), when the listing was first seen. Copy of `scraped_at` field
  first_seen_at_date: string; // First seen date (ISO format)
  first_seen_at_mc: number; // First seen at MarketCheck timestamp (Unix Seconds)
  first_seen_at_mc_date: string; // First seen at MarketCheck date (ISO format)
  first_seen_at_source: number; // First seen at source website timestamp (Unix Seconds)
  first_seen_at_source_date: string; // First seen at source website date (ISO format)
  car_location: CarLocation; // Vehicle/dealer location details
  media: Media; // Photos and media content links
  extra: Extra; // Additional features and options
  dealer: Dealer; // Dealer information
  mc_dealership: McDealership; // Enhanced dealer information from MarketCheck's new dealership system
  build: Build; // Vehicle specifications
}

interface CarLocation {
  seller_name: string; // Dealer or seller name
  street: string; // Street address
  city: string; // City name
  zip: string; // Postal/ZIP code
  county: string; // County name
  latitude: string; // Geographic latitude
  longitude: string; // Geographic longitude
}

interface Media {
  photo_links: string[]; // Array of photo URLs from dealer website
  photo_links_cached: string[]; // Array of cached photo URLs from MarketCheck
}

interface Extra {
  options: string[]; // Vehicle options list
  features: string[]; // Vehicle features list
  seller_comments: string; // Dealer/seller description text
  description_boilerplate: string; // Standardized description text
}

interface Dealer {
  id: number; // Unique dealer identifier
  website: string; // Dealer website URL
  name: string; // Dealer business name
  dealer_type: string; // Dealer classification (franchise, independent)
  dealership_group_name: string; // Parent dealership group
  street: string; // Street address
  city: string; // City name
  county: string; // County name
  country: string; // Country code
  zip: string; // Postal/ZIP code
  latitude: string; // Geographic latitude
  longitude: string; // Geographic longitude
  phone: string; // Contact phone number
  seller_email: string; // Contact email address
  postal_code: string; // Postal code
}

interface McDealership {
  mc_website_id: number; // MarketCheck website identifier
  mc_dealer_id: number; // MarketCheck dealer identifier
  mc_location_id: number; // MarketCheck location identifier
  mc_rooftop_id: number; // MarketCheck rooftop identifier
  mc_dealership_group_id: number; // MarketCheck dealership group identifier
  mc_dealership_group_name: string; // MarketCheck dealership group name
  mc_sub_dealership_group_id: number; // MarketCheck sub-dealership group identifier
  mc_sub_dealership_group_name: string; // MarketCheck sub-dealership group name
  mc_category: string; // MarketCheck seller category (Dealer, FSBO, Auction, etc.)
  website: string; // Dealer website URL
  name: string; // Dealer business name
  dealer_type: string; // Dealer classification (franchise, independent)
  street: string; // Street address
  city: string; // City name
  county: string; // County name
  country: string; // Country code
  latitude: string; // Geographic latitude
  longitude: string; // Geographic longitude
  zip: string; // Postal/ZIP code
  phone: string; // Contact phone number
  seller_email: string; // Contact email address
  postal_code: string; // Postal code
}

interface Build {
  year: number; // Model year
  make: string; // Vehicle manufacturer
  model: string; // Vehicle model
  trim: string; // Trim level
  variant: string; // Specific variant
  model_variant: string; // Vehicle model variant
  version: string; // Specific version/variant
  body_type: string; // Body style (sedan, SUV, truck, etc.)
  vehicle_type: string; // Vehicle category
  transmission: string; // Transmission type
  drivetrain: string; // Drivetrain configuration
  fuel_type: string; // Fuel type (gasoline, electric, hybrid, etc.)
  doors: number; // Number of doors
  made_in: string; // Manufacturing country
  overall_height: string; // Vehicle height
  overall_length: string; // Vehicle length
  overall_width: string; // Vehicle width
  std_seating: string; // Standard seating capacity
  highway_mpg: number; // Highway fuel economy
  city_mpg: number; // City fuel economy
  combined_mpg: number; // Combined fuel economy
  powertrain_type: string; // Powertrain classification
  performance_torque_ftlb: number; // Engine torque in foot-pounds
  performance_maxspeed_mph: number; // Maximum speed in miles per hour
  performance_torque_rpm: number; // RPM at peak torque
  performance_power_bhp: number; // Engine power in brake horsepower
  performance_power_rpm: number; // RPM at peak power
  performance_torque_nm: number; // Engine torque in Newton-meters
  performance_power_kw: number; // Engine power in kilowatts
  performance_acceleration_zero_to_60_mph: number; // 0-60 mph acceleration time in seconds
  performance_acceleration_mph: number; // Acceleration time in seconds
  performance_co2: number; // CO2 emissions in g/km
  euro_status: number; // Euro emissions standard (e.g., 6)
}

See Also