The Dealers Search API allows you to find motorcycle dealers in the US based on various criteria such as geographic location, dealer type, and inventory characteristics. This API is useful for locating motorcycle dealers near a specific area or filtering by business attributes.
GET https://api.marketcheck.com/v2/dealers/motorcycle
The following example demonstrates a basic request to the Motorcycle Dealers Search API:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/motorcycle',
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);
}
The Dealers Search API provides extensive filtering and search capabilities for dealer directory information. You can search by geographic location, dealer type, inventory characteristics, and numerous other criteria to find dealers that match your requirements.
Available parameters for filtering, sorting, and configuring search results:
Your MarketCheck API authentication key. Required for every request, unless OAuth is used.
Filters listings by city name (e.g. Los Angeles
, San Francisco
, Houston
).
Filters dealerships by age in days since creation. Specify as min-max
days. Alternative of created_at_range
.
Filters dealerships by creation date. Specify as YYYYMMDD-YYYYMMDD
. Alternative of created_at_days
.
Filters dealers by type. Allowed values — franchise
, independent
.
Field name to return bucket facets for. Accepts multiple fields as a comma-separated list.
Filters dealerships with their domain (e.g., carmax.com
).
Latitude component of the search location (decimal degrees). Used for geospatial queries along with longitude
and radius
parameters.
Filters dealerships by the count of active listings. Specify as min-max
.
Longitude component of the search location (decimal degrees). Used for geospatial queries along with latitude
and radius
parameters.
Filters listings by country code. Allowed values - us
, ca
, all
. Default — us
.
Search radius around the specified location in miles. Used with zip
or latitude
and longitude
for geospatial queries.
Comma-separated list of numeric field names for which to return range facets in the response.
Number of results to return per request. Default — 10. Maximum — 50.
Field to sort results by. If omitted, defaults to distance when a location filter is used.
Specifies result sort order. Allowed values — asc
or desc
. Default — asc
.
Pagination offset (0-based). Default — 0. Maximum page is limited to 10,000/rows
.
Filters listings by US or Canadian state/province code (e.g., CA
, NY
, ON
). Accepts multiple codes separated by commas.
Filters listings within the specified 5-digit ZIP code.
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.
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:
Sorting Options:
Following are the fields you can sort by:
Field Name | sort_by | Data Type | Default Order | Description |
---|---|---|---|---|
Distance | dist | Numeric | asc | Applied by default for geo spatial requests |
ID | id | String | asc | Unique dealer identifier |
Listing Count | listing_count | Numeric | desc | Number of motorcycle listings at the dealer |
Created At | created_at_days | Date | desc | Date when the dealer was created |
Created At Range | created_at_range | Date Range | desc | Date range when the dealer was created |
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 return unique terms and their counts for categorical data. For example, you can get counts of dealers by state 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 Name | facet_name | Description |
---|---|---|
City | city | Unique cities where dealers are located |
State | state | Unique states where dealers are located |
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 Name | facet_name | Description |
---|---|---|
Listing Count | listing_count | Buckets for number of motorcycle listings at the dealer |
The Motorcycle Dealers Search API returns dealer information in JSON format with pagination metadata for multiple results.
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 motorcycles currently listed by dealer
dealer_type: string; // Type classification (franchise, independent)
street: string; // Street address of the dealer
city: string; // City where dealer is located
state: string; // State or province abbreviation
country: string; // Country code (US, CA)
zip: string; // ZIP 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
}
Status Code | Description | Common Causes |
---|---|---|
400 | Bad Request | Invalid parameter values |
401 | Unauthorized | Missing/invalid API key |
403 | Forbidden | Access denied to resource |
422 | Unprocessable Entity | Pagination limit exceeded |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Temporary server issues |
502 | Bad Gateway | Issues with upstream services |
503 | Service Unavailable | API maintenance or downtime |
Using spatial search with latitude and longitude coordinates you can find dealers within a specified radius. Either latitude
and longitude
or zip
code can be used as the center point for the search.
Example:
Here in this example, we are searching for dealers within a 100-mile radius of a specific latitude and longitude.
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/motorcycle',
params: {
api_key: 'YOUR_API_KEY',
latitude: 27.72844,
longitude: -97.414846,
radius: 100,
rows: 2
},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
You can filter motorcycle dealers based on the number of listings they have using listing_count_range
parameter. This is useful for finding larger dealers with more motorcycle inventory or smaller dealers with specialized offerings.
Example:
Here we are searching for motorcycle dealers with inventory counts between 10 and 100. Sorting based on listing count in descending order.
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/motorcycle',
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);
}
You can verify if a motorcycle 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 motorcycle dealer by their inventory URL.
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/motorcycle',
params: {api_key: 'YOUR_API_KEY', inventory_url: 'hallsflorida.com'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Using dealer_type
parameter, you can filter dealers by their type, such as franchise or independent. This is useful for finding specific types of motorcycle dealers based on your business needs.
Example:
Here we are searching for low volume independent motorcycle dealers that carry less than 20 motorcycles in inventory.
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/dealers/motorcycle',
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);
}