# NHTSA VIN Decoder & Recalls (`automation-lab/nhtsa-vin-decoder`) Actor

Decode VINs and check NHTSA recalls. Get make, model, year, specs, and safety recall history for any US vehicle. Free government API.

- **URL**: https://apify.com/automation-lab/nhtsa-vin-decoder.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## NHTSA VIN Decoder & Recalls Checker

Decode Vehicle Identification Numbers (VINs) and check for NHTSA safety recalls — instantly, at scale, using the official free government API. No API key required.

### What This Actor Does

This actor connects to two official U.S. government APIs maintained by the National Highway Traffic Safety Administration (NHTSA):

1. **vPIC API** (`vpic.nhtsa.dot.gov/api`) — Decodes a 17-character VIN into full vehicle specifications: make, model, year, trim, engine, transmission, plant location, and more.
2. **Recalls API** (`api.nhtsa.gov/recalls`) — Returns all open safety recall campaigns associated with that vehicle's make, model, and year.

Supply a list of VINs, and the actor returns one structured dataset record per VIN containing both decoded specs and associated recall data. Export to JSON, CSV, or Excel.

### Who Needs This

- **Used car dealers** — Instantly vet every trade-in or auction unit for open recalls before purchase.
- **Insurance companies** — Enrich vehicle records with factory specs for accurate underwriting.
- **Fleet managers** — Monitor hundreds of vehicles for recall exposure at once.
- **Automotive researchers** — Build datasets of vehicle specifications from VIN lists.
- **Personal car buyers** — Check any used vehicle before signing.
- **Compliance teams** — Document recall status for regulatory audit trails.

### Key Benefits

- **Free source data** — NHTSA APIs are public, no subscription or API key needed.
- **Official government data** — Same database used by dealers, insurers, and regulators.
- **Bulk processing** — Decode hundreds of VINs in a single run.
- **Recall awareness** — Know immediately if a vehicle has open safety campaigns.
- **Structured output** — Clean JSON/CSV ready for Excel, databases, or downstream tools.
- **Low cost** — HTTP-only, no browser overhead; runs in 256 MB memory.

### Input

#### VINs to decode

A list of 17-character Vehicle Identification Numbers. You can find a VIN:
- On the driver-side dashboard (visible through the windshield)
- On the driver-side door jamb sticker
- On the vehicle's title or registration
- In an insurance card or loan document

Example VINs for testing:
- `1HGBH41JXMN109186` — Honda Civic
- `5YJSA1DG9DFP14705` — Tesla Model S
- `1FTFW1ET5DKD36530` — Ford F-150
- `JN1AZ4EH5FM730841` — Nissan GT-R

#### includeRecalls (default: true)

When enabled, the actor fetches all NHTSA recall campaigns for each vehicle. Recalls are looked up by make + model + model year (not by individual VIN), so the results represent all known recall campaigns for that vehicle configuration. Disable this option to decode specs only, which is faster and slightly cheaper.

#### maxRequestRetries (default: 3)

How many times to retry a failed HTTP request before skipping that VIN. The NHTSA APIs are highly reliable — the default of 3 is sufficient for almost all cases.

### Output

Each record in the dataset represents one decoded VIN:

