Marketplace Inventory Syndication

Retrieve dealer inventory formatted for specific marketplace platforms including Facebook Automotive Ads and Google Vehicle Ads Feed.

The Marketplace Inventory Syndication API is an extension of the Dealership Inventory Syndication API that provides dealer inventory data formatted specifically for various automotive marketplace platforms. This specialized endpoint transforms the standard dealership inventory response into marketplace-optimized formats, ensuring data structure and content compatibility with each supported platform's unique requirements and specifications.

Overview

  • Access to dealer inventory data with platform-specific formatting optimized for major automotive marketplace platforms
  • Currently supports Facebook Automotive Ads and Google Vehicle Ads Feed with future expansion planned for additional marketplaces
  • Enhanced pagination support up to 1,500 listings per request (30x higher than standard API)
  • Specialized filtering for dealer-owned inventory versus all syndicated listings, suitable for marketplace distribution
  • Returns active listings refreshed daily on or before 11 AM UTC
Integration Guidelines & Responsibilities The Marketplace Inventory Syndication API provides field mappings based on marketplace documentation and our available data fields. Please note the following important considerations:
  • Response Validation Required: API responses provide suggested field mappings and should not be uploaded directly to marketplace platforms without proper validation and review
  • Client-Side Validation: Implementation of marketplace-specific validation rules and required parameter checks are the responsibility of the integrating party
  • Data Completeness: We recommend thorough testing and validation to ensure data meets each marketplace's specific requirements before submission
  • Marketplace Upload Readiness: MarketCheck does not take responsibility for ensuring that API responses are immediately ready for marketplace upload without additional processing

Base Path

GET https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/{marketplace_name}

Supported Marketplaces:

MarketplaceParameter ValueDescription
Facebook Automotive AdsfacebookFormat optimized for Facebook's automotive advertising platform
Google Vehicle Ads Feedgoogle-va-feedFormat compatible with Google's Vehicle Ads feed requirements

The following examples demonstrate basic requests for each supported marketplace:

Facebook Automotive Ads:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/facebook',
params: {api_key: 'YOUR_API_KEY', dealer_id: '1015993', car_type: 'certified', rows: 5},
headers: {Accept: 'application/json'}
};

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

Google Vehicle Ads Feed:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/google-va-feed',
params: {api_key: 'YOUR_API_KEY', mc_website_id: '1022299', owned: true, rows: 10},
headers: {Accept: 'application/json'}
};

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

Request

The Marketplace Inventory Syndication API requires both marketplace identification and dealer identification parameters, with optional filtering and configuration parameters. This endpoint shares the same core functionality as the Dealership Inventory Syndication API, with additional marketplace-specific formatting.

Parameters

Path Parameter:

  • marketplace_name - The marketplace platform identifier for formatting the response. This parameter is case-sensitive and must be provided in the URL path.
    • Supported values: facebook or google-va-feed

Available parameters for filtering, sorting, and configuring search results:

84 Params
api_key
string required

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

append_api_key
boolean

If true, the response URLs (such as cached images & relevant links) include the api_key query parameter along with value; if false, they do not. Default — true.

base_ext_color
string

The base exterior color to filter results by (e.g. White, Black, Blue, Silver, Red). Accepts multiple colors as a comma-separated list.

base_exterior_color
string

Alias for base_ext_color. Filters by base exterior color (comma-separated list).

base_int_color
string

The base interior color to filter results by (e.g. Black, Brown, Beige, Red). Accepts multiple colors as a comma-separated list.

base_interior_color
string

Alias for base_int_color. Filters by base interior color (comma-separated list).

body_subtype
string

Filters listings by body subtype (e.g., Crew, Extended, Regular, Extended Crew). Accepts multiple values separated by commas.

body_type
string

Filters listings by body type (e.g., SUV, Pickup, Sedan, Hatchback, Convertible). Accepts multiple values separated by commas.

car_type
string

Filters listings by inventory type. Allowed values - new, used, certified.

city
string

Filters listings by city name (e.g. Los Angeles, San Francisco, Houston).

city_mpg_range
string

Filters listings by city fuel-economy mileage. Specify as min-max MPG (e.g., 20-35).

country
string

Filters listings by country code. Allowed values - us, ca, all. Default — us.

cylinders
string

Filters listings by engine cylinder count (e.g., 4, 6, 8). Accepts multiple values as a comma-separated list.

dealer_id
string

Filters listings by MarketCheck dealer ID.

dealer_name
string

Filters listings by dealer name (case-insensitive complete match, substring not supported).

dealer_type
string

Filters dealers by type. Allowed values — franchise, independent.

dealership_group_name
string

Filters listings by the name of the dealership group. Accepts multiple values as a comma-separated list.

dom_180_range
string

Filters listings by Days on Market observed over the last 180 days. Specify as min-max days (e.g., 10-50).

