# Carvana Scraper (`parseforge/carvana-scraper`) Actor

Collect car listings from Carvana.com. Extract vehicle details including price, mileage, VIN, specifications, and images. Search by URL or filter.

- **URL**: https://apify.com/parseforge/carvana-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Features:** Limited permissions
- **Stats:** 43 total users, 6 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $22.99 / 1,000 result items

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner-v4.webp)](https://apify.com/parseforge?fpr=vmoqkp)

### Carvana Scraper

**Scrape Carvana used car listings from any search URL, up to a million per run.** Every car comes with its price, mileage, VIN, and full listing details. No login or API key. Export to CSV, JSON, Excel, or XML.

Carvana's official API needs an app registration, OAuth, and rate-limits you. This reads the public used car inventory directly, filtered by ZIP code and search URL, and returns each match in one fixed schema.

| Who uses it | What they scrape Carvana for |
|---|---|
| Market researchers | Track used car pricing trends across regions |
| Car dealerships | Monitor competitor inventory and pricing |
| Data analysts | Build datasets of vehicle attributes for modeling |
| App developers | Power car search and comparison features |

### What it does

This Actor collects Carvana used car listings by search URL or ZIP code, and returns each one as a flat row.

- 🚗 **Search by URL:** paste any Carvana search URL to scrape exactly those results.
- 📍 **ZIP code targeting:** set a ZIP code to see inventory available near that location.
- 📊 **Structured output:** every listing returns as a flat row with consistent fields.
- ⚡ **Scalable:** from a few cars to a million, with automatic pagination and retries.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Carvana data

**📈 Track used car prices.**

A market researcher runs the Actor daily on a Carvana search URL for a specific model and ZIP code to monitor price fluctuations and adjust forecasts.

**🏁 Monitor competitor inventory.**

A dealership manager scrapes Carvana listings for their region to see which makes and models are in stock and at what prices.

**🧠 Build a vehicle dataset.**

A data scientist collects thousands of Carvana listings to train a model that predicts resale value based on mileage, year, and features.

**📱 Power a car search app.**

A developer uses the Actor to fetch live Carvana inventory and display it in a custom mobile app with filters and alerts.

### Why choose this scraper

| | What you get |
|---|---|
| **No API key** | Scrape public Carvana inventory without registration or OAuth |
| **Full listing data** | Get price, mileage, VIN, and all available vehicle attributes |
| **Location aware** | Search by ZIP code to see cars available near you |
| **Flexible input** | Start from any Carvana search URL or the entire catalog |

### How it compares

This Actor focuses on scraping Carvana by search URL and ZIP code with a simple, scalable setup, while competitors offer different field sets or filtering methods.

| Feature | ParseForge | Carvana Scraper - Used Car Inventory & Prices | Carvana Scraper |
|---|---|---|---|
| Scrape by search URL | Yes | Not listed | Not listed |
| Scrape by ZIP code | Yes | Not listed | Not listed |
| Filter by make and model | Yes, via search URL | Yes | Not listed |
| Extract VIN | Yes | Yes | Yes |
| Extract MSRP and KBB value | Not listed | Not listed | Yes |
| Extract exterior and interior colors | Yes | Yes | Yes |

### Configure the run

Drive the Actor from a Carvana search URL and a ZIP code, and filters run as each listing is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

```json
{
 "startUrl": "https://www.carvana.com/cars",
 "maxItems": 10,
 "zip": "90210"
}
```

A larger pull:

```json
{
 "startUrl": "https://www.carvana.com/cars",
 "maxItems": 200,
 "zip": "90210"
}
```

### Pricing

Pay-per-result: **$0.03066 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $3.07 |
| 1,000 results | $30.66 |
| 10,000 results | $306.60 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Carvana Scraper](https://apify.com/parseforge/carvana-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Carvana through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/carvana-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Check that your start URL is a valid Carvana search URL and that the ZIP code is correct. Also ensure that Carvana has inventory for that search in that location.

**Why are some fields missing?**

Carvana may not display every field for every car. The Actor returns only what is available on the listing page.

**Why did the run stop at 100 items?**

Free Apify users are limited to 100 items per run. Upgrade to a paid plan to scrape more.

**Why is the Actor slow?**

Scraping many pages takes time. You can increase the max items or run the Actor on a higher-performance plan.

### FAQ

| Question | Answer |
|---|---|
| Do I need a Carvana API key? | No. This Actor scrapes the public Carvana website directly, so no registration or API key is required. |
| Can I scrape all cars on Carvana? | Yes. Leave the start URL empty to scrape the entire Carvana inventory, or provide a specific search URL to narrow it down. |
| How do I filter by make and model? | Use a Carvana search URL that already includes your filters, such as https://www.carvana.com/cars/honda-civic. The Actor will scrape exactly those results. |
| What is the ZIP code for? | Carvana shows different availability based on delivery location. The ZIP code ensures you see cars that can be delivered to that area. |
| What data fields are returned? | Each listing includes year, make, model, trim, price, mileage, VIN, exterior color, and more, depending on what Carvana displays. |
| Can I export the data? | Yes. You can export the scraped listings to CSV, JSON, Excel, or XML directly from the Apify platform. |
| Is there a limit on how many cars I can scrape? | Free Apify users are limited to 100 items per run. Paid users can scrape up to 1,000,000 items. |
| Does this Actor handle pagination? | Yes, it automatically follows pagination to collect all listings from the search results. |
| Can I schedule this Actor to run regularly? | Yes, you can set up a schedule in Apify to run the Actor daily, weekly, or at any interval you need. |
| What if Carvana changes their website? | The Actor is maintained to adapt to changes in Carvana's HTML structure. If you encounter issues, contact support. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Carvana, LLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `startUrl` (type: `string`):

Carvana search URL (e.g. https://www.carvana.com/cars/honda-civic). Leave empty to search all cars.

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

Free users: Limited to 100. Paid users: Optional, max 1,000,000

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

US ZIP code to search near. Carvana delivers nationwide but results may vary by location.

## Actor input object example

```json
{
  "startUrl": "https://www.carvana.com/cars",
  "maxItems": 10,
  "zip": "90210"
}
```

# Actor output Schema

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

Overview of scraped car listings with key fields

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

Complete dataset with all scraped car listings

# 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 = {
    "startUrl": "https://www.carvana.com/cars",
    "maxItems": 10,
    "zip": "90210"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/carvana-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 = {
    "startUrl": "https://www.carvana.com/cars",
    "maxItems": 10,
    "zip": "90210",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/carvana-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 '{
  "startUrl": "https://www.carvana.com/cars",
  "maxItems": 10,
  "zip": "90210"
}' |
apify call parseforge/carvana-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/carvana-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/YK8URotkbtvthMwGE/builds/91t1IRlFuUvVbiDLU/openapi.json
