AutoTempest APIautotempest.com ↗
Search aggregated car listings from Carvana, Cars.com, CarGurus, and eBay Motors via one API endpoint. Returns price, mileage, location, and source data.
What is the AutoTempest API?
The AutoTempest API exposes one endpoint — search_cars — that queries aggregated vehicle listings across sources including Carvana, Cars.com, CarGurus, and eBay Motors, returning up to 8 fields per listing: title, price, mileage, location, listing_date, days_on_market, url, and source. A single call covers multiple marketplaces simultaneously, with filtering by make, model, ZIP code, and radius.
curl -X GET 'https://api.parse.bot/scraper/31edfd49-b839-4e4e-8e78-e4e3cfcf9346/search_cars?zip=90210&make=toyota&sort=best_match&limit=5&model=camry&radius=100' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace autotempest-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""AutoTempest Car Search — search across Carvana, Cars.com, CarGurus, eBay Motors."""
from parse_apis.autotempest_car_search_api import AutoTempest, Sort, SearchFailed
client = AutoTempest()
# Search for Toyota Camrys near Los Angeles, sorted by best match
for listing in client.listings.search(make="toyota", model="camry", zip="90210", radius="100", sort=Sort.BEST_MATCH, limit=5):
print(listing.title, listing.price, listing.source, listing.details.vin)
# Search with lowest price first — take a single result for drill-down
cheapest = client.listings.search(make="honda", model="civic", sort=Sort.PRICE_LOW, limit=1).first()
if cheapest:
print(cheapest.title, cheapest.price, cheapest.mileage, cheapest.location)
print(cheapest.details.year, cheapest.details.make, cheapest.details.model, cheapest.details.seller_type)
# Handle errors gracefully
try:
for listing in client.listings.search(make="ford", model="mustang", zip="99999", limit=3):
print(listing.title, listing.price, listing.days_on_market)
except SearchFailed as exc:
print(f"Search failed: {exc}")
print("exercised: listings.search with Sort enum, .first() drill-down, typed error catch")
Search for car listings on AutoTempest aggregated from multiple sources including Carvana, Cars.com, CarGurus, eBay Motors, and others. Iterates across source sites and paginates within each. Returns vehicle details, pricing, mileage, location, source platform, and VIN when available. Results are deduped across platforms.
| Param | Type | Description |
|---|---|---|
| zip | string | 5-digit US ZIP code to center the search. |
| make | string | Car manufacturer in lowercase (e.g. 'toyota', 'ford', 'honda', 'bmw', 'chevrolet'). |
| sort | string | Sorting order for results. |
| limit | integer | Maximum number of listings to return. |
| model | string | Car model in lowercase (e.g. 'camry', 'mustang', 'civic', 'accord', 'f-150'). |
| radius | string | Search radius in miles from the ZIP code. |
{
"type": "object",
"fields": {
"results": "array of listing objects with title, price, mileage, location, listing_date, days_on_market, url, source, and details (make, model, year, vin, seller_type)",
"total_count": "integer total number of results returned",
"search_params": "object containing the make, model, zip, and radius used for the search"
},
"sample": {
"data": {
"results": [
{
"url": "https://www.carvana.com/vehicle/4379280?ct=1&utm_source=autotempest",
"price": "$26,098",
"title": "2025 Toyota Camry LE Sedan 4D",
"source": "Carvana",
"details": {
"vin": "4T1DAACK4SU588316",
"make": "Toyota",
"year": "2025",
"model": "Camry",
"seller_type": "Dealer"
},
"mileage": "25,226",
"location": "Ontario, CA",
"listing_date": "2026-04-29T13:58:22Z",
"days_on_market": 16
}
],
"total_count": 10,
"search_params": {
"zip": "90210",
"make": "toyota",
"model": "camry",
"radius": "100"
}
},
"status": "success"
}
}About the AutoTempest API
What the API Returns
The search_cars endpoint returns an array of listing objects, each containing title, price, mileage, location, listing_date, days_on_market, url, and source. The source field identifies which marketplace the listing originated from — such as Carvana, Cars.com, CarGurus, or eBay Motors — making it straightforward to compare the same vehicle across platforms in one response. A details sub-object exposes make and model per listing, and the response also includes total_count and a search_params echo.
Filtering and Pagination
Search scope is controlled by zip (5-digit US ZIP), radius (miles), make, and model — all optional strings. Pass make and model in lowercase (e.g. toyota, camry). Results can be capped with the limit integer parameter and ordered with sort. Omitting make and model returns mixed-inventory results across all available vehicle types within the geographic radius.
Coverage and Scope
The API aggregates listings across several major US used and new car marketplaces simultaneously. Coverage is US-based; the zip and radius parameters define a geographic center and boundary. days_on_market and listing_date fields let you identify freshly listed vehicles or filter out stale inventory programmatically. The url field links directly to the original listing on its source platform.
The AutoTempest API is a managed, monitored endpoint for autotempest.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when autotempest.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official autotempest.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor price drops on a specific make/model combination across Carvana, CarGurus, and Cars.com in one call
- Build a days-on-market alert that flags listings sitting unsold beyond a threshold
- Compare identical vehicles listed simultaneously on multiple platforms using the
sourceandurlfields - Aggregate local inventory by ZIP and radius to feed a dealership competitive analysis tool
- Track mileage-to-price ratios across a model lineup for consumer-facing vehicle valuation features
- Identify newly listed vehicles using
listing_dateto surface fresh inventory before it sells
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AutoTempest offer an official developer API?+
What does the `source` field in a listing object tell me?+
source field names the originating marketplace for each listing — for example, Carvana, Cars.com, CarGurus, or eBay Motors. Combined with the url field, it lets you link users directly to the listing on its native platform and attribute inventory to specific marketplaces in your own analytics.Does the API return VIN numbers or vehicle history data?+
search_cars endpoint returns title, price, mileage, location, listing_date, days_on_market, url, source, make, and model — no VIN or vehicle history fields are included. You can fork this API on Parse and revise it to add VIN or history data if the source exposes those fields.Is search limited to the United States?+
zip and radius parameters accept US ZIP codes, so geographic filtering is US-only. International market coverage is not currently part of this API. You can fork it on Parse and revise to add international sources if needed.Can I filter listings by price range or year?+
search_cars endpoint accepts make, model, zip, radius, sort, and limit as filters — there are no dedicated price_min, price_max, or year parameters. Post-retrieval filtering by the price field in the response is an option. You can fork this API on Parse and revise it to add price and year filter parameters.