dom_active_range
string

Filters listings by active Days on Market (DOM). Specify as min-max days.

dom_range
string

Filters listings by total Days on Market (DOM). Specify as min-max days.

doors
string

Filters listings by number of doors (e.g., 2, 4). Accepts multiple values as comma-separated list.

dos_active_range
string

Filters listings by active Days on Site (DOS). Specify as min-max days.

drivetrain
string

Filters listings by drivetrain (FWD, RWD, 4WD). Accepts multiple values separated by commas.

engine
string

Filters listings by engine designation (e.g., 2.0L I4, 3.5L V6, 2.5L H4). Accepts multiple values as comma-separated list.

engine_aspiration
string

Filters listings by engine aspiration (Turbocharged, Naturally Aspirated, etc.). Accepts multiple values separated by commas.

engine_block
string

Filters listings by engine block layout (V, I, H). Accepts multiple values separated by commas.

engine_size
string

Filters listings by engine displacement size (e.g., 2.0, 2.5, 3.5). Accepts multiple values separated by commas.

engine_size_range
string

Filters listings by engine displacement size. Specify as min-max liters (e.g., 1.5-3.0).

exterior_color
string

Filters listings by exterior color (e.g. White, Summit White, Gun Metallic). Accepts multiple values as comma-separated list.

facet_sort
string

Sorts facet buckets. Allowed values — count (descending count, default) or index (alphabetical).

facets
string

Field name to return bucket facets for. Accepts multiple fields as a comma-separated list.

first_seen_at_mc_days
string

Filters listings by the number of days since they were first seen by MarketCheck. Specify as min-max days. Alternative of first_seen_at_mc_range.

first_seen_at_mc_range
string

Filters listings by the date they were first seen by MarketCheck. Specify as YYYYMMDD-YYYYMMDD (e.g., 20220523-20220631). Alternative of first_seen_at_mc_days.

first_seen_at_source_days
string

Filters listings by the number of days since first seen on the source site. Specify as min-max days. Alternative of first_seen_at_source_range.

first_seen_at_source_range
string

Filters listings by date first seen on the source site. Specify as YYYYMMDD-YYYYMMDD. Alternative of first_seen_at_source_days.

first_seen_days
string

Filters listings by the number of days since they were first seen in MarketCheck inventory. Specify as min-max days. Alternative of first_seen_range.

first_seen_range
string

Filters listings by the first seen date. Specify as YYYYMMDD-YYYYMMDD (e.g., 20220523-20220631). Alternative of first_seen_days.

fuel_type
string

Filters listings by fuel type (e.g., Unleaded, Diesel, Electric, Premium Unleaded, Electric / Unleaded). Accepts multiple values separated by commas.

highway_mpg_range
string

Filters listings by highway fuel-economy mileage. Specify as min-max MPG (e.g., 25-40).

in_transit
boolean

If true, returns listings marked as in transit; if false or omitted, no in-transit filter is applied.

include_non_vin_listings
boolean

If true, includes listings without a VIN; if false, such listings are excluded. Default — false.

include_relevant_links
boolean

If true, includes relevant links to other MarketCheck API endpoints in the response. Default — false.

interior_color
string

Filters listings by interior color. Accepts multiple values as comma-separated list.

last_seen_days
string

Filters listings by the number of days since last seen. Specify as min-max days. Alternative of last_seen_at_range.

last_seen_range
string

Filters listings by last seen date. Specify as YYYYMMDD-YYYYMMDD (e.g., 20220523-20220631). Alternative of last_seen_at_days.

make
string

Filters listings by vehicle make (e.g., Toyota, Ford, Mercedes-Benz). Accepts multiple values as comma-separated list.

mc_category
string

Filters listings by MarketCheck category code.

mc_dealer_id
string

Filters listings by MarketCheck dealer ID.

mc_dealership_group_id
string

Filters listings by MarketCheck dealership group ID.

mc_dealership_group_name
string

Filters listings by dealership group name.

mc_location_id
string

Filters listings by MarketCheck location ID.

mc_rooftop_id
string

Filters listings by MarketCheck rooftop ID.

mc_sub_dealership_group_id
string

Filters listings by MarketCheck sub-dealership group ID.

mc_sub_dealership_group_name
string

Filters listings by sub-dealership group name.

mc_website_id
string

Filters listings by MarketCheck website ID.

miles_range
string

Filters listings by odometer reading. Specify as min-max miles (e.g., 1000-50000).

min_photo_links
integer

Filters listings with at least the specified number of photo links (e.g. 3, 8).

min_photo_links_cached
integer

Filters listings with at least the specified number of cached photo links (e.g. 3, 8).

model
string

Filters listings by specific vehicle model (e.g., Camry). Accepts multiple values separated by commas.

msa_code
string

