Dealerships Search

Search and retrieve car dealerships in the UK with geographic and filter-based queries.

The Dealerships Search API allows you to find car dealerships across the UK using geographic coordinates, postal codes, or other filter criteria. This API provides comprehensive access to MarketCheck's enhanced dealership directory with sophisticated filtering, sorting, and analytics capabilities.

This is a new and improved system for maintaining and retrieving dealership information, replacing the older Dealers Search API. In this system, each dealership's websites, groups, multiple locations, rooftops, and other relevant data are integrated into a unified structure with UK-specific features including FCA compliance status.

To understand more about Dealership Management, refer to the Dealership Management Guide

Base Path

GET https://api.marketcheck.com/v2/dealerships/car/uk

The following example demonstrates a basic request to the UK Dealerships Search API:

request.js
import axios from 'axios';

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

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

Request

The Dealerships Search API provides extensive filtering and search capabilities for the enhanced dealership directory. You can search by geographic location, dealer identifiers, dealership groups, FCA compliance status, and various other criteria to find dealerships that match your requirements.

Parameters

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

27 Params
api_key
string required

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

city
string

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

county
string

Filters listings by county name (e.g. Greater London, Lancashire). Use instead of state. Accepts multiple counties as comma-separated values.

created_at_days
string

Filters dealerships by age in days since creation. Specify as min-max days. Alternative of created_at_range.

created_at_range
string

Filters dealerships by creation date. Specify as YYYYMMDD-YYYYMMDD. Alternative of created_at_days.

dealer_type
string

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

facets
string

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

fca_status
string

FCA authorization status for dealers. (e.g., Authorised, Appointed Representative, Registered). Accepts multiple values as a comma-separated list.

inventory_url
string

Filters dealerships with their domain (e.g., carmax.com).

latitude
float

Latitude component of the search location (decimal degrees). Used for geospatial queries along with longitude and radius parameters.

longitude
float

Longitude component of the search location (decimal degrees). Used for geospatial queries along with latitude and radius parameters.

mc_category
string

Filters listings by MarketCheck category code. Case-insensitive.

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.

postal_code
string

Filters listings within the specified postal code (e.g., M5H 2N2).

radius
integer

Search radius around the specified location in miles. Used with zip or latitude and longitude for geospatial queries.

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 — 10. Maximum — 50.

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.

start
integer

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

Pagination

Use start and rows parameters to iterate through search results efficiently.

The pagination parameters, interface and limits are similar to the Inventory Search API pagination, refer to that section for more details.

Similar to Inventory search API, the radius parameter must be greater than 0 and less than or equal to 7000 miles.

Sorting

The sort_by and sort_order parameters allow you to control the order of results. The interface of these parameters is similar to the Inventory Search API sorting, refer to that section for more details.

Default Sorting:

  • Results are sorted on mc_website_id in ascending order by default.

Sorting Options:

Following are the fields you can sort by:

Field Namesort_byData TypeDefault OrderDescription
mc_website_idmc_website_idstringascendingUnique identifier for dealership website
mc_dealer_idmc_dealer_idstringascendingUnique identifier for the dealer
mc_location_idmc_location_idstringascendingUnique identifier for dealership location
mc_rooftop_idmc_rooftop_idstringascendingUnique identifier for dealership rooftop
mc_dealership_group_idmc_dealership_group_idstringascendingUnique identifier for dealership group
mc_sub_dealership_group_idmc_sub_dealership_group_idstringascendingUnique identifier for sub dealership group
created_at_dayscreated_at_daysintegerdescendingNumber of days since dealership record was created
created_at_rangecreated_at_rangestringdescendingDate range when dealership record was created

Facets

Similar to the Inventory Search API, this API also supports facets for aggregating results based on specific fields. Use facets to get unique value counts for categorical fields and range-based counts for numeric fields.

Field Facets

Field facets return unique terms and their counts for categorical data. For example, you can get counts of dealerships by county or FCA status.

The interface and usage of facets is similar to the Inventory Search API facets, refer to that section for more details.

Available Field Facets

