ActorStack.dev
E-commerceLead generationv0.1.2updated 30 September 2026

CarWale Scraper — India Used Car Prices, Specs & Dealers

The asking price and CarWale's own valuation, on one row.

Extracts used-car listings from CarWale.com, one of India's largest car marketplaces, with the asking price, CarWale's own market valuation for that car and the new on-road price on the same row. Detail pages optionally add the spec sheet, features, insurance and CarWale's price rating.

oswaldocarabano/carwale-scraper

input.json
{
  "city": "mumbai",
  "make": "hyundai",
  "sellerType": "dealer",
  "sortBy": "price_asc",
  "maxItems": 500,
  "includeDetails": false
}
Version
v0.1.2
Memory
512 MB
Browser
none
Proxy
None needed

Short answer

The CarWale Scraper extracts used-car listings from CarWale.com in India with the asking price, CarWale's own market valuation (`market_price_inr`) and the new on-road price on one row, plus the gap between asking and market price as a percentage. Measured on 653 cars from 12 searches on 23 September 2026, the valuation was filled on 85.3% and the new on-road price on 84.8%. CarWale listed about 108,000 used cars, 48.3% from private owners, whose names, registration numbers and notes are withheld by default. Detail pages add the spec sheet, features and CarWale's price rating. Pricing is $0.00085 per car and $0.0015 per detail page.

Key points

  • The CarWale Scraper returns CarWale's own valuation of each car in `market_price_inr`, filled on 85.3% of 653 cars measured on 23 September 2026.
  • `price_vs_market_pct` gives the gap between the asking price and CarWale's valuation, so below-market cars can be filtered with no pricing model of your own.
  • CarWale's valuation is the marketplace's own estimate, not an independent one, and the CarWale Scraper passes it through unchanged.
  • Private owners sold 48.3% of CarWale's national stock (52,171 of 107,995 on 23 September 2026), and their names, registration numbers and notes are withheld by default.
  • CarWale pages through about 34,000 results per search, so the CarWale Scraper splits larger searches into price bands.
  • A thousand cars cost $0.85, or $2.35 with detail pages, and error rows are never charged.
On this page11 sections

What it does

Extracts used-car listings from CarWale.com, one of India's largest car marketplaces, with the asking price, CarWale's own market valuation for that car and the new on-road price on the same row. Detail pages optionally add the spec sheet, features, insurance and CarWale's price rating.

output — one row
{
  "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
}

Why this one

Three prices on one row

The asking price, CarWale's valuation for that model, variant, year, mileage and city, and the new on-road price arrive together. That makes depreciation and below-market screens one filter rather than a join — the same idea as coches.net's price rank, from a different marketplace's estimate.

Gaps stated rather than filled in

CarWale ignores its own kilometre filter — the result count does not change — so the CarWale Scraper does not offer one. `drivetrain`, a trusted-dealer flag, booking status and a listing phone came back empty on all 653 search rows and are not promised from search results.

Stable sort orders for deep runs

CarWale's relevance order is reshuffled on every request, so deep runs on it return fewer unique cars per page. The CarWale Scraper defaults to price ascending, which pages without gaps.

Dealers as a second output with no extra requests

`outputType: dealers` builds one row per dealership from the same search results — stock seen, price range and makes — so it costs no additional requests.

Use cases

  • Build an India used-car price dataset with asking price, CarWale valuation and new on-road price side by side.
  • Screen for cars asking below CarWale's own valuation with `price_vs_market_pct`.
  • Compile used-car dealer lists for Delhi, Mumbai, Bangalore or another city.
  • Track used-car supply by city, make, fuel, transmission and number of owners.
  • Compare specs across listings from detail pages: engine, power, torque, mileage and features.

Input

Every field has a default, and the defaults are deliberately small so a first run is cheap enough to inspect before you commit to a sweep. This table mirrors the Actor's own input schema field for field.

FieldDefaultWhat it does
citystring(all India)CityOne of 17 cities; use `startUrls` for others.
makestring(all)MakeOne of 45 makes.
startUrlsstring[][]Start URLsAny CarWale used-car search page, e.g. `/used/mumbai/hyundai-creta/`.
sellerTypestringallSeller typepersonal data`dealer`, `individual` or `all`.
fuelType / transmission / ownersstringanyVehicle filtersChecked against CarWale's own counters.
minPriceLakh / maxPriceLakhinteger—Price range (lakh ₹)1 lakh = ₹100,000.
maxAgeYearsinteger—Maximum ageBy model year.
sortBystringprice_ascSort byPrice and km orders page without gaps; `relevance` is reshuffled per request.
maxItemsinteger50Maximum resultsCars, or dealers in dealers mode.
includeDetailsbooleanfalseInclude detail pagesAdds colour, registration, insurance, specs, features, dealer phone and price rating. About 24 times slower.
outputTypestringlistingsOutput type`listings` or `dealers`.
includePrivateSellerContactbooleanfalseInclude private sellers' name and registrationpersonal dataOff by default. Turn on only with a lawful basis to process personal data.
includeNearbyCitiesbooleanfalseInclude nearby-city carsCarWale can pad a city search with neighbouring cities; off keeps every row in the city asked for.
maxConcurrencyinteger3Parallel requests8 in parallel returned no errors when measured.

Output and fill rates

A field being in the schema is not the same as it having a value. The percentages below were counted on real runs; the sample sizes are in Measurements. Anything not listed here is not promised.

