Dealers Search

Search through MarketCheck's UK dealer directory using various criteria like location, dealer type, FCA status, and inventory characteristics.

The Dealers Search API allows you to find car dealers in the UK based on various criteria such as geographic location, dealer type, FCA compliance status, and inventory characteristics. This API is useful for locating dealers near a specific area or filtering by business attributes.

Overview

  • MarketCheck's UK dealer directory is accessible through this API
  • These are the dealers whose inventory is monitored by MarketCheck
  • Only active dealers are made available and included in the search results
  • UK-specific features include FCA (Financial Conduct Authority) status filtering
  • This is an old system of maintaining dealer information, and it is being phased out in favor of the new Dealerships Search API
  • In this system, each dealer is typically associated with a single website, which may not reflect the reality of multi-location dealer groups in the newer system
  • As a result, dealer networks with multiple locations may not be fully represented by this API

Base Path

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

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

request.js
import axios from 'axios';

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

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

Request

The Dealers Search API provides extensive filtering and search capabilities for dealer directory information. You can search by geographic location, dealer type, FCA compliance status, inventory characteristics, and numerous other criteria to find dealers that match your requirements.

Parameters

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

19 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.

listing_count_range
string

Filters dealerships by the count of active listings. Specify as min-max.

longitude
float

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

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 by dealer_id in ascending order by default
  • For geographic searches, results are automatically sorted by distance in ascending order

Sorting Options:

Following are the fields you can sort by:

Field Namesort_byData TypeDefault OrderDescription
DistancedistNumericascApplied by default for geo spatial requests
IDidStringascUnique dealer identifier
Listing Countlisting_countNumericdescNumber of listings at the dealer
Created Atcreated_at_daysDatedescDate when the dealer 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 dealers by county or dealer type.

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
CitycityUnique cities where dealers are located
CountycountyUnique counties where dealers are located
CountrycountryUnique country codes
FCA Statusfca_statusUnique FCA compliance statuses

Range Facets

Range facets help create buckets for numeric fields.

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

Available Range Facets:

Field Namefacet_nameDescription
Listing Countlisting_countBuckets for number of listings at the dealer

Use Cases & Examples

Search Dealers Near a Location

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

Example:

Here in this example, we are searching for dealers within a 50-mile radius of specific coordinates.

request.js
import axios from 'axios';

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

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

Find Dealers Carrying Inventory Above a Certain Count

You can filter dealers based on the number of listings they have using listing_count_range parameter. This is useful for finding larger dealers with more inventory or smaller dealers with specialized offerings.

Example:

Here we are searching for dealers with inventory counts between 10 and 100, sorting based on listing count in descending order.

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/car/uk',
params: {
api_key: 'YOUR_API_KEY',
listing_count_range: '10-100',
sort_by: 'listing_count',
sort_order: 'desc',
rows: '2'
},
headers: {Accept: 'application/json'}
};

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

Check If a Dealer Exists Using Inventory URL

You can verify if a dealer exists with MarketCheck by using the inventory_url parameter. This is useful for validating dealer information or checking if a specific dealer is monitored by MarketCheck.

Example:

Here we are searching for a dealer by their inventory URL.

request.js
import axios from 'axios';

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

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

Find Dealers by FCA Compliance Status

Using fca_status parameter, you can filter dealers by their Financial Conduct Authority compliance status. This is useful for regulatory compliance checks and due diligence processes.

Example:

Here we are searching for FCA-authorized dealers in a specific area.

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/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);
}

Find Low Volume Independent Dealers

Using dealer_type parameter, you can filter dealers by their type, such as franchise or independent. This is useful for finding specific types of dealers based on your business needs.

Example:

Here we are searching for low volume independent dealers that carry less than 20 cars in inventory.

request.js
import axios from 'axios';

const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/car/uk',
params: {
api_key: 'YOUR_API_KEY',
dealer_type: 'independent',
listing_count_range: '1-20',
rows: '2'
},
headers: {Accept: 'application/json'}
};

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

Response

The Dealers Search API returns dealers information in JSON format.

Success Response

  • 200 OK - Returns a JSON object containing dealer 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 DealersResponse {
  num_found: number; // Total number of dealers matching search criteria
  dealers: Dealer[]; // Array of dealer objects
}

interface Dealer {
  id: string; // Unique dealer identifier in MarketCheck system
  seller_name: string; // Display name of the dealer
  inventory_url: string; // URL to dealer's inventory page
  data_source: string; // Source system identifier
  status: string; // Current status of the dealer (active, inactive)
  listing_count: number; // Number of vehicles currently listed by dealer
  dealer_type: string; // Type classification (franchise, independent)
  dealership_group_name?: string; // Parent dealership group name if applicable
  fca_status?: string; // FCA authorization status for UK dealers (Ex. Authorised)
  fca_reference_no?: string; // FCA reference number if available
  street: string; // Street address of the dealer
  city: string; // City where dealer 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
  created_at: string; // Timestamp when dealer record was created
}

See Also