| Field | Type | Description |
|---|---|---|
| `vin` | string | The input VIN (normalized to uppercase) |
| `make` | string | Vehicle manufacturer brand (e.g. "TOYOTA") |
| `model` | string | Model name (e.g. "Camry") |
| `modelYear` | string | Model year (e.g. "2022") |
| `trim` | string | Trim level (e.g. "LE", "Sport") |
| `bodyClass` | string | Body style (e.g. "Sedan", "Sport Utility Vehicle") |
| `driveType` | string | Drive configuration (e.g. "FWD", "AWD", "RWD") |
| `fuelType` | string | Primary fuel type (e.g. "Gasoline", "Electric") |
| `engineCylinders` | string | Number of engine cylinders |
| `engineDisplacement` | string | Engine displacement in liters |
| `transmissionStyle` | string | Transmission type (e.g. "Automatic", "Manual") |
| `plantCountry` | string | Country where the vehicle was assembled |
| `plantCity` | string | City where the vehicle was assembled |
| `manufacturer` | string | Full manufacturer legal name |
| `vehicleType` | string | Vehicle category (e.g. "PASSENGER CAR", "TRUCK") |
| `gvwr` | string | Gross Vehicle Weight Rating |
| `recalls` | array | List of NHTSA recall objects (see below) |
| `recallCount` | number | Total number of recalls found |
| `scrapedAt` | string | ISO timestamp of when the VIN was decoded |
| `error` | string | Only present if the VIN could not be fully decoded |

#### Recall Object Fields

Each item in the `recalls` array contains:

| Field | Type | Description |
|---|---|---|
| `campaignNumber` | string | NHTSA campaign identifier (e.g. "23V123000") |
| `component` | string | Vehicle component affected (e.g. "FUEL SYSTEM, GASOLINE") |
| `summary` | string | Description of the defect |
| `consequence` | string | Safety consequence if unfixed |
| `remedy` | string | What the manufacturer will do to fix it |
        | `reportDate` | string | Date NHTSA received the recall report |
| `parkIt` | boolean | NHTSA advises owners to park the vehicle immediately |
| `parkOutside` | boolean | NHTSA advises owners to park outside/away from structures |

#### Sample Output Record

