CarWale Scraper — India Used Car Prices, Specs & Dealers
Pricing
from $0.85 / 1,000 car listings
CarWale Scraper — India Used Car Prices, Specs & Dealers
Scrape used-car listings from CarWale.com (India): asking price, CarWale market valuation, new on-road price, km, fuel, transmission, owners, body type, city, dealer and photos. Optional detail pages add specs, features, insurance and price rating. Dealer list output too. No login.
Pricing
from $0.85 / 1,000 car listings
Rating
0.0
(0)
Developer
Oswaldo Carabano
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
CarWale Scraper — India used car prices, specs and dealers
Scrape used-car listings from CarWale.com, one of India's largest car marketplaces, into a clean dataset or an API. Around 108,000 used cars across India (measured on the live site), from dealers and private owners, in every city CarWale covers: Delhi, Mumbai, Bangalore, Pune, Hyderabad, Chennai, Kolkata, Ahmedabad and more.
Every row carries the asking price, CarWale's own market valuation for that exact car, the new on-road price, the gap between asking and market price in percent, kilometres, fuel, transmission, owners, body type, city and area, the seller type, the dealer and the photos. Turn on detail pages and each car also gets colour, registration, insurance, engine, power, torque, mileage, the full spec sheet, the feature list and CarWale's price rating (great / fair / high).
No login. No cookies. No browser. No proxy needed. $0.85 per 1,000 cars.
What you can use this for
| If you are… | You want |
|---|---|
| Building an India used car price dataset, a second-hand car price checker or a valuation model | asking price, CarWale market valuation and new on-road price on the same row |
| Doing dealer lead generation in India | the Dealers output: one row per dealership with name, logo, city, areas, stock size, price range and makes |
| Tracking used car market data by city, brand or fuel | filters for city, make, seller type, fuel, transmission, owners, price and age |
| Pricing trade-ins or auctions | price_vs_market_pct tells you how far each ask is above or below market |
| Comparing specs across listings | engine, power, torque, mileage, drivetrain and the full spec sheet from detail pages |
| Researching EV and CNG adoption | fuel and bi-fuel (additional_fuel) on every row |
What actually arrives in a row
A listing row always has the same 96 keys (a key with no data is null,
never missing). The median row has 41 populated fields without detail pages
and 72 with them.
Every percentage on this page was measured against the live site on 23 Sep 2026, and every one carries its sample size. We do not promise a field we have not measured.
Always there — 100% (n = 653 cars, 12 searches, 8 cities + national)
listing_id · url · title · make · model · model_family · variant
and their CarWale ids · year · price_inr · price_text · km_driven ·
fuel_type · transmission · body_style_id · city · seller_type ·
seller_name (dealers) · emi_from_inr
Usually there
| Field | Fill rate | n |
|---|---|---|
trim | 99.7% | 653 |
seating_capacity | 97.5% | 653 |
key_features | 97.5% | 653 |
owners | 95.7% | 653 |
area (neighbourhood) | 87.6% | 653 |
market_price_inr (CarWale valuation) | 85.3% | 653 |
new_on_road_price_inr | 84.8% | 653 |
images and image_url — dealers | 100% | 205 |
images and image_url — private owners | 37.5% | 448 |
key_highlights — dealers | 88.3% | 205 |
dealer_logo_url — dealers | 63.4% | 205 |
tags ("Great Price", "Home Test Drive"…) | 39.1% | 653 |
is_finance_eligible | 13.3% | 653 |
additional_fuel (CNG/LPG bi-fuel) | 5.8% | 653 |
body_type is filled for the nine body styles we matched against CarWale's
own structured data (Sedan, Hatchback, SUV, MPV/MUV, Compact Sedan, Compact
SUV, Sub-Compact SUV, Full-Size SUV, SUV Coupe). For the rare ones we could not
verify it is null from search results and is filled from the detail page when
you turn detail pages on. We do not guess.
What we do NOT promise
drivetrain from search results, a trusted-dealer flag, booking status and a
listing phone number came back empty in 0 of 653 cars, so they are not
promised from search results.
Detail pages: what they add, and what they cost
includeDetails opens each car's page. Measured on the local verification
runs (n = 100 dealer cars in Delhi, n = 30 private cars in Pune):
| Field | Dealers | Private owners |
|---|---|---|
color, manufacture_month, last_updated_at, specifications | 100% | 100% |
features | 98% | 100% |
engine, drivetrain | 94% | 100% / 47% |
max_torque, max_power | 78% / 72% | 100% |
registration_type, owners_text | 98% | 100% / 97% |
registration_number | 98% | withheld by default |
insurance_type | 86% | 27% |
highlights | 84% | 0% |
price_rating (great / fair / high price) and market_price_range_text | 75% | 67% |
seller_note (phones removed) | 73% | withheld by default |
dealer_phone | 55% | never |
mileage | 35% | 90% |
A detail page costs about 24× a search result: one page per car instead of one request per 24 cars, and 64 KB against 275 bytes per car. That is why detail pages are off by default and billed as their own event.
Dealers: a second output, no extra requests
Set Output type to Dealers and you get one row per dealership found in
your search: dealer_name, dealer_logo_url, city, areas, listings_seen,
min_price_inr / median_price_inr / max_price_inr, makes and a sample
listing. It is built from the same search results, so it costs no extra
requests.
Privacy: private sellers are people
48.3% of CarWale's national stock is sold by private owners (52,171 of 107,995 on 23 Sep 2026; 21–32% in the big cities). A private seller's listing carries their name, and their detail page carries their registration number and notes.
| Dealer | Private owner | |
|---|---|---|
| Car data (price, km, specs, photos…) | always | always |
| Name, id, phone, registration number, notes | always | withheld by default |
Withheld rows are marked seller_contact_redacted: true. Turn on
includePrivateSellerContact only if you have a lawful basis to process
personal data. Phone numbers typed inside free text (notes, highlights) are
removed on every row, whoever the seller is.
Input
Run it with no input and you get 50 cars from all of India, cheapest first, in a few seconds. The most useful settings:
| Setting | What it does |
|---|---|
city | one of 17 cities, or empty for all of India |
make | one of 45 makes |
startUrls | any CarWale used-car search page, e.g. https://www.carwale.com/used/mumbai/hyundai-creta/ |
sellerType | dealers, private owners or both |
fuelType, transmission, owners, minPriceLakh, maxPriceLakh, maxAgeYears | filters, each checked against CarWale's own counters |
sortBy | price or kilometres, ascending or descending |
maxItems | how many cars (or dealers) to deliver |
includeDetails | add the detail-page fields above |
outputType | listings or dealers |
Going deep. CarWale pages through at most about 34,000 results per search. When your search matches more, the actor splits it into price bands so you still reach the whole stock.
Kilometre filter: CarWale ignores it (the result count does not change), so the actor does not offer it rather than pretend.
Output example
A real row from 23 Sep 2026 (dealer name replaced), trimmed to the main fields:
{"record_type": "listing","listing_id": "D7350280","url": "https://www.carwale.com/used/mumbai/maruti-suzuki-alto/q412kbdq/","title": "Maruti Suzuki Alto LXi BS-III","make": "Maruti Suzuki","model": "Alto [2005-2010]","year": 2008,"price_inr": 79000,"market_price_inr": 178472,"new_on_road_price_inr": 356609,"price_vs_market_pct": -55.7,"km_driven": 50000,"fuel_type": "Petrol","transmission": "Manual","owners": 1,"body_type": "Hatchback","city": "Mumbai","area": "Santacruz(E)","seller_type": "dealer","seller_name": "Example Motors","emi_from_inr": 1421,"key_features": ["Manual Air Conditioner", "Engine Immobiliser", "Child Safety Lock"],"seller_contact_redacted": false,"detail_scraped": false}
Pricing
Pay per event. You pay for cars delivered, never for error rows and never twice for the same car in a run.
| Event | Price |
|---|---|
| Car listing | $0.00085 |
Car detail page (only with includeDetails) | $0.0015 |
| Dealer (only with Output type Dealers) | $0.001 |
| Actor start | $0.00001 (platform minimum) |
1,000 cars cost $0.85; with detail pages, $2.35. If you set a maximum cost for the run, the actor stops cleanly when it is reached and tells you so in the status message. You are never charged beyond your limit, and never for a car that was not delivered.
Reliability
- Plain HTTPS against CarWale's public search data. No browser: 512 MB of memory is plenty (measured on Apify: peak 59 MB for the default run, 132 MB for 100 cars with detail pages).
- The default run (no input) finishes in about 10 seconds; 100 cars with detail pages in under a minute.
- If CarWale starts limiting requests, all requests pause together and resume, instead of hammering the site.
- If you set a short timeout, the actor stops early, delivers what it has and finishes green with a message saying what was left.
- A wrong input (an unknown city, a non-CarWale URL, min price above max) ends green with an error row explaining what to fix. Nothing is charged.
FAQ
Is there an official CarWale API for used cars? Not a public one. This actor reads the same public search data the CarWale website uses and gives it to you as JSON, CSV or Excel, or through the Apify API, so you can use it as a CarWale used cars API.
Can I get used car prices for one city or one model?
Yes. Pick a city and a make, or paste any CarWale used-car search page into
startUrls, for example https://www.carwale.com/used/pune/maruti-suzuki-swift/.
What is market_price_inr?
CarWale's own valuation of that car (model, variant, year, km, city). With the
asking price on the same row, price_vs_market_pct tells you how far each ask
is above or below market. It was filled on 85.3% of cars (n = 653).
Do I get the seller's phone number?
For dealers, the phone shown on the detail page (55% of dealer cars, it is a
CarWale call-tracking number). For private owners, contact data is withheld
unless you turn on includePrivateSellerContact.
Can I get a list of used car dealers in Delhi, Mumbai or Bangalore? Yes: set Output type to Dealers and a city. You get one row per dealership with its stock size, price range and makes, billed per dealer.
How many cars can I scrape? As many as the search has. CarWale pages through about 34,000 results per search; above that the actor splits the search into price bands automatically.
Why did my run return an error row and no cars? The input could not be used (for example a URL that is not a CarWale used-car search page, or a minimum price above the maximum), or no car matches the filters. The row says what to change. Error rows are never charged.
How fresh is the data?
Every run reads the live site. scraped_at is on every row.
Data and use
This actor collects publicly visible listing data. You are responsible for how you use it, including any personal data you choose to enable. To have a listing removed from future runs, contact us through the Apify issues tab.