# 🚗 Cars.com Scraper: VIN, Price History, Dealer Data, Specs (`memo23/cars-scraper`) Actor

Scrape Cars.com vehicle listings via the mobile GraphQL API: make, model, year, trim, price, MSRP, mileage, VIN, drivetrain, transmission, engine, MPG, fuel, colors, full photo gallery, dealer, specs & features

- **URL**: https://apify.com/memo23/cars-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Automation, AI, Agents
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.90 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Cars.com Scraper 🚗

Extract vehicle listings from **Cars.com** at scale — fast, clean, and complete. Paste any
Cars.com search-results URL and get structured data for every car: pricing and **price history**,
full specifications, the **complete photo gallery**, dealer details, and **vehicle-history signals**.
Works for new, used, and certified pre-owned inventory.

#### How it works

![How the Cars.com Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-cars.png)

---

#### ✨ Why use this scraper?

- **Complete photo galleries** — every image at full resolution (often 20–50 per car), not just the cover shot.
- **Price history built in** — every price change with date and delta, so you can track drops and time the market.
- **Vehicle-history signals** — no-accident, single-owner, open-recall, clean-title flags on used cars.
- **Rich dealer data** — name, full address, rating, review count, website, and a direct link to the dealer's own page for the car.
- **Fast & resilient** — reads Cars.com's own structured data, so runs are quick and the output doesn't break when the site changes its design.
- **Re-runnable & schedulable** — stable listing IDs make change-tracking across runs easy.

---

#### 🎯 Use cases

| Audience | What they get |
|---|---|
| **Dealers & inventory analysts** | Monitor competitor inventory, pricing, and how long cars sit on the market. |
| **Car flippers & resellers** | Surface underpriced, single-owner, no-accident cars and price-drop candidates. |
| **Market researchers** | Track price trends and depreciation by make / model / region using built-in price history. |
| **Lead-gen teams** | Build dealer contact lists with ratings and websites. |
| **App & AI builders** | Power a car-shopping app, comparison tool, or AI agent with clean, photo-complete listings. |
| **Data / BI teams** | Feed a warehouse or pipeline with consistent records and stable IDs. |

---

#### 📥 Supported inputs

| Input | Example | Supported |
|---|---|---|
| Search-results URL | `https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc` | ✅ |
| Search URL with any filters | make, model, price, year, body style, mileage, color, new/used/CPO, distance | ✅ |
| Multiple URLs in one run | combine several searches | ✅ |

**Not supported:** individual vehicle-detail URLs as input (provide a search URL — the actor finds the cars), and non-cars.com URLs.

---

#### 🔄 How it works

1. You paste one or more Cars.com **search-results URLs** (with whatever filters you set on the site).
2. The actor translates each URL into a search query and **walks every results page**.
3. Listings are **de-duplicated** (one row per vehicle, with a stable ID).
4. With **Fetch full details** on, each car is enriched with its complete photo gallery, specs, features, dealer info, price history, and vehicle-history flags.
5. Every vehicle is pushed to the dataset as one clean, structured row.
6. Download as JSON / CSV / Excel, or pull via the Apify API.

---

#### ⚙️ Input parameters

| Field | Type | Description |
|---|---|---|
| **Start URLs** | array | Cars.com search-results URLs (with any filters). Required. |
| **Fetch full details** | boolean | On (default) = full gallery, specs, dealer, history per car. Off = faster, search-card fields + preview photos only. |
| **Sort override** | select | Force a sort order (price, mileage, year, newest listed, distance, best deal) or keep the one in your URL. |
| **Maximum items** | integer | Cap on total listings across all URLs. |
| **Max concurrency** | integer | How many cars to enrich in parallel. |
| **Proxy** | object | Proxy configuration (a residential proxy is recommended and used by default). |

---

#### 📊 Output overview

The dataset contains **one row per vehicle** — no padding rows. Each row is a flat, ready-to-use
object with 60+ fields: vehicle identity and pricing, the full photo gallery, specifications and
features, dealer details, price history, vehicle-history flags, and ratings. Fields a particular
listing doesn't expose come back as `null` rather than being dropped, so the shape is consistent
across every row.

---

#### 📦 Output sample

