# India Used Cars Listings Scraper (`neuton/india-used-cars-listings-scraper`) Actor

Scrape public Indian used-car listings from CarWale and CarDekho search pages for price intelligence, dealer inventory research, and vehicle market monitoring.

- **URL**: https://apify.com/neuton/india-used-cars-listings-scraper.md
- **Developed by:** [Ashwin Prasad](https://apify.com/neuton) (community)
- **Categories:** Business, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

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

## India Used Cars Listings Scraper

Scrape public used-car listings from Indian automotive marketplaces, starting with CarWale and CarDekho search pages. This actor is built for used-car price intelligence, dealership inventory research, city-level vehicle market monitoring, and automotive data enrichment.

The actor uses structured data embedded in public listing pages, so it is much cheaper than browser-based marketplace scraping. It does not extract seller phone numbers, emails, private contact details, or logged-in content.

### What You Can Extract

- Vehicle title, brand, model, year, body type, color, fuel type, transmission, owner count, seating capacity, and mileage
- Price, original price, discount, EMI, currency, availability, listing URL, listing ID, image URL, and all image URLs when present
- City, state, street/locality when publicly present in listing markup
- Source site, source URL, scrape timestamp, and pagination coverage
- Deduplicated rows across CarWale and CarDekho URLs

### Supported Sources

- CarWale used-car listing pages, for example `https://www.carwale.com/used/delhi/`
- CarDekho used-car listing pages, for example `https://www.cardekho.com/used-cars+in+delhi-ncr`

Cars24 is a strong buyer-intent source and remains on the roadmap, but its listing payload currently differs between direct access and Apify cloud runs. It is not part of the public guarantee until a stable endpoint is confirmed.

### Common Use Cases

- Monitor used-car prices in Delhi, Mumbai, Bangalore, Chennai, Hyderabad, Pune, and other Indian markets
- Build a used-car market dataset for valuation, lending, insurance, resale, and dealer analytics
- Track inventory changes for specific brands such as Maruti, Hyundai, Tata, Mahindra, Honda, Toyota, Kia, MG, BMW, Mercedes-Benz, Audi, and Land Rover
- Compare mileage, ownership, fuel type, body type, and price bands across cities
- Feed vehicle listing rows into dashboards, spreadsheets, pricing models, lead scoring, or AI agents

### SEO Keywords

India used cars scraper, CarWale scraper, CarDekho scraper, Cars24 scraper alternative, used car listings India scraper, second hand car scraper India, Indian vehicle price data, car price intelligence India, used car market data India, Delhi used cars scraper, Mumbai used cars scraper.

### Example Input

```json
{
  "startUrls": [
    "https://www.carwale.com/used/delhi/",
    "https://www.cardekho.com/used-cars+in+delhi-ncr"
  ],
  "followPagination": true,
  "maxPagesPerStartUrl": 2,
  "maxResults": 100
}
```

### Output Fields

Each dataset row can include `sourceType`, `sourceSite`, `listingId`, `title`, `alternateName`, `brand`, `model`, `year`, `price`, `originalPrice`, `discount`, `currency`, `availability`, `mileageKm`, `fuelType`, `transmission`, `ownerCount`, `bodyType`, `color`, `seatingCapacity`, `city`, `state`, `streetAddress`, `emi`, `emiDisplayText`, `registration`, `rto`, `description`, `displayDescription`, `url`, `imageUrl`, `imageUrls`, `sourceUrl`, and `scrapedAt`.

### Pricing Recommendation

Launch at about $1.75 per 1,000 listing rows. This keeps the actor cheaper than visible CarDekho and Cars24 actors while still giving users broader multi-site coverage than a single-source scraper. If users run recurring city monitoring or request detail-page enrichment, move toward $3-$5 per 1,000 enriched listing rows after repeat usage appears.

### Notes

This actor extracts public listing metadata only. It does not bypass logins, scrape private seller contact channels, or collect hidden personal data.

### Responsible Use

Use this actor for legitimate market research, price intelligence, dealer inventory analysis, lending/insurance analytics, and public automotive data enrichment. Respect marketplace terms, avoid abusive request volumes, and do not use public listing metadata for spam, harassment, or attempts to identify private sellers beyond information they intentionally publish.

# Actor input Schema

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

CarWale or CarDekho used-car search/listing URLs, such as Delhi NCR used-car pages.

## `followPagination` (type: `boolean`):

Follow next-page links from each start URL until max pages or max results are reached.

## `maxPagesPerStartUrl` (type: `integer`):

Maximum number of pages to fetch for each start URL.

## `maxResults` (type: `integer`):

Maximum total listing rows to return.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.carwale.com/used/delhi/",
    "https://www.cardekho.com/used-cars+in+delhi-ncr"
  ],
  "followPagination": true,
  "maxPagesPerStartUrl": 2,
  "maxResults": 100
}
```

# Actor output Schema

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

No description

# API

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

## JavaScript example

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

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

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.carwale.com/used/delhi/",
        "https://www.cardekho.com/used-cars+in+delhi-ncr"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("neuton/india-used-cars-listings-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.carwale.com/used/delhi/",
        "https://www.cardekho.com/used-cars+in+delhi-ncr",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("neuton/india-used-cars-listings-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.carwale.com/used/delhi/",
    "https://www.cardekho.com/used-cars+in+delhi-ncr"
  ]
}' |
apify call neuton/india-used-cars-listings-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/CTJGdbhzKSjMeLjQa/builds/Q2OJTettjlVcjkvRt/openapi.json