FieldFilledMeaning
listing_idstring100%CarWale stock identifier.
url / titlestring100%Public listing URL and title.
make / model / variantstring100%With CarWale's own IDs.
yearinteger100%Model year.
price_inrinteger100%Asking price in rupees, with `price_text`.
market_price_inrinteger85.3%CarWale's own valuation of this model, variant, year, km and city.
new_on_road_price_inrinteger84.8%New on-road price of the equivalent car.
price_vs_market_pctnumbernot measuredAsking price against the valuation, in percent; computed only when the valuation is present.
km_driveninteger100%Kilometres.
fuel_type / transmissionstring100%Fuel and gearbox.
ownersinteger95.7%Number of previous owners.
citystring100%Listing city.
areastring87.6%Neighbourhood.
seller_typestring100%`dealer` or `individual`.
emi_from_inrinteger100%Lowest advertised EMI.
trimstring99.7%Trim level.
seating_capacityinteger97.5%Seats.
key_featuresstring[]97.5%Features shown on the card.
images / image_urlstring[] / stringnot measured100% of 205 dealer cars, 37.5% of 448 private-owner cars. No blended figure is published.
tagsstring[]39.1%Badges such as "Great Price" or "Home Test Drive".
is_finance_eligibleboolean13.3%Finance badge.
additional_fuelstring5.8%CNG or LPG bi-fuel.
price_ratingstringnot measuredDetail pages only: great, fair or high price. 75% of 100 dealer cars, 67% of 30 private cars.
dealer_phonestring55%Detail pages only, dealers only: a CarWale call-tracking number. n = 100 dealer cars.
seller_contact_redactedboolean100%Whether a private owner's personal data was withheld.

Every key is always present. A field that exists but is empty comes back as explicit null, so a parser never has to guess.

Datasets

Different record types go to different datasets, so the main table never carries columns that are blank on most rows.

  • defaultOne row per car, or one row per dealership when `outputType` is `dealers`.billed
  • Error rowsAn unusable input or a search with no match returns one row saying what to change. Never charged.never billed

Pricing

Pay per delivered result. Charges are applied as each row is produced rather than in a lump at the end, so an aborted run bills only for what it actually gave you.

EventPriceNotes
apify-actor-startActor start$0.00001Once per run; the platform minimum.
car-listingCar listing$0.00085One used-car row: asking price, market valuation, new on-road price, km, fuel, owners, body, city, seller, photos and features.
car-detailCar detail page$0.0015Only with `includeDetails`: colour, registration, insurance, engine, power, specs, features, dealer phone and price rating.
dealerDealer$0.001Only in dealers mode: one dealership with city, areas, stock seen, price range and makes.

Measurements

Each figure is shown with the method that produced it. A benchmark without a method is a marketing claim wearing a number's clothes.

Search fill rates

market valuation 85.3%, new on-road price 84.8%

n = 653 cars from 12 searches across 8 cities and national, live site, 23 September 2026.

Populated fields per row

median 41 without detail pages, 72 with

Every row carries the same 96 keys; same 23 September measurement.

Detail-page fill rates

dealer phone 55%; price rating 75% dealer, 67% private

Local verification runs: n = 100 dealer cars in Delhi and n = 30 private cars in Pune.

Private-owner share

48.3% nationally; 21–32% in the big cities

52,171 of 107,995 used cars on 23 September 2026, from CarWale's own counters.

Detail-page cost

about 24× a search result

One page per car instead of one request per 24 cars; 64 KB against 275 bytes per car.

What it will not do

Stated plainly so you can judge fit before spending anything.

  • `market_price_inr` is CarWale's estimate and is filled on 85.3% of cars, not all of them; CarWale does not publish its valuation method.
  • Detail pages cost about 24 times a search result in requests and bytes, and they are off by default.
  • `dealer_phone` comes only from detail pages, on 55% of 100 measured dealer cars, and the README describes it as a CarWale call-tracking number rather than the dealer's own line.
  • Detail-page fill rates come from local verification runs (100 dealer cars in Delhi, 30 private cars in Pune), a smaller sample than the 653-car search measurement.
  • CarWale's robots.txt (checked 10 October 2026) disallows `/api/*`, and `/api/stocks/` is the CarWale Scraper's primary source. The CarWale Scraper does not filter by robots.txt.

Privacy

  • Private owners sold 48.3% of CarWale's national stock (52,171 of 107,995, 23 September 2026). A private listing carries the seller's name; the detail page carries the registration number and notes.
  • By default those are withheld for private owners and the row is marked `seller_contact_redacted: true`. The car data is still delivered.
  • India's Digital Personal Data Protection Act, 2023 governs personal data of individuals; `includePrivateSellerContact` should be turned on only with a lawful basis.
  • Phone numbers typed into free text are removed on every row, whoever the seller is. Dealer data is always included.
  • Removal requests: privacy@actorstack.dev

See also the data removal process.

Frequently asked questions

Is there an official CarWale API for used cars?
CarWale does not offer a public used-car API. The CarWale Scraper reads the same public search data the CarWale website uses and returns it as JSON, CSV or Excel, or through the Apify API.
What is market_price_inr in the CarWale Scraper output?
`market_price_inr` is CarWale's own valuation of that car, by model, variant, year, kilometres and city, passed through unchanged. It was filled on 85.3% of 653 measured cars, and CarWale does not publish how it is computed.
Does the CarWale Scraper return the seller's phone number?
For dealers, the phone shown on the detail page — on 55% of 100 measured dealer cars, and described as a CarWale call-tracking number. For private owners, contact data is withheld unless `includePrivateSellerContact` is turned on.
How many cars can one CarWale run return?
As many as the search matches. CarWale pages through about 34,000 results per search, and above that the CarWale Scraper splits the search into price bands automatically.
What does a CarWale run cost?
$0.00085 per car, $0.0015 more per detail page and $0.001 per dealer in dealers mode. A thousand cars cost $0.85, or $2.35 with detail pages, and error rows are never charged.

Guides for this Actor