```json
{
  "source": "cars.com",
  "listingId": "33447042-1c63-4420-b8a8-8793d31ed0e5",
  "vin": "3TMLB5JN3TM265852",
  "stockNumber": "T45212",
  "stockType": "New",
  "title": "2026 Toyota Tacoma SR5",
  "year": 2026,
  "make": "Toyota",
  "model": "Tacoma",
  "trim": "SR5",
  "price": 41979,
  "msrp": 43394,
  "mileage": 0,
  "monthlyPayment": 745,
  "bodyStyle": "Truck",
  "drivetrain": "Four-wheel Drive",
  "transmission": "Automatic",
  "engine": "I-FORCE 2.4L I-4 turbo",
  "mpg": "19-24",
  "fuelType": "Gasoline",
  "exteriorColor": "Black",
  "interiorColor": "Boulder",
  "cpo": false,
  "financingType": "available",
  "category": "truck_compact",
  "noAccidents": true,
  "singleOwner": true,
  "openRecall": false,
  "cleanTitle": true,
  "vehicleHistoryReport": "autocheck",
  "consumerRating": 4.6,
  "consumerReviewCount": 14,
  "consumerRecommendPercent": 92,
  "rankScores": { "enthusiast": 5, "familyFriendly": 6, "luxury": 5, "offRoad": 6, "sporty": 3 },
  "features": ["Adaptive Cruise Control", "Heated Seats", "Apple CarPlay®", "Blind Spot Monitor"],
  "specs": { "engine": "I-FORCE 2.4L I-4 turbo", "transmission": "Automatic", "mpg": "19-24", "drivetrain": "Four-wheel Drive" },
  "priceHistory": [
    { "date": "2026-04-15", "price": 41223, "change": "Listed" },
    { "date": "2026-05-20", "price": 41979, "change": "$378" }
  ],
  "listedDate": "2026-04-15",
  "dealerName": "McGrath Elmhurst Toyota",
  "sellerType": "dealership",
  "dealerAddress": "440 West Lake Street, Elmhurst, IL 60126",
  "dealerCity": "Elmhurst",
  "dealerState": "IL",
  "dealerZip": "60126",
  "dealerRating": 4.1,
  "dealerReviewCount": 887,
  "dealerWebsite": "https://www.elmhursttoyota.com/",
  "dealerVdpUrl": "https://www.elmhursttoyota.com/inventory/new-2026-toyota-tacoma-sr5/",
  "photoCount": 32,
  "photos": [
    "https://platform.cstatic-images.com/xxlarge/in/v2/.../1.jpg",
    "https://platform.cstatic-images.com/xxlarge/in/v2/.../2.jpg"
  ],
  "url": "https://www.cars.com/vehicledetail/33447042-1c63-4420-b8a8-8793d31ed0e5/",
  "scrapedAt": "2026-06-15T04:21:54.751Z"
}
````

***

#### 🗂 Key output fields

| Group | Fields |
|---|---|
| **Vehicle** | `vin`, `stockNumber`, `stockType`, `title`, `year`, `make`, `model`, `trim`, `category`, `bodyStyle`, `drivetrain`, `transmission`, `engine`, `mpg`, `fuelType`, `exteriorColor`, `interiorColor` |
| **Pricing** | `price`, `msrp`, `monthlyPayment`, `priceHistory[]`, `listedDate`, `financingType` |
| **Photos** | `photoCount`, `photos[]` (full-resolution gallery), `primaryThumbnail` |
| **Vehicle history** | `noAccidents`, `singleOwner`, `openRecall`, `cleanTitle`, `personalUseOnly`, `vehicleHistoryReport` |
| **Dealer** | `dealerName`, `sellerType`, `dealerAddress`, `dealerCity`, `dealerState`, `dealerZip`, `dealerRating`, `dealerReviewCount`, `dealerWebsite`, `dealerVdpUrl` |
| **Ratings** | `consumerRating`, `consumerReviewCount`, `consumerRecommendPercent`, `rankScores{}` |
| **Content** | `features[]`, `specs{}` |
| **Meta** | `listingId`, `url`, `mileage`, `cpo`, `dealBadge`, `scrapedAt` |

***

#### ❓ FAQ

**Can I scrape a specific make / model / price range?**
Yes — set those filters on Cars.com, copy the URL, and paste it in. The actor reads them
automatically. Add multiple URLs to combine searches.

**Do I get every photo?**
Yes — with "Fetch full details" on, you get the complete full-resolution gallery for each car.

**New cars, used cars, or both?**
Both, plus certified pre-owned — it depends entirely on the search URL you provide.

**How do I get results faster / cheaper?**
Turn off "Fetch full details" for a lightweight run (core fields + preview photos), or raise
"Max concurrency".

**Is the dealer phone number included?**
Dealer name, address, rating, and website are included. Phone is best-effort — Cars.com uses
dynamic number insertion, so it is often not exposed as static data.

***

#### 💬 Support

Questions, a bug, or a field you need added? Email **muhameddidovic@gmail.com** or open an issue
on the actor's Apify page.

***

#### 🛠 Additional services

Need a custom scraper, a different car marketplace, or this data delivered to your database / API
on a schedule? I build bespoke scraping and data pipelines — get in touch at
**muhameddidovic@gmail.com**.

***

#### 🔎 Explore more scrapers

Looking for other marketplaces or directories? Check out my other Apify actors, or request a new
target — most directory and listing sites can be built quickly.

***

### ⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by
Cars.com or Cars Commerce, or any of their subsidiaries or affiliates. All trademarks mentioned
are the property of their respective owners.

The scraper accesses only publicly available vehicle-listing pages — no authenticated endpoints,
account-only features, or content behind a Cars.com login. Users are responsible for ensuring
their use complies with Cars.com's Terms of Service, applicable data-protection law (GDPR, CCPA,
etc.), and any contractual obligations of their own organisation.

***

### SEO Keywords

cars.com scraper, scrape cars.com, cars.com api, apify cars.com, car listings scraper, used car scraper, vehicle data api, car inventory scraper, vin scraper, dealer inventory data, car price history scraper, automotive market data, car dealership scraper, vehicle listings extractor, used car market data, car flipping data, car price tracker, autotrader alternative scraper, cargurus alternative scraper, car photos scraper

# Actor input Schema

## `startUrls` (type: `array`):

Cars.com search-results URLs, e.g. https://www.cars.com/shopping/results/?zip=60606\&maximum\_distance=50\&sort=best\_match\_desc

## `fetchDetails` (type: `boolean`):

When enabled (default), each listing's detail view is fetched for the complete photo gallery, full specs & features, dealer info, price history, and vehicle-history flags. Disable for a faster, cheaper run that returns search-card fields + a few preview photos only.

## `sort` (type: `string`):

Sort order applied to every search. Leave as 'Use sort from URL' to keep whatever sort is already in each start URL.

## `maxItems` (type: `integer`):

Hard cap on the number of listings collected across all start URLs.

## `maxConcurrency` (type: `integer`):

Maximum number of detail requests processed in parallel.

## `proxy` (type: `object`):

Proxy servers used to hide the scraper's origin. A residential proxy is recommended; the built-in proxy is used by default.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc"
  ],
  "fetchDetails": true,
  "sort": "",
  "maxItems": 1000,
  "maxConcurrency": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        "https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc"
    ],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/cars-scraper").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 = {
    "startUrls": ["https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc"],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/cars-scraper").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 '{
  "startUrls": [
    "https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc"
  ],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call memo23/cars-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=memo23/cars-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🚗 Cars.com Scraper: VIN, Price History, Dealer Data, Specs",
        "description": "Scrape Cars.com vehicle listings via the mobile GraphQL API: make, model, year, trim, price, MSRP, mileage, VIN, drivetrain, transmission, engine, MPG, fuel, colors, full photo gallery, dealer, specs & features",
        "version": "0.0",
        "x-build-id": "M7daYCOfgPfTtuayF"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~cars-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-cars-scraper",
                "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/memo23~cars-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-cars-scraper",
                "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/memo23~cars-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-cars-scraper",
                "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": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Cars.com search URLs",
                        "type": "array",
                        "description": "Cars.com search-results URLs, e.g. https://www.cars.com/shopping/results/?zip=60606&maximum_distance=50&sort=best_match_desc",
                        "items": {
                            "type": "string"
                        }
                    },
                    "fetchDetails": {
                        "title": "Fetch full details",
                        "type": "boolean",
                        "description": "When enabled (default), each listing's detail view is fetched for the complete photo gallery, full specs & features, dealer info, price history, and vehicle-history flags. Disable for a faster, cheaper run that returns search-card fields + a few preview photos only.",
                        "default": true
                    },
                    "sort": {
                        "title": "Sort override",
                        "enum": [
                            "",
                            "BEST_MATCH_DESC",
                            "LIST_PRICE",
                            "LIST_PRICE_DESC",
                            "MILEAGE",
                            "MILEAGE_DESC",
                            "YEAR_DESC",
                            "YEAR",
                            "LISTED_AT_DESC",
                            "LISTED_AT",
                            "DISTANCE",
                            "BEST_DEAL"
                        ],
                        "type": "string",
                        "description": "Sort order applied to every search. Leave as 'Use sort from URL' to keep whatever sort is already in each start URL.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Maximum items to scrape",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Hard cap on the number of listings collected across all start URLs.",
                        "default": 1000
                    },
                    "maxConcurrency": {
                        "title": "Max concurrency",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of detail requests processed in parallel.",
                        "default": 5
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy servers used to hide the scraper's origin. A residential proxy is recommended; the built-in proxy is used by default.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