Filters listings by Metropolitan Statistical Area (MSA) code.

msrp_range
string

Filters listings by Manufacturer's Suggested Retail Price (MSRP). Specify as min-max USD (e.g., 20000-45000).

owned
boolean

When used with dealer_id, mc_website_id, or source, true returns listings actually owned by that dealer. Default — false.

photo_links
boolean

If true, returns only listings that contain at least one photo link. Default — false.

photo_links_cached
boolean

If true, returns only listings that contain cached photo links. Default — false.

powertrain_type
string

Filters listings by powertrain type (e.g., Combustion, BEV, HEV, MHEV, PHEV). Accepts multiple values separated by commas.

price_range
string

Filters listings by advertised price in USD. Specify as min-max (e.g., 1000-50000).

range_facets
string

Comma-separated list of numeric field names for which to return range facets in the response.

rows
integer

Number of results to return per request. Default — 1500. Maximum — 1500.

seating_capacity
string

Filters listings by seating capacity (e.g., 2, 5, 7). Accepts multiple values separated by commas.

sort_by
string

Field to sort results by. If omitted, defaults to distance when a location filter is used.

sort_order
string

Specifies result sort order. Allowed values — asc or desc. Default — asc.

source
string

Filters listings by source marketplace domain (e.g., autotrader.com, cars.com).

start
integer

Pagination offset (0-based). Default — 0. Maximum page is limited to 10,000/rows.

state
string

Filters listings by US or Canadian state/province code (e.g., CA, NY, ON). Accepts multiple codes separated by commas.

stats
string

Comma-separated list of numeric fields for which to return aggregate statistics (mean, max, min, count).

stock_no
string

Filters listings by dealer stock number.

transmission
string

Filters listings by transmission type (Automatic, Manual, etc.). Accepts multiple values separated by commas.

trim
string

Filters listings by vehicle trim (e.g., EX, Limited). Accepts multiple values separated by commas.

vehicle_type
string

Filters listings by vehicle type (Truck, Car). Accepts multiple values separated by commas.

version
string

Filters listings by vehicle version name.

vin
string

Filters listings by full 17-character Vehicle Identification Number (VIN).

year
string

Filters listings by model year (e.g., 2020). Accepts multiple years separated by commas.

year_range
string

Filters listings by model year range. Specify as min-max (e.g., 2015-2025).

zip
string

Filters listings within the specified 5-digit ZIP code.

Defaults

  • rows: Defaults to 1500 (maximum allowed)
  • owned: Defaults to false - includes all syndicated listings including non-attributed

Pagination

Marketplace Inventory Syndication API supports the same pagination capabilities as the Dealership Inventory Syndication API. API response includes num_found property indicating the total number of listings matching the search criteria.

Parameters:

  • start - Offset from which listings are returned (starts at 0)
  • rows - Number of listings per page (maximum 1,500, default 1,500)

Refer to the Dealership Inventory Syndication API pagination documentation for complete details and examples.

High pagination limits (1,500 listings) are designed for syndication workflows but can result in slower response times and larger payloads compared to standard API calls.

Sorting

The Marketplace Inventory Syndication API supports sorting results by a single numeric or date field at a time, with the same functionality as the Dealership Inventory Syndication API.

Sort Parameters:

  • sort_by - Field name to sort by
  • sort_order - Sort direction (asc or desc)

Refer to the Dealership Inventory Syndication API sorting documentation for complete field reference and examples.

Core Features & Functionality

Marketplace Inventory Syndication supports all major features from the Dealership Inventory Syndication API with identical functionality:

  • Facets - Build dynamic filters and analyze inventory distribution
  • Range Facets - Statistical distribution for numeric fields
  • Stats - Comprehensive market analytics
  • Spatial Search - Location-based discovery

Response

The base response schema for Dealership Inventory Syndication for Marketplaces follows the same structure as the Dealership Inventory Syndication API, with marketplace-specific formatting applied to individual listing fields. The response structure varies by marketplace to optimize compatibility with each platform's requirements.

Base Schema

interface MarketplaceInventoryResponse {
  num_found: number; // Total number of listings matching search criteria
  listings: FacebookListing[] | GoogleVAListing[]; // Array of marketplace-specific listings
  facets?: Facets; // Categorical facets (when facets parameter is used)
  stats?: Stats; // Statistical data (when stats parameter is used)
  range_facets?: RangeFacets; // Range-based facets (when range_facets parameter is used)
}

Facebook Automotive Ads Schema

