# AutoTempest Search API Documentation

Meta search over the AutoTempest sources: Cars.com (cm), Carvana (cv), CarGurus and others (ot), eBay Motors (eb), Hemmings (hem), TrueCar (te) and Cars & Bids (cs). Use make and model slugs from /makes and /models and a US ZIP or Canadian postal code. Every source is queried for the first page; data.sources shows the row count per source, including sources that have no match (count 0). Pass data.next_cursor as cursor to fetch the next page of the sources that still have rows. next_cursor is absent when every source is done. A valid search with no match returns an empty results array, which is a successful, billable response. Prices are in USD (CAD for Canadian listings); distance is in miles.

- **Documentation:** [https://scrappa.co/docs/autotempest-api/autotempest_search](https://scrappa.co/docs/autotempest-api/autotempest_search)
- **API group:** AutoTempest API
- **Endpoint:** `GET https://scrappa.co/api/autotempest/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `make` | string | Yes | Make slug from /makes, for example toyota. |
| `model` | string | No | Model slug from /models, for example camry. Omit to search every model of the make. |
| `zip` | string | Yes | US ZIP code or Canadian postal code, for example 90210. |
| `radius` | string | No | Search radius in miles: 25, 50, 100, 200, 300, 500, 1000 or any. Defaults to 50. |
| `sources` | string | No | Comma-separated source codes: te, hem, cs, cv, cm, eb, ot. Defaults to all seven. |
| `sort` | string | No | best_match, date_desc, date_asc, dist_asc, year_asc, year_desc, price_asc, price_desc, miles_asc or miles_desc. Defaults to best_match. |
| `per_page` | integer | No | Rows per source and page, 1 to 100. Defaults to 50. |
| `min_price` | integer | No | Minimum price in USD. |
| `max_price` | integer | No | Maximum price in USD. |
| `min_year` | integer | No | Oldest model year. |
| `max_year` | integer | No | Newest model year. |
| `min_miles` | integer | No | Minimum mileage. |
| `max_miles` | integer | No | Maximum mileage. |
| `drive` | string | No | 4wd, awd, fwd or rwd. |
| `fuel` | string | No | diesel, electric, flex, gas, hybrid, hydrogen or ngv. |
| `body_style` | string | No | convertible, coupe, hatchback, minivan, sedan, suv, truck, van or wagon. |
| `cursor` | string | No | The data.next_cursor value of the previous response. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/autotempest/search?make=toyota&model=camry&zip=90210&radius=50&sources=cm&per_page=10"
```

## Example response

```json
{
    "success": true,
    "data": {
        "query": {
            "make": "toyota",
            "model": "camry",
            "zip": "90210",
            "radius": 50
        },
        "sources": {
            "cm": {
                "count": 10,
                "has_more": true
            }
        },
        "results": [
            {
                "id": "cm-0ad626bc-1b4e-445c-b4bb-381e5e160511",
                "source": "cm",
                "source_name": "Cars.com",
                "title": "2026 Toyota Camry LE",
                "year": 2026,
                "make": "Toyota",
                "model": "Camry",
                "trim": "LE",
                "price": 30110,
                "currency": "USD",
                "mileage": 1239,
                "vin": "4T1DAACK2TU904894",
                "location": "Huntington Beach, CA",
                "postal_code": "92648",
                "country": "US",
                "distance_miles": 37.4,
                "seller_type": "Dealer",
                "dealer_name": "Toyota Of Huntington Beach",
                "listed_at": "2026-10-15T07:00:00Z",
                "url": "https://www.cars.com/vehicledetail/0ad626bc-1b4e-445c-b4bb-381e5e160511/",
                "title_status": "Clean"
            }
        ],
        "next_cursor": "eyJjbSI6WzEsMSwwLDAsODBdfQ"
    },
    "meta": {
        "endpoint_family": "search",
        "billable": true
    }
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 404 | Not Found | The make is unknown (models). This response is not billable. |
| 422 | Validation Error | A public parameter is invalid, or AutoTempest rejected it (for example an unknown ZIP code). This response is not billable. |
| 503 | Service Unavailable | The service could not obtain a complete result from AutoTempest. This response is not billable. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
