# Cars.com Scraper — US Used & New Listings, VIN & Prices (`crawloop/cars-com-scraper`) Actor

Scrape Cars.com used, new, and CPO listings across the US. Extract VIN, price, deal rating, mileage, dealer, and photos. Search by URL, make/model/ZIP, VIN, or dealer; monitor new ads and price drops.

- **URL**: https://apify.com/crawloop/cars-com-scraper.md
- **Developed by:** [Andrej Kiva](https://apify.com/crawloop) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.69 / 1,000 listings

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 — US Used & New Listings, VIN & Prices

> **Disclaimer:** This is an unofficial integration developed independently. It is not affiliated with, sponsored by, or endorsed by Cars.com, Inc. or any of its subsidiaries.
>
> **Cars.com** and related names are trademarks of their respective owners. Data is read from publicly accessible vehicle listings. No Cars.com account login is required.
>
> This Actor is provided **for informational, research, and price monitoring purposes only**. You are solely responsible for complying with applicable laws, Cars.com's terms of use, and your organization's policies.

**Cars.com scraper** for the largest US new / used / CPO inventory marketplace. Scrape Cars.com search results and listing pages into JSON/CSV via Apify — **VIN, price, deal rating, mileage, dealer, and photos**. Search by a copied `/shopping/results/` URL, by **make / model / ZIP**, by **VIN**, or by dealer ID. Optional **monitor mode** emits only new ads and price changes. Fast HTTP path (no headless browser) with US residential proxy for Akamai. Use as a **Cars.com API alternative** from **Python**, **Node.js**, cURL, or **MCP** / AI assistants.

**Best for:** US used-car price research, dealer inventory monitoring, VIN lookup, and automotive market analytics.

> **Crawloop vehicle suite** — US retail, EU retail, and salvage.

| Cars.com | AutoScout24 | Mobile.de | Copart | IAAI |
| :--- | :--- | :--- | :--- | :--- |
| **Cars.com Scraper** ◄── you are here | [AutoScout24 Scraper](https://apify.com/crawloop/autoscout24-scraper) | [Mobile.de Scraper](https://apify.com/crawloop/mobile-de-scraper) | [Copart Scraper](https://apify.com/crawloop/copart-scraper) | [IAAI Scraper](https://apify.com/crawloop/iaai-scraper) |

### When to use this Actor

- **Used-car price intelligence** — Build valuation datasets with prices, Cars.com deal ratings, mileage, and VINs by make/model/ZIP.
- **Dealer inventory monitoring** — Paste a search URL or set `dealerId`, then enable `monitorMode` for new ads and price drops.
- **Exact browser-filter replication** — Apply filters on Cars.com, copy the `/shopping/results/` URL, paste into Start URLs.
- **VIN lookup** — Pass one or more 17-character VINs and get the matching public listing.
- **Lead generation for dealers** — Export dealer name, rating, city, ZIP, and customer ID (no personal phones; Cars.com uses dynamic number insertion).

### When not to use this Actor

- **Dealer phone harvesting** — Cars.com serves phones via dynamic number insertion. This Actor does not scrape dealer websites for published numbers.
- **Member-only / lead-form data** — No login, financing applications, or “Contact dealer” submissions.
- **EU retail cars** — Use [AutoScout24 Scraper](https://apify.com/crawloop/autoscout24-scraper) or [Mobile.de Scraper](https://apify.com/crawloop/mobile-de-scraper). Salvage auctions: [Copart Scraper](https://apify.com/crawloop/copart-scraper) then [IAAI Scraper](https://apify.com/crawloop/iaai-scraper).

### Key features

- **URL + filter + VIN modes** — Paste search or listing URLs, or build a search from make, model, ZIP, radius, year, price, mileage, body, fuel, and deal rating.
- **Deal rating** — Cars.com’s own badge (`Great Deal`, `Good Deal`, `Fair Deal`, …) plus signed dollar delta vs local market average.
- **Flat numeric schema** — `price`, `mileage`, `vin`, `dealDeltaUsd`, `dealerZip` — ready for CSV and BI tools. No nested analytics dumps.
- **Shippable vs in-radius** — Optional drop of out-of-radius nationwide-shippable cards (`includeShippable`).
- **~10k cap splitting** — When a search reports the site’s ~10,000 result ceiling, the Actor splits by year or price band.
- **Monitor mode** — Key-Value store baseline; later runs emit only **new** listings or **price changes**.
- **Lightweight HTTP** — `curl_cffi` Chrome TLS impersonation; 128–512 MB RAM; no Playwright.
- **Akamai-safe URLs** — `sort=best_deal`, `page_size`, and `maximum_distance=all` are stripped so residential fetches are not 403’d.

### Input

| Parameter | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `startUrls` | Array | `[]` | Search (`/shopping/results/`) or listing (`/vehicledetail/{id}/`) URLs. |
| `make` / `model` / `trim` | String | — | Brand and model used when Start URLs are empty. |
| `zip` | String | — | US 5-digit ZIP for radius search. |
| `searchRadius` | String | `50` | 10 / 25 / 50 / 75 / 100 / 200 / 500 miles (not `all`). |
| `stockType` | String | `used` | `used`, `new`, `cpo`, or `all` (three searches, de-duped). |
| `minYear` / `maxYear` | Integer | — | Model-year range. |
| `minPrice` / `maxPrice` | Integer | — | Price band in USD. |
| `maxMileage` | Integer | — | Maximum miles. |
| `bodyStyle` / `fuelType` / `transmission` / `drivetrain` | String | `all` | Vehicle filters. |
| `dealRating` | String | `all` | Keep Great / Good / Fair Deal only. |
| `includeShippable` | Boolean | `true` | Keep out-of-radius shippable cards. |
| `vins` | Array | `[]` | 17-character VIN lookup. |
| `dealerId` | String | — | Restrict to one dealer’s inventory. |
| `keyword` | String | — | Free-text search. |
| `sortBy` | String | `relevance` | Best match, price, mileage, newest, year, distance. |
| `maxItems` | Integer | `100` | Cap per run. |
| `scrapeDetails` | Boolean | `false` | Fetch each VDP for extra gallery/specs. Search cards already include VIN and deal rating. |
| `monitorMode` | Boolean | `false` | Emit only new ads and price changes after a seed run. |
| `maxConcurrency` | Integer | `5` | Parallel detail fetches. |
| `proxyConfiguration` | Object | US residential | Apify RESIDENTIAL (US) required. |

#### Example input

```json
{
  "make": "Honda",
  "model": "Civic",
  "zip": "60606",
  "searchRadius": "50",
  "stockType": "used",
  "minYear": 2018,
  "maxPrice": 18000,
  "maxItems": 50,
  "scrapeDetails": false,
  "monitorMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
```

Start-URL mode (filters on the page are kept):

```json
{
  "startUrls": [
    { "url": "https://www.cars.com/shopping/results/?stock_type=used&makes%5B%5D=honda&models%5B%5D=honda-civic&zip=60606&maximum_distance=50&sort=best_match_desc" }
  ],
  "maxItems": 100,
  "includeShippable": false
}
```

VIN lookup:

```json
{
  "vins": ["19XFC1F37KE202871"],
  "maxItems": 5
}
```

### Output

Each dataset row is one Cars.com vehicle listing.

| Field | Type | Description |
| :--- | :--- | :--- |
| `id` / `url` / `vin` | String | Listing UUID, canonical VDP URL, 17-character VIN. |
| `year` / `make` / `model` / `trim` / `title` | Mixed | Identity. |
| `stockType` / `cpo` | Mixed | Used, New, or certified pre-owned. |
| `price` / `msrp` / `monthlyPayment` / `priceDrop` | Integer | USD amounts (`msrp` omitted when 0). |
| `dealRating` / `dealDeltaUsd` / `marketAverage` | Mixed | Cars.com deal badge and signed $ vs comps. |
| `mileage` / `bodyStyle` / `fuelType` | Mixed | Core specs. |
| `dealerName` / `dealerRating` / `dealerCity` / `dealerZip` / `dealerCustomerId` | Mixed | Dealer identity (no DNI phone). |
| `isShippable` / `shipPrice` | Mixed | Out-of-radius shipping expansion. |
| `photos` / `photoCount` | Mixed | Image URLs and reported gallery size. |
| `daysOnMarket` / `updatedAt` | Mixed | Freshness when Cars.com surfaces it. |
| `changeType` | String | Monitor mode: `new` or `price_change`. |
| `scrapedAt` | String | ISO timestamp. |

```json
{
  "id": "63cbc79f-54c1-480f-927b-567915f5767d",
  "url": "https://www.cars.com/vehicledetail/63cbc79f-54c1-480f-927b-567915f5767d/",
  "vin": "19XFC1F37KE202871",
  "title": "Used 2019 Honda Civic EX",
  "year": 2019,
  "make": "Honda",
  "model": "Civic",
  "trim": "EX",
  "stockType": "Used",
  "price": 11350,
  "priceDrop": 540,
  "dealRating": "Great Deal",
  "dealDeltaUsd": -317,
  "marketAverage": 12207,
  "mileage": 170614,
  "bodyStyle": "Sedan",
  "fuelType": "Gasoline",
  "dealerName": "Mercedes-Benz of Austin",
  "dealerCity": "Austin",
  "dealerState": "TX",
  "dealerZip": "78752"
}
```

### Use cases

| Use case | What you get |
| :--- | :--- |
| **Used-car valuation** | Prices, deal ratings, mileage, year, VIN per model |
| **ZIP / radius comps** | Same query across Chicago vs Dallas vs nationwide (`searchRadius` 500) |
| **Dealer stock watch** | Monitor mode + `dealerId` or a copied search URL |
| **Flip / wholesale scan** | `dealRating=great` plus price-drop and single-search filters |
| **AI / MCP pipelines** | Structured JSON for assistants and BI tools |

### Integration examples

#### Node.js

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/cars-com-scraper').call({
  make: 'Honda',
  model: 'Civic',
  zip: '60606',
  maxPrice: 18000,
  maxItems: 50,
  scrapeDetails: false,
  proxyConfiguration: {
    useApifyProxy: true,
    apifyProxyGroups: ['RESIDENTIAL'],
    apifyProxyCountry: 'US',
  },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient(token)
run = client.actor("crawloop/cars-com-scraper").call(
    run_input={
        "make": "Honda",
        "model": "Civic",
        "zip": "60606",
        "fuelType": "gasoline",
        "maxItems": 50,
        "scrapeDetails": False,
        "proxyConfiguration": {
            "useApifyProxy": True,
            "apifyProxyGroups": ["RESIDENTIAL"],
            "apifyProxyCountry": "US",
        },
    }
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items[:5])
```

#### cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/crawloop~cars-com-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "make": "Toyota",
    "model": "Camry",
    "zip": "90210",
    "maxItems": 20,
    "proxyConfiguration": {
      "useApifyProxy": true,
      "apifyProxyGroups": ["RESIDENTIAL"],
      "apifyProxyCountry": "US"
    }
  }'
```

### MCP and AI assistants

Use this Actor from AI tools via [Apify MCP](https://docs.apify.com/platform/integrations/mcp). Connect your Apify account, then call `crawloop/cars-com-scraper`.

Example prompts:

- "Run Cars.com Scraper for used Honda Civic near ZIP 60606 under $18,000 with maxItems 40 and return title, price, VIN, mileage, and dealRating as JSON"
- "Scrape Cars.com Toyota Camry listings in 90210 and summarize median price by year"
- "Chain Cars.com Scraper then [Copart Scraper](https://apify.com/crawloop/copart-scraper) to compare retail Civic prices with salvage lots of the same make"

### Suite next step

After US retail coverage on Cars.com, pull salvage comps with [Copart Scraper](https://apify.com/crawloop/copart-scraper) then [IAAI Scraper](https://apify.com/crawloop/iaai-scraper), and used-parts with [Car-Part Scraper](https://apify.com/crawloop/car-part-scraper). For Europe, use [AutoScout24 Scraper](https://apify.com/crawloop/autoscout24-scraper) or [Mobile.de Scraper](https://apify.com/crawloop/mobile-de-scraper).

### FAQ

**Is this a Cars.com API?**\
There is no public read API for listing search. This Actor is a Cars.com API alternative that returns structured dataset items you can call from Python, Node.js, or MCP.

**Why do I need a residential proxy?**\
Cars.com uses Akamai Bot Manager. Datacenter IPs typically get HTTP 403. Use US RESIDENTIAL.

**Why did my URL 403?**\
`sort=best_deal`, `page_size`, and `maximum_distance=all` match robots.txt patterns and trigger Akamai. The Actor rewrites those parameters automatically. Use `searchRadius` 500 for nationwide-style coverage.

**How many listings can one search return?**\
24 listings per page, capped around 10,000 results per query. This Actor splits wide searches by year or price when that cap is hit. Narrow ZIP / year / price filters go deeper faster.

**Do search cards include VIN?**\
Yes. Cars.com search JSON already carries VIN, deal rating, mileage, dealer, and preview photos. Leave `scrapeDetails` off unless you need a larger gallery.

**Does this return dealer phone numbers?**\
No. Cars.com phones are dynamic-number-insertion tracking lines, not the dealer’s published number.

**Start URLs or make/model filters?**\
Paste a browser search URL in `startUrls` to keep every filter you already applied. Leave Start URLs empty and set `make` / `model` / `zip` to build the search in the Actor.

**Can I watch a dealer’s stock?**\
Yes — set `dealerId` (the listing’s `dealerCustomerId`) or paste a filtered search URL, then turn on `monitorMode`.

### Related Actors

- [AutoScout24 Scraper](https://apify.com/crawloop/autoscout24-scraper) — European used-car listings
- [Mobile.de Scraper](https://apify.com/crawloop/mobile-de-scraper) — German vehicle listings
- [Copart Scraper](https://apify.com/crawloop/copart-scraper) — US/CA salvage auctions
- [IAAI Scraper](https://apify.com/crawloop/iaai-scraper) — US/CA salvage auctions
- [Car-Part Scraper](https://apify.com/crawloop/car-part-scraper) — used auto parts inventory
- [Facebook Marketplace Scraper](https://apify.com/crawloop/facebook-marketplace-scraper) — US local listings + vehicles

# Actor input Schema

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

Paste Cars.com search-result URLs (/shopping/results/) or vehicle-detail URLs (/vehicledetail/{id}/). Filters already in the URL are kept. Do not use sort=best\_deal, page\_size, or maximum\_distance=all — those parameters are blocked.

## `make` (type: `string`):

Vehicle brand used when Start URLs are empty. Examples: Honda, BMW, Ford, Toyota, Tesla.

## `model` (type: `string`):

Model name. Spaces become underscores in the Cars.com slug (Civic, 3 Series, Model Y, F-150).

## `trim` (type: `string`):

Optional trim filter, e.g. LX, Sport, xDrive40i.

## `zip` (type: `string`):

US 5-digit ZIP for radius search. Default 60606 when building a search from filters.

## `searchRadius` (type: `string`):

Radius around the ZIP. nationwide-style coverage uses 500 miles (maximum\_distance=all is blocked).

## `stockType` (type: `string`):

New, used, or certified pre-owned. 'All' runs three searches and de-duplicates.

## `minYear` (type: `integer`):

Earliest model year.

## `maxYear` (type: `integer`):

Latest model year.

## `minPrice` (type: `integer`):

Filter by minimum list price.

## `maxPrice` (type: `integer`):

Filter by maximum list price.

## `maxMileage` (type: `integer`):

Maximum odometer reading in miles.

## `bodyStyle` (type: `string`):

Filter by body style.

## `fuelType` (type: `string`):

Filter by fuel.

## `transmission` (type: `string`):

Filter by gearbox.

## `drivetrain` (type: `string`):

Filter by drivetrain.

## `dealRating` (type: `string`):

Keep only listings with this Cars.com deal badge.

## `includeShippable` (type: `boolean`):

Cars.com injects nationwide-shippable cards outside your ZIP radius. Turn off for strict in-radius inventory only.

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

Look up specific 17-character VINs (search by keyword on Cars.com). One row per matching listing.

## `dealerId` (type: `string`):

Restrict to one dealer's inventory (Cars.com customerId / dealer\_id).

## `keyword` (type: `string`):

Free-text search inside listing descriptions (also used for VIN lookup).

## `sortBy` (type: `string`):

Sort order. best\_deal is not offered — it is blocked by Cars.com.

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

Maximum number of vehicle listings to collect per run. A single Cars.com search caps around 10,000 results; this Actor splits wide queries by year or price when that cap is hit.

## `scrapeDetails` (type: `boolean`):

Search cards already include VIN, price, deal rating, mileage, dealer, and preview photos. Enable to fetch each /vehicledetail/ page for a larger gallery and extra specs. Detail HTML is often blocked; the Actor keeps search-card fields when a detail fetch fails.

## `monitorMode` (type: `boolean`):

Delta tracking via Key-Value store. First run seeds a baseline (no dataset rows). Later runs emit only new listings or price changes. Stops early after several already-known ads.

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

How many vehicle-detail pages to fetch in parallel when scrapeDetails is on.

## `proxyConfiguration` (type: `object`):

Apify Proxy. RESIDENTIAL with country US is required — Cars.com uses Akamai and blocks datacenter IPs.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.cars.com/shopping/results/?stock_type=used&makes%5B%5D=honda&models%5B%5D=honda-civic&zip=60606&maximum_distance=50&sort=best_match_desc"
    }
  ],
  "make": "Honda",
  "model": "Civic",
  "zip": "60606",
  "searchRadius": "50",
  "stockType": "used",
  "bodyStyle": "all",
  "fuelType": "all",
  "transmission": "all",
  "drivetrain": "all",
  "dealRating": "all",
  "includeShippable": true,
  "sortBy": "relevance",
  "maxItems": 20,
  "scrapeDetails": false,
  "monitorMode": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Default dataset items (one Cars.com listing per row).

# 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": [
        {
            "url": "https://www.cars.com/shopping/results/?stock_type=used&makes%5B%5D=honda&models%5B%5D=honda-civic&zip=60606&maximum_distance=50&sort=best_match_desc"
        }
    ],
    "make": "Honda",
    "model": "Civic",
    "zip": "60606",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawloop/cars-com-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": [{ "url": "https://www.cars.com/shopping/results/?stock_type=used&makes%5B%5D=honda&models%5B%5D=honda-civic&zip=60606&maximum_distance=50&sort=best_match_desc" }],
    "make": "Honda",
    "model": "Civic",
    "zip": "60606",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("crawloop/cars-com-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [
    {
      "url": "https://www.cars.com/shopping/results/?stock_type=used&makes%5B%5D=honda&models%5B%5D=honda-civic&zip=60606&maximum_distance=50&sort=best_match_desc"
    }
  ],
  "make": "Honda",
  "model": "Civic",
  "zip": "60606",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call crawloop/cars-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crawloop/cars-com-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9Ak8AjwzNDVzXCFTO/builds/H2olKDehAqkdzd3l2/openapi.json
