# Car and Classic Scraper — Vintage & Classic Cars (`rastriq/carandclassic-scraper`) Actor

Scrape classic and vintage car listings from CarAndClassic.com, Europe's largest classic car marketplace. Extract price, make, model, year, description, seller info, auction data, and photos. Monitor prices, track auctions, and analyze the collector car market.

- **URL**: https://apify.com/rastriq/carandclassic-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** E-commerce, Other
- **Features:** Limited permissions
- **Stats:** 13 total users, 1 monthly users, 97.7% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $3.00 / 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/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

## Car and Classic Scraper — Extract Vintage & Classic Car Listings from Europe

![carandclassic](https://www.rastriq.es/readme/classic.png)

Extract structured vehicle listings from **[Car and Classic](https://www.carandclassic.com)** — Europe's largest marketplace for classic cars, vintage motorcycles, and collectible vehicles, with thousands of listings from private sellers and specialist dealers.

> Try it free — your first $5 of usage is on Apify. No credit card required.

### What is Car and Classic Scraper?

**Car and Classic Scraper** extracts structured listing data from CarAndClassic.com using server-side HTML parsing with Schema.org JSON-LD extraction — no browser needed, making it fast and cost-efficient. Each listing returns up to 15 fields including price, brand, model year, mileage, listing type, availability, category, and images.

Use Car and Classic Scraper to:

- 🚗 **Classic car market intelligence** — track pricing and availability across 19 vehicle categories from classic cars to motorcycles
- 📊 **Collector car valuation** — build price databases for vintage vehicle appraisal and investment analysis
- 🔍 **Inventory monitoring** — detect new listings matching specific makes, model years, or price ranges
- 📈 **Market trend analysis** — track how classic car prices evolve across brands, eras, and categories
- 🔄 **Automated data pipelines** — schedule runs, set up webhooks, and keep your datasets fresh

The Apify platform gives Car and Classic Scraper built-in **scheduling**, **API access**, **proxy rotation**, and **integrations** with Make, Zapier, Google Sheets, and more — all out of the box.

### What data does Car and Classic Scraper extract?

Each listing returns a structured record with up to 15 fields:

| Field | Description |
|-------|-------------|
| `id` | Unique listing ID on Car and Classic |
| `listing_type` | Type of listing (e.g., ForSale) |
| `url` | Direct link to the listing page |
| `title` | Full listing title (year + make + model + trim) |
| `brand` | Vehicle manufacturer / brand |
| `model_year` | Year of manufacture |
| `price` | Listed price (numeric) |
| `price_currency` | Currency code (GBP, EUR, USD, etc.) |
| `mileage_value` | Odometer reading |
| `mileage_unit` | Mileage unit (miles or km) |
| `availability` | Listing status (InStock, SoldOut) |
| `image_url` | Main listing image URL |
| `category_id` | Numeric category identifier |
| `category_name` | Human-readable category name |
| `scraped_at` | ISO 8601 extraction timestamp |

### How to use Car and Classic Scraper

Extracting classic car listings takes under two minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) — your first $5 is free
2. **Open Car and Classic Scraper** in Apify Console or click **Try for free** on this page
3. **Choose your search mode** — paste a URL from carandclassic.com or use built-in filters
4. **Apply filters** — optionally narrow by make, model, category, or year range
5. **Click Start** and wait for results
6. **Download your results** in JSON, CSV, Excel, XML, or HTML — or access them via API

#### Input example — search by brand and year range

Find classic Porsche listings from 1960 to 1980:

```json
{
  "make": "porsche",
  "year_min": 1960,
  "year_max": 1980,
  "max_items": 200
}
```

#### Input example — search by category

Browse all motorcycle listings (category 15):

```json
{
  "category": "15",
  "max_items": 500,
  "max_pages": 10
}
```

#### Input example — paste a URL

Use any search or category URL from the Car and Classic website:

```json
{
  "startUrls": [
    { "url": "https://www.carandclassic.com/search?make=jaguar&min_year=1950&max_year=1970" }
  ],
  "max_items": 100
}
```

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | array | — | One or more Car and Classic search or category URLs to scrape |
| `make` | string | *(all)* | Filter by brand slug (e.g., `bmw`, `porsche`, `jaguar`, `ferrari`) |
| `model` | string | *(all)* | Filter by model name |
| `category` | string | *(all)* | Category ID number (see table below) |
| `year_min` | integer | — | Minimum year of manufacture |
| `year_max` | integer | — | Maximum year of manufacture |
| `max_items` | integer | `100` | Maximum total listings to return |
| `max_pages` | integer | `50` | Maximum listing pages to crawl |
| `proxyConfiguration` | object | Auto | Proxy settings for the extraction |

#### Vehicle categories

| ID | Category | ID | Category |
|----|----------|----|----------|
| 3 | Classic Cars | 18 | Projects |
| 9 | Commercial | 19 | Wedding Cars |
| 10 | Military | 20 | 3 Wheelers |
| 11 | Parts | 21 | FIA Race Cars |
| 15 | Motorcycles | 22 | Camper Vans |
| 16 | 4x4s | 23 | Modern Cars |
| 17 | American Cars | 27 | Electric Cars |

### Output example

Each result is a structured JSON object extracted from the listing's Schema.org JSON-LD markup:

```json
{
  "id": "1284567",
  "listing_type": "ForSale",
  "url": "https://www.carandclassic.com/car/1284567",
  "title": "1967 Ford Mustang Fastback 289 V8",
  "brand": "Ford",
  "model_year": "1967",
  "price": "45000",
  "price_currency": "GBP",
  "mileage_value": "78500",
  "mileage_unit": "miles",
  "availability": "InStock",
  "image_url": "https://www.carandclassic.com/uploads/cars/1284567/main.jpg",
  "category_id": 3,
  "category_name": "Classic Cars",
  "scraped_at": "2026-08-29T10:15:00Z"
}
```

Download results in **JSON, CSV, Excel, XML, or HTML** from the Output tab, or pull them programmatically using the [Apify API](https://docs.apify.com/api/v2).

> **Sample dataset**: Preview real output in the [carandclassic-scraper-sample](https://apify.com/rastriq/carandclassic-scraper/dataset/carandclassic-scraper-sample) dataset.

### See real records before you run it

[Browse sample data](https://console.apify.com/storage/datasets/lfb9vLtfb4r8tWwLZ) extracted by this Actor — fields, format and structure, ready to inspect before your first run.

### How much does it cost to use Car and Classic Scraper?

**$3.00 per 1,000 listings** (+ $0.05 per start). Your $5 free trial credit covers ~1,600 listings.

### Technical notes

- **Method**: SSR extraction via Schema.org JSON-LD (`@type: Vehicle`) embedded in listing pages — no browser required
- **Anti-bot**: curl_cffi with Chrome TLS fingerprinting + Apify residential proxy rotation
- **Retry logic**: Exponential backoff (3s → 6s → 12s → 24s) on 403/429/503 responses
- **Two search modes**: URL-based (paste any carandclassic.com URL) or filter-based (make, model, category, year range)
- **Proxy rotation**: Per-request session rotation for reliable large-scale extractions

### Integrations

Connect Car and Classic Scraper to your workflow:

- **API** — call programmatically via [Apify API](https://apify.com/rastriq/carandclassic-scraper/api) (Python, JavaScript, cURL)
- **Webhooks** — trigger actions when a run completes
- **Zapier / Make** — connect to 5,000+ apps
- **Google Sheets** — export directly to a spreadsheet
- **Schedule** — run weekly or monthly to track classic car market trends

### 🧪 Ready-made examples

Start from a pre-configured task and adapt it to your needs:

- [Find classic Jaguar listings for sale](https://apify.com/rastriq/carandclassic-scraper/examples/carandclassic-jaguar)
- [Browse electric car listings on Car & Classic](https://apify.com/rastriq/carandclassic-scraper/examples/carandclassic-electric-cars)
- [Find Classic Porsche 911 Listings for Sale](https://apify.com/rastriq/carandclassic-scraper/examples/find-classic-porsche-911-listings)
- [Track vintage Ferrari prices on Car & Classic](https://apify.com/rastriq/carandclassic-scraper/examples/track-vintage-ferrari-prices)
- [Find classic Mercedes-Benz cars for sale](https://apify.com/rastriq/carandclassic-scraper/examples/classic-mercedes-benz-for-sale)

***

### Related Rastriq Actors — Automotive & Vehicle Marketplaces

| Actor | Description |
|-------|-------------|
| [Collecting Cars Scraper](https://apify.com/rastriq/collecting-cars-scraper) | Extract collector car auction results and sold prices |
| [Mobile.de Scraper](https://apify.com/rastriq/mobile-de-scraper) | Extract 1.4M+ vehicle listings from Germany's largest marketplace |
| [Coches.net Scraper](https://apify.com/rastriq/cochesnet-spain) | Extract car listings from Spain's largest auto marketplace |
| [Wallapop Cars Scraper](https://apify.com/rastriq/wallapop-cars-scraper) | Extract second-hand car listings from Spain's Wallapop |
| [Polovni Automobili Scraper](https://apify.com/rastriq/polovniautomobili-scraper) | Extract car listings from Serbia's largest auto marketplace |

### Copy to your AI assistant

Copy the Apify Store URL for this Actor and paste it into ChatGPT, Claude, or any LLM with web access:

```
https://apify.com/rastriq/carandclassic-scraper
```

The model will read the Actor description, input schema, and field list — then help you build the right API call or integration.

### About the data

This Actor is built and maintained by [Rastriq](https://www.rastriq.es), a data intelligence company specializing in structured extraction for market research and competitive analysis. Browse our full [field reference and methodology](https://www.rastriq.es/en/classic-cars/#campos).

### Frequently Asked Questions

#### What is Car and Classic?

Car and Classic is Europe's largest online marketplace dedicated to classic, vintage, and collectible vehicles. The platform connects buyers and sellers of classic cars, motorcycles, military vehicles, camper vans, and automotive memorabilia, with thousands of active listings from private sellers and specialist dealers across Europe and beyond.

#### What categories does Car and Classic Scraper support?

Car and Classic Scraper covers all 19 categories on the platform: Classic Cars, Motorcycles, American Cars, 4x4s, Commercial vehicles, Military, Projects, FIA Race Cars, Camper Vans, Modern Cars, Electric Cars, Wedding Cars, 3 Wheelers, Parts, Books/DVDs, Number Plates, Memorabilia, and Toy Cars.

#### Can I combine filters with URL-based search?

When using `startUrls`, the URL determines the search parameters. When using filter-based search (`make`, `category`, `year_min`, `year_max`), the scraper builds the search URL automatically. Choose one mode per run for best results.

#### Is it legal to scrape Car and Classic?

Car and Classic Scraper extracts **publicly available data** from CarAndClassic.com. As with any data collection, review the site's Terms of Service before using scraped data commercially. For guidance, see [Apify's blog on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### I found a bug or my run failed. Where do I report it?

Please open an issue in the [Issues tab](https://apify.com/rastriq/carandclassic-scraper/issues). Include your input configuration and run ID so we can investigate quickly.

# Actor input Schema

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

Paste one or more Car & Classic URLs straight from your browser. The scraper detects pagination and follows all pages automatically.<br><br>Works with any language and URL format:<br>• <code>https://www.carandclassic.com/search?make=jaguar</code><br>• <code>https://www.carandclassic.com/es/buscar?make=porsche\&min_year=1970</code><br>• <code>https://www.carandclassic.com/cat/15/</code><br><br>💡 <b>Tip:</b> When you use URLs, all the filter fields below (Make, Category, Year) are skipped.

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

Type the brand name as it appears in Car & Classic URLs.<br><br>Examples: <code>porsche</code>, <code>jaguar</code>, <code>alfa-romeo</code>, <code>mercedes</code>, <code>land-rover</code>, <code>aston-martin</code><br><br>Leave empty to search across all brands.

## `category` (type: `string`):

Browse a whole Car & Classic category.<br><br>💡 <b>Tip:</b> For most searches, just use the Make field above — it's faster. Use Category only when you want to browse an entire segment (e.g. all Motorcycles).

## `year_min` (type: `integer`):

Earliest model year to include. Leave empty for no lower bound.

## `year_max` (type: `integer`):

Latest model year to include. Leave empty for no upper bound.

## `max_items` (type: `integer`):

Total number of listings to return. The default (20) is a quick test — increase to 500+ for production runs.

## `max_pages` (type: `integer`):

Optional cap on pages to crawl (~40–50 listings per page). Leave empty to paginate until <i>Max results</i> is reached.

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

Residential proxies are recommended for runs over 200 listings. The default works well for most cases — no changes needed.

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

Model name as it appears in Car & Classic URLs.<br><br>Examples: <code>911</code>, <code>e-type</code>, <code>mustang</code>, <code>beetle</code><br><br>Leave empty to search across all models of the selected make.<br><br>💡 <b>Tip:</b> If you type something like <code>porsche 911</code> in the Make field, the scraper auto-splits it into make=porsche + model=911.

## Actor input object example

```json
{
  "startUrls": [],
  "make": "porsche",
  "category": "",
  "max_items": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  },
  "model": ""
}
```

# Actor output Schema

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

All scraped vehicle listings with price, mileage, brand, model year and listing type.

# 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": [],
    "make": "porsche",
    "max_items": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/carandclassic-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": [],
    "make": "porsche",
    "max_items": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/carandclassic-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": [],
  "make": "porsche",
  "max_items": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call rastriq/carandclassic-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rastriq/carandclassic-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/4XVddLMUAacqEoh9a/builds/WhIYE91gdrce5yUxc/openapi.json
