The Private Party Search API provides access to private party (For Sale By Owner) automotive listings across the United States and Canadian markets. MarketCheck aggregates current FSBO inventory data from numerous marketplace platforms, delivering access to over 80,000 active listings nationwide.
This endpoint shares the same interface and functionality as the Inventory Search API, allowing you to search, filter, and analyze private party vehicle listings with extensive capabilities.
Key Differences from Inventory Search API:
seller_type
is always fsbo
GET https://api.marketcheck.com/v2/search/car/fsbo/active
The following example demonstrates a basic search request with common parameters:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {api_key: 'YOUR_API_KEY', year: '2024', make: 'ford', model: 'f-150', rows: '2'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Explore the full range of parameters available for filtering, sorting, and configuring search results in the Request section below.
The Private Party Search API provides extensive filtering and search capabilities for private party automotive listings. You can search by vehicle specifications, geographic location, pricing ranges, and numerous other criteria to find the exact FSBO vehicles you need.
All filtering, sorting, analytics, and pagination capabilities match those in the Inventory Search API, providing a consistent interface across both dealer and private party listings.
Available parameters for filtering, sorting, and configuring search results:
Your MarketCheck API authentication key. Required for every request, unless OAuth is used.
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
.
The base exterior color to filter results by (e.g. White, Black, Blue, Silver, Red). Accepts multiple colors as a comma-separated list.
The base interior color to filter results by (e.g. Black, Brown, Beige, Red). Accepts multiple colors as a comma-separated list.
Filters listings by body subtype (e.g., Crew, Extended, Regular, Extended Crew). Accepts multiple values separated by commas.
Filters listings by body type (e.g., SUV, Pickup, Sedan, Hatchback, Convertible). Accepts multiple values separated by commas.
Filters listings by inventory type. Allowed values - new
, used
, certified
.
If true
, returns only vehicles with a single previous owner; if false
or omitted, no ownership filter is applied. Default — false.
If true
, returns only vehicles with a clean title history; if false
or omitted, no title filter is applied. Default — false.
Filters listings by city name (e.g. Los Angeles
, San Francisco
, Houston
).
Filters listings by city fuel-economy mileage. Specify as min-max
MPG (e.g., 20-35
).
Filters listings by country code. Allowed values - us
, ca
, all
. Default — us
.
Filters listings by engine cylinder count (e.g., 4
, 6
, 8
). Accepts multiple values as a comma-separated list.
If true
, returns only is_searchable
listings irrespective of dealer_id
, mc_website_id
, or source
. Default — false. See nodedup
for the opposite behavior.
Filters listings by Days on Market observed over the last 180 days. Specify as min-max
days (e.g., 10-50
).
Filters listings by active Days on Market (DOM). Specify as min-max
days.
Filters listings by total Days on Market (DOM). Specify as min-max
days.
Filters listings by number of doors (e.g., 2
, 4
). Accepts multiple values as comma-separated list.
Filters listings by active Days on Site (DOS). Specify as min-max
days.
Filters listings by drivetrain (FWD
, RWD
, 4WD
). Accepts multiple values separated by commas.
Filters listings by engine designation (e.g., 2.0L I4
, 3.5L V6
, 2.5L H4
). Accepts multiple values as comma-separated list.
Filters listings by engine aspiration (Turbocharged
, Naturally Aspirated
, etc.). Accepts multiple values separated by commas.
Filters listings by engine block layout (V
, I
, H
). Accepts multiple values separated by commas.
Filters listings by engine displacement size (e.g., 2.0
, 2.5
, 3.5
). Accepts multiple values separated by commas.
Filters listings by engine displacement size. Specify as min-max
liters (e.g., 1.5-3.0
).
If true
, excludes certified-pre-owned vehicles from results. Default — false. See car_type
parameter for filtering by inventory type for certified vehicles.
Excludes results from the specified dealer IDs. Accepts multiple values as a comma-separated list.
Excludes listings that contain any of the specified High-Value Features (HVFs). Accepts comma-separated HVFs.
Excludes the specified makes. Accepts multiple values as a comma-separated list.
Excludes results from the specified MarketCheck website IDs. Accepts multiple values as comma-separated list.
Excludes listings containing the specified Options Packages (OPs). Accepts multiple values as comma-separated list.
Excludes listings from the specified sources (e.g., autonation.com
, carmax.com
). Accepts multiple values as comma-separated list.
Filters listings by exterior color (e.g. White
, Summit White
, Gun Metallic
). Accepts multiple values as comma-separated list.
Sorts facet buckets. Allowed values — count
(descending count, default) or index
(alphabetical).
Field name to return bucket facets for. Accepts multiple fields as a comma-separated list.
Filters listings by finance down-payment amount in USD. Specify a single value or a min-max
range.
Filters listings by finance down-payment percentage. Specify a single value or min-max
.
Filters listings by finance Estimated Monthly Payment (EMP) in USD. Specify a single value or min-max
.
Filters listings by finance loan APR. Specify a single value or min-max
.
Filters listings by finance loan term in months. Specify a single value or min-max
months.
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
.
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
.
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
.
Filters listings by date first seen on the source site. Specify as YYYYMMDD-YYYYMMDD
. Alternative of first_seen_at_source_days
.
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
.
Filters listings by the first seen date. Specify as YYYYMMDD-YYYYMMDD
(e.g., 20220523-20220631
). Alternative of first_seen_days
.
Filters listings by fuel type (e.g., Unleaded
, Diesel
, Electric
, Premium Unleaded
, Electric / Unleaded
). Accepts multiple values separated by commas.
Filters listings that include all specified High-Value Features (HVFs). Provide HVFs as a comma-separated list.
Filters listings by highway fuel-economy mileage. Specify as min-max
MPG (e.g., 25-40
).
If true
, returns listings marked as in transit; if false
or omitted, no in-transit filter is applied.
If true
, only listings with finance offers are returned. Default — false.
If true
, only listings with lease offers are returned. Default — false.
If true
, includes listings without a VIN; if false
, such listings are excluded. Default — false.
If true
, includes relevant links to other MarketCheck API endpoints in the response. Default — false.
Filters listings by interior color. Accepts multiple values as comma-separated list.
Filters dealers by total listing count. Specify as min-max
listings (e.g., 10-100
).
Filters listings by the number of days since last seen. Specify as min-max
days. Alternative of last_seen_at_range
.
Filters listings by last seen date. Specify as YYYYMMDD-YYYYMMDD
(e.g., 20220523-20220631
). Alternative of last_seen_at_days
.
Latitude component of the search location (decimal degrees). Used for geospatial queries along with longitude
and radius
parameters.
Filters listings by lease down-payment amount in USD. Specify a single value or min-max
.
Filters listings by lease Estimated Monthly Payment (EMP) in USD. Specify a single value or min-max
.
Filters listings by lease term length in months. Specify a single value or min-max
.
Longitude component of the search location (decimal degrees). Used for geospatial queries along with latitude
and radius
parameters.
Filters listings by vehicle make (e.g., Toyota
, Ford
, Mercedes-Benz
). Accepts multiple values as comma-separated list.
Comma-separated list of field names for exact matching in combination with vins
. Allowed values — year,make,model
or year,make,model,trim
.
Filters listings by odometer reading. Specify as min-max
miles (e.g., 1000-50000
).
Filters listings with at least the specified number of photo links (e.g. 3
, 8
).
Filters listings with at least the specified number of cached photo links (e.g. 3
, 8
).
Make-Model composite string from the auto-complete API. Pass the value exactly as returned (e.g., toyota|camry
).
Filters listings by specific vehicle model (e.g., Camry
). Accepts multiple values separated by commas.
Filters listings by Metropolitan Statistical Area (MSA) code.
Filters listings by Manufacturer's Suggested Retail Price (MSRP). Specify as min-max
USD (e.g., 20000-45000
).
If true
, returns all duplicate listings for a VIN; if false
(default), duplicate listings are removed. This is the opposite of dedup
.
Filters listings by Options Packages (OPs). Provide a comma-separated list; results include listings containing all specified OPs.
When used with dealer_id
, mc_website_id
, or source
, true
returns listings actually owned by that dealer. Default — false.
If true
, returns only listings that contain at least one photo link. Default — false.
If true
, returns only listings that contain cached photo links. Default — false.
If true
, returns up to 1000 listings for plotting instead of full listing details.
Filters listings by powertrain type (e.g., Combustion
, BEV
, HEV
, MHEV
, PHEV
). Accepts multiple values separated by commas.
Filters listings by positive or negative price-change flag (e.g., positive
, negative
). Accepts multiple comma-separated values.
Filters listings by the price change in USD. Since price changes can be positive or negative, specify as min|max
(e.g., -5000|1000
). This is a range filter.
Filters listings by advertised price in USD. Specify as min-max
(e.g., 1000-50000
).
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.
Filters listings by seating capacity (e.g., 2
, 5
, 7
). Accepts multiple values separated by commas.
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.
Comma-separated list of numeric fields for which to return aggregate statistics (mean, max, min, count).
Filters listings by dealer stock number.
Comma-separated list of 10-character “squish” VINs (first 8 + 10th & 11th chars). Filters listings by build.
Filters listings by transmission type (Automatic
, Manual
, etc.). Accepts multiple values separated by commas.
Filters listings by vehicle trim (e.g., EX
, Limited
). Accepts multiple values separated by commas.
Filters listings by Vehicle Detail Page (VDP) URL match.
Filters listings by vehicle type (Truck
, Car
). Accepts multiple values separated by commas.
Filters listings by vehicle version name.
Filters listings by full 17-character Vehicle Identification Number (VIN).
The VINs to find similar cars around. Accepts a comma-separated list of VINs. Used in conjunction with the match
parameter always. Similar parameters are ymmt
and taxonomy_vins
.
Filters listings by model year (e.g., 2020
). Accepts multiple years separated by commas.
Filters listings by model year range. Specify as min-max
(e.g., 2015-2025
).
Year-Make-Model composite string from auto-completion (e.g., 2019|Toyota|Camry
).
Year-Make-Model-Trim composite string(s). Each combo uses pipe separators and combinations can be comma-separated. For example, 2019|Toyota|Camry|LE,2020|Honda|Civic|EX
. Useful for finding multiple groups of similar cars. Alternatively, you can use vins
or taxonomy_vins
for VIN-based queries.
Filters listings within the specified 5-digit ZIP code.
us
for United States market
country=ca
in each callcountry=all
true
- only unique listings per VIN are returned, removing duplicates from the dataset
nodedup=true
to include all listings, even duplicatesPrivate Party Search API supports the same pagination capabilities as the Inventory Search 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 50, default 10)Refer to the Inventory Search API pagination documentation for complete details and examples.
The Private Party Search API supports sorting results by a single numeric or date field at a time, with the same functionality as the Inventory Search API.
Sort Parameters:
sort_by
- Field name to sort bysort_order
- Sort direction (asc
or desc
)Refer to the Inventory Search API sorting documentation for complete field reference and examples.
Private Party Search supports all major features from the Inventory Search API with identical functionality:
The response schema for Private Party Search is identical to the Inventory Search API, providing a consistent structure for results. Refer to the Inventory Search API response schema for complete field definitions and examples.
To find single-owner vehicles, you can use the carfax_1_owner
parameter set to true
. This will filter results to only include cars that have had one previous owner according to Carfax data.
Example:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {api_key: 'YOUR_API_KEY', carfax_1_owner: 'true', rows: '2'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
min_photo_links
parameter to ensure listings have a minimum number of photos.min_photo_links_cached
to filter for listings with cached photos.min_photo_links
to 5
to filter for listings with at least 5 photos.Example:
Here we're filtering for listings with at least 5 photos:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {api_key: 'YOUR_API_KEY', min_photo_links: '5', rows: '2'},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
If you have a specific car with a VIN and want to find similar vehicles in the private party market, you can use the vins
and match
parameters.
The interface and implementation are identical to the Inventory Search API, refer to the Inventory Search API examples for more details.
Example:
Here we're searching for similar cars to a specific VIN matching on year, make, model, and trim:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {
api_key: 'YOUR_API_KEY',
vins: '2HKRW1H54LH416961',
match: 'year,make,model,trim',
rows: '2'
},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
To compare price statistics of private party listings with dealer inventory, you can use the stats
parameter to retrieve aggregated data.
This allows you to analyze how private party prices stack up against similar dealer listings.
Example:
Here we're retrieving price statistics for private party listings similar to a specific VIN:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {
api_key: 'YOUR_API_KEY',
vins: '2HKRW1H54LH416961',
match: 'year,make,model,trim',
rows: '0',
stats: 'price'
},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
To filter for newer listings that have been added to the marketplace recently, you can use the dos_active_range
parameter. This allows you to specify a range of days since the listing was first seen.
Example:
Here we're filtering for listings that have been active in the last 10 days:
import axios from 'axios';
const options = {
method: 'GET',
url: 'https://api.marketcheck.com/v2/search/car/fsbo/active',
params: {
api_key: 'YOUR_API_KEY',
dos_active_range: '0-10',
rows: '2',
sort: 'dos_active',
sort_order: 'asc'
},
headers: {Accept: 'application/json'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
Inventory Search
Search active dealer listings currently for sale in US and Canadian markets with comprehensive filtering, sorting, analytics, and geographic targeting capabilities.
Auction Search
Search nationwide auction listings with comprehensive filtering, sorting, analytics, and geographic targeting capabilities.