interface FacebookListing {
  vehicle_id: string; // Facebook-optimized listing identifier
  vin: string; // Vehicle identification number
  url: string; // Direct link to vehicle listing page
  title: string; // Vehicle listing title
  year: number; // Model year
  make: string; // Vehicle manufacturer
  model: string; // Vehicle model name
  trim?: string; // Vehicle trim level
  price: string; // Price (-1 indicates no price available)
  exterior_color?: string; // Vehicle exterior color
  interior_color?: string; // Vehicle interior color
  state_of_vehicle?: string; // Vehicle state (e.g., "CPO" for Certified Pre-Owned)
  body_style?: string; // Vehicle body style
  description: string; // Detailed vehicle description
  mileage: {
    value: number; // Mileage numeric value (-1 indicates no mileage available)
    unit: string; // Mileage unit (e.g., "MI")
  };
  image: Array<{
    url: string; // Image URL
    tag: string[]; // Image tags/categories
  }>;
  vehicle_type?: string; // Vehicle type classification
  drivetrain?: string; // Drivetrain type
  fuel_type?: string; // Fuel type
  transmission?: string; // Transmission type
  availability: string; // Stock availability status
  date_first_on_lot?: string; // Date first seen on lot (ISO date)
  days_on_lot?: number; // Number of days on lot
  address?: {
    addr1: string; // Street address
    city: string; // City name
    region: string; // State/region
    country: string; // Country code
    postal_code: string; // ZIP/postal code
  };
  latitude?: string; // Geographic latitude
  longitude?: string; // Geographic longitude
  dealer_name: string; // Dealership name
  dealer_id: string; // Dealer identifier
}

Google Vehicle Ads Feed Schema

interface GoogleVAListing {
  id: string; // Google VA Feed listing identifier
  VIN: string; // Vehicle identification number (uppercase)
  link: string; // Direct link to vehicle listing page
  link_template: string; // URL template for the vehicle listing - typically identical to link field
  title: string; // Vehicle listing title
  year: number; // Model year
  brand: string; // Vehicle manufacturer/brand
  model: string; // Vehicle model name
  trim?: string; // Vehicle trim level
  price: string; // Price with currency (e.g., "34771 USD") (-1 indicates no price available)
  vehicle_msrp?: string; // MSRP with currency (e.g., "34771 USD")
  mileage: string; // Mileage with units (e.g., "45 Miles") (-1 indicates no mileage available)
  color?: string; // Vehicle color
  condition: string; // Vehicle condition (e.g., "Used", "New")
  image_link: string; // Primary image URL
  google_product_category: string; // Google product category code
  vehicle_fulfillment: string; // Fulfillment method (e.g., "in_store")
  vehicle_price_type: string; // Price type (e.g., "all_in_price")
  description: string; // Detailed vehicle description
  certified_pre-owned?: string; // Certified pre-owned status ("yes"/"no")
  body_style?: string; // Vehicle body style
  engine?: string; // Engine type (e.g., "gasoline")
  additional_image_link?: string[]; // Array of additional image URLs
  store_code?: string; // Dealer store code - MarketCheck assigns unique dealer ID value to this field
  included_destination?: string; // Destination platform identifier
}

Use Cases & Examples

Facebook Automotive Ads - Certified Inventory

  • Retrieve certified pre-owned inventory formatted for Facebook Automotive Ads
  • Use the car_type=certified parameter to filter for certified pre-owned listings only. These are subset of used vehicles
For parameters like price and mileage, a value of -1 indicates that the information is not available for that listing. Ensure to handle these cases appropriately in your application.

Example:

Here we're finding dealer certified pre-owned inventory for Facebook Automotive Ads using dealer ID:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/facebook',
params: {api_key: 'YOUR_API_KEY', dealer_id: '1015993', car_type: 'certified', rows: 5},
headers: {Accept: 'application/json'}
};

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

Google Vehicle Ads Feed - Owned Inventory

  • Retrieve physically present inventory formatted for Google Vehicle Ads Feed
  • Use the owned=true parameter to filter for dealer-attributed listings only
  • Typically includes both new and used inventory types
  • MarketCheck automatically maps dealer data to Google Vehicle Ads Feed format, including assigning unique dealer IDs to the store_code field for marketplace compatibility

Example:

Here we're finding dealer-owned inventory for Google Vehicle Ads Feed using mc_website_id:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/google-va-feed',
params: {api_key: 'YOUR_API_KEY', mc_website_id: '1022299', owned: true, rows: 10},
headers: {Accept: 'application/json'}
};

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

Facebook Automotive Ads - In-Transit Inventory

  • You can find vehicles that are currently in transit using the in_transit parameter
  • These are vehicles that have been marked as in transit by the dealer, indicating they are on their way to the dealership or another location
  • Typically, these are available in new inventory type

Example:

Here we're finding dealer in-transit inventory for Facebook Automotive Ads using dealership website domain:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/inventory/marketplaces/facebook',
params: {
api_key: 'YOUR_API_KEY',
source: 'muller-honda.com',
car_type: 'new',
in_transit: 'true',
rows: 10
},
headers: {Accept: 'application/json'}
};

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