```json
{
  "vin": "1HGBH41JXMN109186",
  "make": "HONDA",
  "model": "Civic",
  "modelYear": "2021",
  "trim": "LX",
  "bodyClass": "Sedan/Saloon",
  "driveType": "FWD",
  "fuelType": "Gasoline",
  "engineCylinders": "4",
  "engineDisplacement": "1.5",
  "transmissionStyle": "Continuously Variable Transmission (CVT)",
  "plantCountry": "UNITED STATES (USA)",
  "plantCity": "MARYSVILLE",
  "manufacturer": "HONDA OF AMERICA MFG., INC.",
  "vehicleType": "PASSENGER CAR",
  "gvwr": null,
  "recalls": [
    {
      "campaignNumber": "22V800000",
      "component": "ELECTRICAL SYSTEM",
      "summary": "Certain vehicles may have an electrical issue...",
      "consequence": "If the electrical system fails...",
      "remedy": "Honda will notify owners and dealers will...",
      "reportDate": "/Date(1672531200000)/",
      "parkIt": false,
      "parkOutside": false
    }
  ],
  "recallCount": 1,
  "scrapedAt": "2026-03-26T10:00:00.000Z"
}
````

### How to Use

#### Step 1: Find Your VINs

Collect the 17-character VINs you want to decode. Common sources:

- Vehicle dashboards or door jambs
- Dealer inventory export files (CSV/Excel)
- Insurance company vehicle lists
- DMV records exports

#### Step 2: Configure the Actor

1. Paste your VINs into the **VINs to decode** field (one per line).
2. Choose whether to include recall data (default: yes).
3. Click **Start**.

#### Step 3: Download Your Data

Once the run completes, use the **Export** button on the dataset page to download results as:

- **JSON** — for databases or APIs
- **CSV** — for Excel or Google Sheets
- **XLSX** — Excel format directly

### Bulk VIN Decoding

The actor processes VINs sequentially, making two API calls per VIN (decode + recalls). A typical run with 100 VINs completes in under 2 minutes. For very large batches (1,000+ VINs), consider breaking input into multiple runs of 500 each.

### Understanding the NHTSA API

#### vPIC (Vehicle Product Information Catalog)

The vPIC database contains vehicle data submitted by manufacturers to NHTSA under federal regulation. It covers virtually all vehicles sold in the United States since the 1980 VIN standardization.

The decode endpoint returns approximately 150+ data fields per VIN. This actor extracts the most useful fields, but the raw response is saved to the Key-Value store as `debug-vin-decode` for the first VIN if you need to inspect additional fields.

#### Recalls Database

The NHTSA recalls database is the authoritative record of all safety recall campaigns in the United States. Recalls are issued when a manufacturer or NHTSA determines that a vehicle model has a safety-related defect or does not comply with federal safety standards.

**Important note**: The NHTSA Recalls API searches by make/model/year, not by individual VIN. This means the actor returns all recall campaigns that apply to your vehicle's configuration. Whether a specific VIN has been remedied at a dealer is not available in this public API — that data requires the manufacturer's internal dealer service records.

### Pricing

This actor uses pay-per-event pricing:

- **Run start**: $0.001 (one-time per run)
- **Per VIN decoded**: $0.002 (FREE tier) down to $0.0005 (DIAMOND tier)

A batch of 100 VINs costs approximately $0.20 on the FREE tier. Enterprise users with DIAMOND plans pay around $0.05 for the same batch. There are no proxy costs since the NHTSA APIs are public and unauthenticated.

### Limitations

- **Recall lookup is by vehicle configuration, not by VIN**: The recall check uses make + model + year. It does not tell you if that specific vehicle's recall has already been fixed at a dealer.
- **US vehicles only**: The NHTSA database primarily covers vehicles sold in the United States. VINs for vehicles sold exclusively in other markets may decode with partial information.
- **Pre-1980 vehicles**: VIN standardization began in 1981. Older vehicles may not decode correctly.
- **Invalid VINs**: If a VIN has an invalid check digit or is malformed, NHTSA will return a decode with an error code. The actor includes this error in the output record's `error` field.

### Frequently Asked Questions

#### How do I find a car's VIN?

The VIN is located on:

- The driver's side dashboard (visible through the windshield from outside)
- The driver's side door jamb sticker
- The vehicle title and registration documents
- Insurance cards
- The engine block (for older vehicles)

#### Why might some fields be null?

NHTSA's vPIC database relies on manufacturer-submitted data. If a manufacturer did not submit certain fields for a specific model year, those fields will be missing. Null fields simply mean NHTSA does not have that data on record.

#### Why do recalls show for my make/model/year when my car was already fixed?

The NHTSA API returns all recall campaigns ever issued for that vehicle configuration. It does not track whether individual dealerships have completed the repair on specific VINs. To check if your specific VIN has been remedied, use the [NHTSA VIN recall lookup tool](https://www.nhtsa.gov/recalls).

#### Can I use this for commercial purposes?

Yes. The NHTSA APIs are published as open government data. There are no terms that prohibit commercial use. This actor simply automates calls to the same public endpoints you could call manually.

#### What happens with an invalid VIN?

The actor still attempts to decode it. NHTSA will return whatever partial information it can, plus an error code and error text. The output record will include an `error` field explaining the issue.

#### Is there a rate limit on the NHTSA API?

NHTSA does not publicly document rate limits on their vPIC or Recalls APIs. In practice, the APIs are very permissive for reasonable usage volumes. The actor adds a small delay between requests to be a good API citizen.

### Use Cases in Detail

#### Used Car Dealer Workflow

A dealer receives 50 trade-in VINs from an auction. Instead of manually looking up each one, they paste all 50 VINs into this actor. Within 2 minutes they have a spreadsheet showing year/make/model specs and any open recalls. Vehicles with serious recalls (especially "park it" advisories) can be flagged for priority attention before being listed for sale.

#### Insurance Underwriting

An insurer processes new policy applications that include VINs. The actor enriches each application with body class, vehicle type, drive configuration, and engine specs — data points used in risk scoring and premium calculation. Running this actor alongside the application pipeline eliminates manual spec lookups.

#### Fleet Safety Compliance

A fleet operator with 200 company vehicles needs to certify that all vehicles are recall-free for an annual safety audit. They export their vehicle list to VINs, run this actor, and filter for `recallCount > 0`. All flagged vehicles go on a maintenance schedule.

#### Research Dataset Building

An automotive data company is building a reference dataset of all Toyota models from 2010–2020. They collect a sample of VINs for each model year and run them through this actor to extract standardized specs from the NHTSA database, building a clean reference table.

### Technical Details

- **Runtime**: Node.js 22
- **HTTP library**: got-scraping
- **Memory**: 256 MB (sufficient for any batch size)
- **Timeout**: 300 seconds (5 minutes)
- **Proxy**: None required (public government APIs)
- **Data source**: Official NHTSA vPIC and Recalls APIs

### Data Accuracy & Currency

The NHTSA vPIC database is updated regularly by NHTSA as manufacturers submit new vehicle data. However, there may be a lag of several weeks between a vehicle's release and its full appearance in the database. For very new model years (current year or next year), some fields may be missing until NHTSA processes the manufacturer submission.

Recall data is updated in near real time as NHTSA processes new recall campaigns. A recall that was issued this week will typically appear in the API within 1–3 business days.

### Related Actors

Looking for more automotive data tools? Check out other actors in the automation-lab store:

- **Google Maps Lead Finder** — Find automotive businesses by location
- **Website Contact Finder** — Find contact info for dealer websites

# Actor input Schema

## `vins` (type: `array`):

Enter one or more 17-character Vehicle Identification Numbers (VINs). You can find a VIN on the driver-side dashboard, door jamb sticker, or vehicle title. Example: 1HGBH41JXMN109186 (Honda Civic).

## `includeRecalls` (type: `boolean`):

When enabled, the actor fetches all NHTSA safety recalls for each vehicle after decoding the VIN. Disable to get specs only (faster, lower cost).

## `maxRequestRetries` (type: `integer`):

Number of times to retry a failed HTTP request before skipping that VIN. Higher values improve reliability on slow connections.

## Actor input object example

```json
{
  "vins": [
    "5YJSA1DG9DFP14705",
    "1HGCV1F34JA800001"
  ],
  "includeRecalls": true,
  "maxRequestRetries": 3
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "vins": [
        "5YJSA1DG9DFP14705",
        "1HGCV1F34JA800001"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/nhtsa-vin-decoder").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "vins": [
        "5YJSA1DG9DFP14705",
        "1HGCV1F34JA800001",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/nhtsa-vin-decoder").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "vins": [
    "5YJSA1DG9DFP14705",
    "1HGCV1F34JA800001"
  ]
}' |
apify call automation-lab/nhtsa-vin-decoder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/nhtsa-vin-decoder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NHTSA VIN Decoder & Recalls",
        "description": "Decode VINs and check NHTSA recalls. Get make, model, year, specs, and safety recall history for any US vehicle. Free government API.",
        "version": "0.1",
        "x-build-id": "WBNd3Ziad8ujz7Bda"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~nhtsa-vin-decoder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-nhtsa-vin-decoder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/automation-lab~nhtsa-vin-decoder/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-nhtsa-vin-decoder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/automation-lab~nhtsa-vin-decoder/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-nhtsa-vin-decoder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "vins"
                ],
                "properties": {
                    "vins": {
                        "title": "🚗 VINs to decode",
                        "type": "array",
                        "description": "Enter one or more 17-character Vehicle Identification Numbers (VINs). You can find a VIN on the driver-side dashboard, door jamb sticker, or vehicle title. Example: 1HGBH41JXMN109186 (Honda Civic).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeRecalls": {
                        "title": "✅ Include recall data",
                        "type": "boolean",
                        "description": "When enabled, the actor fetches all NHTSA safety recalls for each vehicle after decoding the VIN. Disable to get specs only (faster, lower cost).",
                        "default": true
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of times to retry a failed HTTP request before skipping that VIN. Higher values improve reliability on slow connections.",
                        "default": 3
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