Field Namefacet_nameDescription
CitycityCity where the dealership is located
CountycountyCounty where the dealership is located
CountrycountryCountry of the dealership (UK)
Dealer Typedealer_typeUnique dealer types (franchise, independent)
FCA Statusfca_statusFCA compliance status of the dealership
Website IDmc_website_idUnique identifier for dealership website
Dealer IDmc_dealer_idUnique identifier for the dealer
Location IDmc_location_idUnique identifier for dealership location
Rooftop IDmc_rooftop_idUnique identifier for dealership rooftop
Categorymc_categoryDealership category (e.g., franchise, independent)
Dealership Group IDmc_dealership_group_idUnique identifier for dealership group
Dealership Group Namemc_dealership_group_nameName of the dealership group
Sub Dealership Group IDmc_sub_dealership_group_idUnique identifier for sub dealership group
Sub Dealership Group Namemc_sub_dealership_group_nameName of the sub dealership group

Use Cases & Examples

Search Dealerships Near a Location

Using spatial search with latitude and longitude coordinates you can find dealerships within a specified radius. Either latitude and longitude or postal_code can be used as the center point for the search.

Example:

Here we're searching for dealerships within a 50-mile radius of specific coordinates:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/car/uk',
params: {
api_key: 'YOUR_API_KEY',
latitude: '53.057886',
longitude: '-2.463424',
radius: '50',
rows: '2'
},
headers: {Accept: 'application/json'}
};

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

Find Dealerships by Group

Search for dealerships belonging to a specific dealership group using group identifiers or names to analyze multi-location operations.

Example:

Here we're searching for all dealerships belonging to a specific dealership group:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/car/uk',
params: {
api_key: 'YOUR_API_KEY',
mc_dealership_group_name: 'Arnold Clark Automobiles Ltd',
rows: '2'
},
headers: {Accept: 'application/json'}
};

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

Search by Website or Location ID

Find specific dealership locations using MarketCheck's unique identifiers for websites, locations, or rooftops.

Example:

Here we're searching for dealerships using specific MarketCheck identifiers:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/car/uk',
params: {
api_key: 'YOUR_API_KEY',
mc_website_id: '10038395',
mc_location_id: '1469881',
rows: '2'
},
headers: {Accept: 'application/json'}
};

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

Find Dealerships by FCA Compliance Status

Using fca_status parameter, you can filter dealerships by their Financial Conduct Authority compliance status, which is specific to UK regulatory requirements.

Example:

Here we're searching for FCA-authorized dealerships in a specific area:

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealerships/car/uk',
params: {api_key: 'YOUR_API_KEY', fca_status: 'Authorised', city: 'London', rows: '2'},
headers: {Accept: 'application/json'}
};

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

Response

The Dealerships Search API returns dealership information in JSON format.

Success Response

  • 200 OK - Returns a JSON object containing dealership search results

Error Response

Status CodeDescriptionCommon Causes
400Bad RequestInvalid parameter values
401UnauthorizedMissing/invalid API key
403ForbiddenAccess denied to resource
422Unprocessable EntityPagination limit exceeded
429Too Many RequestsRate limit exceeded
500Internal Server ErrorTemporary server issues
502Bad GatewayIssues with upstream services
503Service UnavailableAPI maintenance or downtime

Response Schema

interface DealershipsResponse {
  num_found: number; // Total number of dealerships matching search criteria
  mc_dealerships: McDealership[]; // Array of dealership objects
}

interface McDealership {
  mc_website_id: string; // Unique identifier for dealership website
  mc_dealer_id: string; // Unique identifier for the dealer
  mc_location_id: string; // Unique identifier for dealership location
  mc_rooftop_id: string; // Unique identifier for dealership rooftop
  mc_dealership_group_id?: string; // Unique identifier for dealership group
  mc_dealership_group_name?: string; // Name of the dealership group
  mc_sub_dealership_group_id?: string; // Unique identifier for sub dealership group
  mc_sub_dealership_group_name?: string; // Name of the sub dealership group
  mc_category: string; // Dealership category (franchise, independent)
  seller_name: string; // Display name of the dealership
  inventory_url: string; // URL to dealership's inventory page
  status: string; // Current status of the dealership
  dealer_type: string; // Type classification (franchise, independent)
  street: string; // Street address of the dealership
  city: string; // City where dealership is located
  country: string; // Country code (UK)
  county?: string; // County or region if available
  zip: string; // Postal code
  postal_code: string; // Postal code
  latitude: string; // Geographic latitude coordinate
  longitude: string; // Geographic longitude coordinate
  seller_phone: string; // Primary phone number
  seller_email?: string; // Email address if available
  fca_status?: string; // FCA authorization status for UK dealerships
  fca_reference_no?: string; // FCA reference number if available
  created_at: string; // Timestamp when dealership record was created
}

See Also