# Carfax API

> Carfax returns used-car listings, vehicle-history highlights, and open safety recalls as a workflow and API.

Carfax’s Search cars method returns used-car listings and vehicle-history highlights; enter a car make and model and a five-digit US ZIP code. Check recalls returns open safety recall details; enter a VIN or license plate, and include a US state for plate searches.

- Page: https://fous.com/tools/carfax
- Handle: `@carfax`
- Category: [Commerce](https://fous.com/tools/category/commerce)
- Source website: https://carfax.com
- Last verified: Sep 29, 2026

## Methods

### Check recalls

Operation `check_recalls`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Check a VIN or US license plate for open safety recalls reported to CARFAX, including the vehicle and recall details. A state is required for plates; details missing from CARFAX are null. Service campaigns are not included.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `state` | string | no | `"California"` | US state name or two-letter code for license plate searches, for example California or CA. |
| `vehicle` | string | yes | `"1C4SJVGJ0PS570046"` | 17-character VIN or US license plate number, for example 1C4SJVGJ0PS570046 or 7ABC123. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "vehicle"
  ],
  "properties": {
    "state": {
      "type": "string",
      "default": "",
      "examples": [
        "California"
      ],
      "description": "US state name or two-letter code for license plate searches, for example California or CA."
    },
    "vehicle": {
      "type": "string",
      "examples": [
        "1C4SJVGJ0PS570046"
      ],
      "description": "17-character VIN or US license plate number, for example 1C4SJVGJ0PS570046 or 7ABC123."
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "vehicle": "1HGCM82633A004352"
    },
    {
      "vehicle": "1C4SJVGJ0PS570046"
    },
    {
      "state": "California",
      "vehicle": "7ABC123"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `vin` | string | `"1HGCM82633A004352"` | Vehicle identification number. |
| `make` | string | `"HONDA"` | Vehicle make. |
| `year` | integer | `2003` | Model year. |
| `model` | string | `"ACCORD EX V-6"` | Vehicle model and trim as reported by CARFAX. |
| `recalls` | array |  | Open safety recalls (not service campaigns). |
| `recalls[].title` | string or null | `"2022-2026 MY Jeep Wagoneer and Grand Wagoneer (WS)"` | Recall title or affected component. |
| `recalls[].remedy` | string or null | `"FCA US will conduct a voluntary safety recall to repair the pivot joints on the roof crossbars."` | Repair or remedy information. |
| `recalls[].page_link` | string | `"https://www.carfax.com/recalls"` | CARFAX recall check page for this vehicle; enter the VIN to see current details. |
| `recalls[].description` | string or null | `"FCA US will conduct a voluntary safety recall to repair the pivot joints on the roof crossbars."` | What is being recalled. |
| `recalls[].safety_risk` | string or null | `"Crossbars which detach from a vehicle may create a road hazard to operators and occupants of other vehicles, and can ca` | Safety risk described for the recall. |
| `recalls[].date_announced` | string or null | `"2026-09-17"` | Date shown by CARFAX in YYYY-MM-DD format. |
| `recalls[].government_recall_number` | string or null | `"26V-584"` | NHTSA campaign number, when given. |
| `open_recall_count` | integer | `0` | Number of open safety recalls reported to CARFAX. |

**Example input**

```json
{
  "vehicle": "1HGCM82633A004352"
}
```

**Example output**

```json
{
  "vin": "1HGCM82633A004352",
  "make": "HONDA",
  "year": 2003,
  "model": "ACCORD EX V-6",
  "recalls": [],
  "open_recall_count": 0
}
```

### Search cars

Operation `search_cars`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Search used cars near a US ZIP code in CARFAX order, with listing details and free vehicle-history highlights. Paid full history reports are not included.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `car` | string | yes | `"Honda Accord"` | Car make and model, such as Honda Accord. |
| `zip_code` | string | yes | `"20001"` | Five-digit US ZIP code, such as 20001. |
| `max_price` | number | no | `20000` | Highest listing price in US dollars, such as 20000. Leave blank for any price. |
| `max_results` | integer | no | `25` | Maximum number of listings, such as 25. |
| `radius_miles` | integer | no | `50` | Search radius in miles, such as 50. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "car",
    "zip_code"
  ],
  "properties": {
    "car": {
      "type": "string",
      "examples": [
        "Honda Accord"
      ],
      "description": "Car make and model, such as Honda Accord."
    },
    "zip_code": {
      "type": "string",
      "pattern": "^[0-9]{5}$",
      "examples": [
        "20001"
      ],
      "description": "Five-digit US ZIP code, such as 20001."
    },
    "max_price": {
      "type": "number",
      "minimum": 0,
      "examples": [
        20000
      ],
      "description": "Highest listing price in US dollars, such as 20000. Leave blank for any price."
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 100,
      "minimum": 1,
      "examples": [
        25
      ],
      "description": "Maximum number of listings, such as 25."
    },
    "radius_miles": {
      "type": "integer",
      "default": 50,
      "maximum": 500,
      "minimum": 1,
      "examples": [
        50
      ],
      "description": "Search radius in miles, such as 50."
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "car": "Toyota Camry",
      "zip_code": "90210",
      "max_price": 20000,
      "max_results": 27,
      "radius_miles": 25
    },
    {
      "car": "Honda Accord",
      "zip_code": "20001"
    },
    {
      "car": "Honda Accord",
      "zip_code": "20001",
      "max_price": 1,
      "max_results": 5
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `listings` | array |  | Used cars in CARFAX search order. |
| `listings[].vin` | string or null | `"4T1B11HK1JU611310"` | Vehicle identification number. |
| `listings[].make` | string or null | `"Toyota"` | Car make. |
| `listings[].trim` | string or null | `"LE"` | Car trim. |
| `listings[].year` | integer or null | `2018` | Model year. |
| `listings[].model` | string or null | `"Camry"` | Car model. |
| `listings[].price` | number or null | `16830` | Listing price in US dollars. |
| `listings[].mileage` | integer or null | `81020` | Odometer mileage in miles. |
| `listings[].currency` | string | `"USD"` | Price currency code. |
| `listings[].photo_link` | string or null | `"https://carfax-img.vast.com/carfax/v2/-1983570008698335165/1/640x480"` | First vehicle photo link. |
| `listings[].dealer_name` | string or null | `"Simi Valley Toyota"` | Seller dealership. |
| `listings[].vehicle_use` | string or null | `"Personal Use"` | CARFAX use label such as Personal Use or Fleet. |
| `listings[].listing_link` | string | `"https://www.carfax.com/vehicle/4T1B11HK1JU611310"` | CARFAX listing page. |
| `listings[].distance_miles` | number or null | `24.2` | Distance to dealer in miles. |
| `listings[].dealer_location` | string or null | `"Simi Valley, CA"` | Dealer city and state. |
| `listings[].previous_owners` | integer or null | `1` | Number of previous owners shown by CARFAX. |
| `listings[].accidents_reported` | string or null | `"No Accident or Damage Reported"` | CARFAX accident or damage history highlight. |
| `listings[].service_records_count` | integer or null | `16` | Number of service records shown by CARFAX. |

**Example input**

```json
{
  "car": "Toyota Camry",
  "zip_code": "90210",
  "max_price": 20000,
  "max_results": 27,
  "radius_miles": 25
}
```

**Example output**

```json
{
  "listings": [
    {
      "vin": "4T1B11HK1JU611310",
      "make": "Toyota",
      "trim": "LE",
      "year": 2018,
      "model": "Camry",
      "price": 16830,
      "mileage": 81020,
      "currency": "USD",
      "photo_link": "https://carfax-img.vast.com/carfax/v2/-1983570008698335165/1/640x480",
      "dealer_name": "Simi Valley Toyota",
      "vehicle_use": "Personal Use",
      "listing_link": "https://www.carfax.com/vehicle/4T1B11HK1JU611310",
      "distance_miles": 24.2,
      "dealer_location": "Simi Valley, CA",
      "previous_owners": 1,
      "accidents_reported": "No Accident or Damage Reported",
      "service_records_count": 16
    },
    {
      "vin": "4T1G31AK1LU012890",
      "make": "Toyota",
      "trim": "SE",
      "year": 2020,
      "model": "Camry",
      "price": 14115,
      "mileage": 164395,
      "currency": "USD",
      "photo_link": "https://carfax-img.vast.com/carfax/v2/668014494404376799/1/640x480",
      "dealer_name": "Carwin Motors",
      "vehicle_use": "Personal Use",
      "listing_link": "https://www.carfax.com/vehicle/4T1G31AK1LU012890",
      "distance_miles": 6.4,
      "dealer_location": "North Hollywood, CA",
      "previous_owners": 1,
      "accidents_reported": "Minor Damage",
      "service_records_count": 18
    },
    {
      "vin": "4T1T11AKXRU207108",
      "make": "Toyota",
      "trim": "SE",
      "year": 2024,
      "model": "Camry",
      "price": 15084,
      "mileage": 163513,
      "currency": "USD",
      "photo_link": "https://carfax-img.vast.com/carfax/v2/-4465357645389425755/1/640x480",
      "dealer_name": "Simi Valley Toyota",
      "vehicle_use": "Personal Use",
      "listing_link": "https://www.carfax.com/vehicle/4T1T11AKXRU207108",
      "distance_miles": 24.2,
      "dealer_location": "Simi Valley, CA",
      "previous_owners": 1,
      "accidents_reported": "No Accident or Damage Reported",
      "service_records_count": 18
    }
  ]
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@carfax",
  "visibility": "public",
  "operation": "check_recalls",
  "version": 1,
  "input": {
    "vehicle": "1HGCM82633A004352"
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@carfax\",\n  \"visibility\": \"public\",\n  \"operation\": \"check_recalls\",\n  \"version\": 1,\n  \"input\": {\n    \"vehicle\": \"1HGCM82633A004352\"\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@carfax",
  "visibility": "public",
  "operation": "check_recalls",
  "version": 1,
  "input": {
    "vehicle": "1HGCM82633A004352"
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/carfax`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `check_recalls`: Check recalls. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_cars`: Search cars. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-carfax https://api.fous.com/mcp/tools/carfax --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare used-car listings near a ZIP code
- Find listings within a price range and search radius
- Review reported owners, accidents, and service records
- Check a vehicle for open safety recalls
- Look up recalls using a license plate and state

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Carfax tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Carfax account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from carfax.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What used cars are listed near a ZIP code?

Search cars returns used-car listings near a five-digit US ZIP code for the make and model you enter.

### What vehicle-history highlights are shown for a listing?

Search cars returns highlights including previous owners, reported accidents or damage, and service record counts.

### Does a vehicle have open safety recalls?

Check recalls looks up open safety recalls using a 17-character VIN or US license plate. A US state is required for plate searches.

## Related

- [Cars.com API](https://fous.com/tools/cars-com.md): Cars.com finds car listings by make, model, and U.S. ZIP code, and provides dealerships’ latest customer reviews when available.
- [CarGurus API](https://fous.com/tools/cargurus.md): CarGurus helps shoppers browse dealer-listed new and used cars with deal ratings, and view average used prices, price ranges and 12-month price history by model year.
- [Autotrader API](https://fous.com/tools/autotrader.md): Search new, used and certified cars for sale across the United States.
- [CarMax API](https://fous.com/tools/carmax.md): Search public CarMax used-car listings.
- [Carvana API](https://fous.com/tools/carvana.md): Search used vehicles for sale on Carvana.
- [NHTSA API](https://fous.com/tools/nhtsa.md): NHTSA provides vehicle details, model-level recalls, 5-Star Safety Ratings, owner complaints, and listed car, SUV, and truck models; data may be missing, and recalls do not confirm repairs.
- [Tesla API](https://fous.com/tools/tesla.md): Tesla offers new and certified pre-owned vehicles across the United States and nearby open Supercharger sites, with delivery estimates and opening hours only when available.
- [OfferUp API](https://fous.com/tools/offerup.md): Local marketplace for buying and selling items.
- [All Commerce tools](https://fous.com/tools/category/commerce)
