Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Cars24 API page →
Classifieds & Second-hand

Cars24 API & Scraper

The Cars24 API turns cars24.com, India's largest used-car recommerce platform, into clean JSON in eight actions.

8 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Cars24 is two marketplaces in one and this API keeps them apart: 6,746 cars are Cars24's own refurbished stock sold from its hubs, and 23,424 are owner-direct listings Cars24 badges Verified Direct Seller — 30,170 cars in total on 2026-10-02, across 184 cities. search narrows that catalogue by city, make across 32 brands, model, seller kind, fuel, body type, transmission and the exact gearbox technology, colour, seat count, owner count, sixteen equipment flags, price band in rupees, model-year band, odometer band, minimum discount, state and city RTO code, and the individual Cars24 branch the car stands at — every one of those filters measured against the count Cars24 itself publishes for that value in the same run. Each row carries the car id and canonical cars24.com URL, the title, make, model and variant, the model year and registration date, the drive-away price in whole rupees with Cars24's own lakh string beside it, the odometer both as a number and as printed, fuel, transmission, body type, colour, seat count, how many owners it has had, the masked RTO plate, the locality and coordinates where it physically stands, the photo count, when it was first listed, the seller kind, the assurance plan and Cars24's own finance estimate with its interest rate and tenure. detail adds what makes Cars24 different from a classifieds site: its own inspection report, area by area, with the number of cosmetic imperfections found, Cars24's own OK, WARN or ERROR verdict, the inspector's written note and the defect photographs; the complete 71-row spec and feature table; the remaining tread life of each of the five tyres; the service-history summary; insurance type and fitness-certificate expiry; and the hub with street address, pincode and opening hours. price_breakdown explains the headline price line by line — base price, RC transfer, government-mandated insurance — so you can see why a car listed at 1.91 lakh has a 1.79 lakh base. batch_detail refreshes up to ten cars in one call. filters returns all eighteen filter groups with a live car count on every value, including the whole make-to-model tree, which is the only honest way past Cars24's own 10,000 cap on reported totals. cities lists all 184 served cities with their ids and car counts, and hubs lists Cars24's physical branches in one city. similar returns the comparables Cars24 itself recommends against a listing. No Cars24 account, one ReefAPI key and the standard { ok, data, meta, error } envelope.

Reference

The money fields, and the two that look like prices but are not

A Cars24 record carries four price-shaped numbers and only one is the price. This API names each of them for what it is and refuses to publish the one that contradicts itself. Fill rates below are over 160 distinct live cars, 80 per run across two runs in two different cities, sampled across body types and across both seller kinds.

fieldwhat it ismeasured
price_inrThe drive-away asking price in whole Indian rupees — the number the car's own page prints as its headline and publishes in its structured data. Not paise, not lakh.160 of 160 filled. Checked against the price the car's own page publishes in its schema.org offer on 13 cars: 13 matched, 0 mismatched, 1 page unreachable
price_displayCars24's own lakh string for the same number, e.g. 1.91 lakh for 191,102 rupees, so the scale is visible without arithmetic.160 of 160 filled, and agreed with price_inr on 13 of 13 checked
price_ex_charges_inrCars24's own pre-charges figure. It is LOWER than price_inr on every car measured, because the headline includes RC transfer and mandated insurance. Published under its own name so nobody mistakes it for the price.Lower than price_inr on 8 of 8 cars measured; absent on owner-direct cars
price breakdownThe price_breakdown action returns the lines behind the headline. On car 13421894115: base 178,583 plus RC transfer 10,000 plus third-party insurance, summing to the published 191,102.5 charge lines on the car measured, 4 on another
emiCars24's own monthly finance ESTIMATE, with the interest rate and tenure it is calculated at. It is not a price and is never returned as one.160 of 160 filled; 12 % per annum over 48 months on the car measured
originalPriceNOT PUBLISHED, deliberately. Cars24 ships this field but it contradicts its own prices: on 88 cars whose discount is zero — so it should equal the price — it differed on 68. On one 5.83 lakh car it reads 57,456, which would publish a tenfold error.68 of 88 disagreed; dropped rather than shipped
discount_pctCars24's own discount percentage where it flags one. Genuinely rare, and this API says so rather than defaulting it to zero.4 of 80 cars in one city, 11 of 80 in another
odometer_km / odometer_textKilometres as a number plus the string Cars24 printed. A zero reading is returned as null, because a used car with no odometer reading has no odometer reading.160 of 160 filled

Two numbers in this API are the source's own and are reported as such rather than smoothed: a total of exactly 10,000 means Cars24 stopped counting, not that there are 10,000 cars — the response says so with total_is_capped, and the filters action reports the real population. And a city total is exact: Cars24's own page headline said 2941 Used Cars in New Delhi in the same minute this API returned 2,941.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/cars24/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "city_id": 2,
    "max_results": 3
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "cars24",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1008.2,
    "record_count": 3,
    "bytes": 43272,
    "cache_hit": false,
    "completeness_pct": 100,
    "stop_reason": "limit_reached",
    "upstream_requests": 1,
    "charged_credits": 1,
    "version": "1.0.0",
    "request_id": "21e94e3d311f418d",
    "queue_ms": 1.5
  },
  "data": {
    "results": [
      {
        "car_id": "13477179195",
        "url": "https://www.cars24.com/buy-used-nissan-magnite-2023-cars-new-delhi-13477179195/",
        "title": "Nissan MAGNITE",
        "make": "Nissan",
        "model": "MAGNITE",
        "model_group": "MAGNITE",
        "variant": "XV MT",
        "year": 2023,
        "price_inr": 521055,
        "price_display": "₹5.21 lakh",
        "on_road_price_inr": null,
        "discount_pct": null,
        "odometer_km": 21930,
        "odometer_text": "21,930 km",
        "fuel": "Petrol",
        "transmission": "Manual",
        "body_type": "SUV",
        "colour": "Black",
        "seats": 5,
        "owners": 1,
        "rto_code": "UK07",
        "plate_masked": "UK07**9947",
        "registered_on": "2023-06-01",
        "listed_on": "2026-08-18T16:50:10Z",
        "city_id": 2,
        "locality": "Metro Walk, Rohini, New Delhi",
        "latitude": 28.72401184,
        "longitude": 77.11154607,
        "hub_id": 101,
        "hub_code": "LC_101",
        "photo_count": 49,
        "seller_kind": "cars24",
        "seller_label": "Cars24 Owned Stock",
        "assurance": "Zero Worry Max",
        "availability": "AVAILABLE",
        "fitness_age_years": 15,
        "test_drive_label": "Today",
        "badges": [
          "AS_GOOD_AS_NEW"
        ],
        "emi": {
          "monthly_from_inr": 9198,
          "monthly_to_inr": 9198,
          "tenure_months": 84,
          "interest_rate_pct_from": 12,
          "interest_rate_pct_to": 12,
          "down_payment_inr": null,
          "note": "Cars24's own finance estimate at the rate card its page ships — not a price."
        },
        "image_url": "https://media.cars24.com/hello-ar/dev/transformed/uploads/m/41d8ffd2-6cc8-4d97-bf66-f4c052cf1a69/7bbd3963-fa83-4c11-aac7-41c3bb6d05b4/4928e177-8027-4e55-9946-d4560ce5d45f/slot/2.jpg",
        "service_history_available": null
      },
      {
        "car_id": "11068090142",
        "url": "https://www.cars24.com/buy-used-ford-ecosport-2018-cars-new-delhi-11068090142/",
        "title": "Ford Ecosport",
        "make": "Ford",
        "model": "Ecosport",
        "model_group": "Ecosport",
        "variant": "TITANIUM + 1.5L PETROL AT",
        "year": 2018,
        "price_inr": 519434,
        "price_display": "₹5.19 lakh",
        "on_road_price_inr": null,
        "discount_pct": null,
        "odometer_km": 57513,
        "odometer_text": "57,513 km",
        "fuel": "Petrol",
        "transmission": "Auto",
        "body_type": "SUV",
        "colour": "White",
        "seats": 5,
        "owners": 1,
        "rto_code": "DL1C",
        "plate_masked": "DL1C*4583",
        "registered_on": "2018-05-01",
        "listed_on": "2026-06-26T16:48:00Z",
        "city_id": 2,
        "locality": "Metro Walk, Rohini, New Delhi",
        "latitude": 28.72401184,
        "longitude": 77.11154607,
        "hub_id": 101,
        "hub_code": "LC_101",
        "photo_count": 55,
        "seller_kind": "cars24",
        "seller_label": "Cars24 Owned Stock",
        "assurance": "Zero Worry Max",
        "availability": "AVAILABLE",
        "fitness_age_years": 15,
        "test_drive_label": "Today",
        "badges": [
          "TOP_MODEL"
        ],
        "emi": {
          "monthly_from_inr": 9169,
          "monthly_to_inr": 9169,
          "tenure_months": 84,
          "interest_rate_pct_from": 12,
          "interest_rate_pct_to": 12,
          "down_payment_inr": null,
          "note": "Cars24's own finance estimate at the rate card its page ships — not a price."
        },
        "image_url": "https://media.cars24.com/hello-ar/dev/transformed/uploads/m/c5ca7d47-bc60-4dde-9fd3-bd78b63c4b3b/eadb642e-5546-4a64-8b7a-6a97426a4ce6/bc18c997-ebfa-4996-a044-920ceee3f37e/slot/2.jpg",
        "service_history_available": null
      },
      {
        "car_id": "10133378117",
        "url": "https://www.cars24.com/buy-used-hyundai-creta-2020-cars-new-delhi-10133378117/",
        "title": "Hyundai Creta",
        "make": "Hyundai",
        "model": "Creta",
        "model_group": "Creta",
        "variant": "SX 1.4 TURBO DCT",
        "year": 2020,
        "price_inr": 907196,
        "price_display": "₹9.07 lakh",
        "on_road_price_inr": null,
        "discount_pct": null,
        "odometer_km": 62986,
        "odometer_text": "62,986 km",
        "fuel": "Petrol",
        "transmission": "Auto",
        "body_type": "SUV",
        "colour": "White",
        "seats": 5,
        "owners": 2,
        "rto_code": "DL2C",
        "plate_masked": "DL2C**7601",
        "registered_on": "2020-08-01",
        "listed_on": "2026-09-26T15:24:35Z",
        "city_id": 2,
        "locality": "Radisson Blu, Sector 13, Dwarka, New Delhi",
        "latitude": 28.59606484,
        "longitude": 77.03599862,
        "hub_id": 3250,
        "hub_code": "IN_CAR_CC_2_FC_7",
        "photo_count": 49,
        "seller_kind": "cars24",
        "seller_label": "Cars24 Owned Stock",
        "assurance": "Zero Worry Max",
        "availability": "AVAILABLE",
        "fitness_age_years": 15,
        "test_drive_label": "Today",
        "badges": [
          "TOP_MODEL"
        ],
        "emi": {
          "monthly_from_inr": 15533,
          "monthly_to_inr": 15533,
          "tenure_months": 84,
          "interest_rate_pct_from": 11,
          "interest_rate_pct_to": 11,
          "down_payment_inr": null,
          "note": "Cars24's own finance estimate at the rate card its page ships — not a price."
        },
        "image_url": "https://media.cars24.com/hello-ar/dev/transformed/uploads/m/68c98ff8-1f49-42a0-a6af-a59105a3e213/6ab7aa15c32ab73c6055ec4b/dfb6ccf7-1ec0-4a04-9cc4-8ff34a1905c3/slot/Right_Front_Diagonal_Image.jpeg",
        "service_history_available": null
      }
    ],
    "total_available": 2941,
    "total_is_capped": false,
    "returned": 3,
    "page_ceiling": 30,
    "next_cursor": "[5000001.99969995, \"10133378117\"]",
    "sort": "best_match",
    "city": {
      "city_id": 2,
      "city_code": "CC_2"
    },
    "segment_counts": {
      "standard": 2917,
      "luxe": 24
    },
    "headline": "2941 Used Cars in New Delhi - Second Hand Cars for Sale",
    "filters_applied": []
  }
}
Actions

What the Cars24 API does

ActionDescriptionConcrete use caseKey params
searchSearch Cars24's Indian used-car catalogue — both its own refurbished stock and the owner-direct cars on the same platform. 30,170 cars across 184 cities on 2026-10-01, counted from the source's own facet endpoint. Returns the car, its price in rupees, odometer, year, variant, colour, seats, owner count, masked RTO plate, body/fuel/gearbox, where it physically stands (locality + coordinates), the canonical cars24.com URL, the photo count, when it was first listed, the seller kind and Cars24's own finance estimate. Every filter below was measured against the count the source itself published for that value in the same run. 🔴 Two honesty notes you should plan for: the source caps `total_available` at 10,000 (so an all-India query returns `total_is_capped: true` and you should read the real population from `filters`), and one page is at most 30 rows — walk further with `cursor`, which was measured to have zero overlap and to reach 100 % of a city's published total.Price-intelligence teams call search to search Cars24's Indian used-car catalogue.city_id, make, model, seller_kind, fuel, ...
detailOne car in full, from Cars24's own car-detail endpoint — 79 keys on the car measured. Everything a `search` row carries plus: Cars24's INSPECTION REPORT (`condition`: per-area imperfection count, the source's own OK/WARN/ERROR status, its written note and, where published, the inspector's engine clip) with the defect photographs; the complete spec and feature table as Cars24 groups it (71 rows on the car measured); tyre tread life per wheel; the service-history summary; insurance type and fitness-certificate expiry; the hub it stands at with street address and opening hours; the photo gallery grouped exterior / interior / tyres / defects; Cars24's own buying highlights and promises; and how many people have wishlisted it. 🔴 Measured and published honestly: an OWNER-DIRECT car has no inspection report and no service history — those come back null with a warning naming them, never faked. A dead id returns NOT_FOUND, not an empty success.Classifieds aggregators call detail to get one car in full, from Cars24's own car-detail endpoint.car_id
batch_detailSearch-grade rows for up to 10 car ids in ONE upstream request — the cheapest way to refresh a watchlist. Measured: 5 ids → 5 rows in 63 KB (~12.6 KB per car) against 85 KB for one `detail`. Ids the source no longer publishes are returned in `missing` instead of silently disappearing; if none of the ids resolve you get NOT_FOUND. This is NOT the full detail record — no inspection report, no spec table; use `detail` for those.Resale and arbitrage tools call batch_detail to get search-grade rows for up to 10 car ids in ONE upstream request.car_ids
price_breakdownCars24's own line-by-line breakdown of the drive-away price for one car: base price, RC-transfer price, government-mandated third-party insurance and any further charges, each with the source's own title, explanation and amount in rupees. Measured on car 13421894115: base ₹178,583 + RC transfer ₹10,000 + insurance, summing to the ₹191,102 the listing headline prints. A tiny call — 1.9 KB. A dead id returns NOT_FOUND.Lead-generation teams call price_breakdown to get cars24's own line-by-line breakdown of the drive-away price for one car.car_id
filtersThe live filter vocabulary WITH a car count on every value — the honest way to size a market before searching it, and the only way to see past the 10,000 cap the search surface puts on its own total. 18 filter groups: the whole make → model tree (32 makes, 35 Maruti models), fuel, body, transmission with its sub-types, colour, seats, owner count, 16 equipment flags, state and city RTO codes, the Cars24 hubs in the city, discount bands and paid add-ons, plus the price / year / odometer sliders' own break points. Pass `city_id` for one city's counts, omit it for all of India (30,170 cars on 2026-10-01).Price-intelligence teams call filters to get the live filter vocabulary WITH a car count on every value.city_id, facet
citiesEvery Indian city Cars24 serves — 184 on 2026-10-01 — with its city id, its cars24.com URL, whether Cars24 features it, a live total car count and, per city, the makes on sale with a count each. This is the lookup you need before `search`, because `city_id` is Cars24's own numeric key. Measured: Delhi NCR id 1, 7,040 cars, Maruti 2,140 of them.Classifieds aggregators call cities to get every Indian city Cars24 serves.query, featured_only, with_brands
hubsCars24's physical branches in one city, as Cars24 publishes them: street address, locality, pincode, coordinates, Google-maps link, opening hours, working days and weekly off, how many cars stand there, whether it is an elite hub, the branch's own page URL and the sales manager's name the site prints. Measured: city 2 (New Delhi) → 4 hubs in 9.6 KB; city 1 (Delhi NCR) → more, 23.9 KB. A city id with no hubs answers with an empty body upstream and is returned as NOT_FOUND rather than a crash.Resale and arbitrage tools call hubs to get cars24's physical branches in one city, as Cars24 publishes them.city_id
similarThe cars Cars24 itself recommends against one listing — its own similar-cars surface, returned as full `search`-grade rows. Useful for comparables and for pricing a car against its live alternatives. Measured: one id → 20 rows in 132 KB. 🔴 A dead id answers HTTP 200 with an empty `content` array upstream; that is reported as NOT_FOUND, never as an empty success.Lead-generation teams call similar to get the cars Cars24 itself recommends against one listing.car_id
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/cars24/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"city_id":2,"max_results":3}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.cars24.search with {"city_id":2,"max_results":3}.
Use cases

Who uses this API and why

  • Price a specific used car against live Indian supply: search by make, model, year band and odometer band in one city, read total_available and the price spread, then pull price_breakdown to see how much of each headline is RC transfer and insurance rather than the car.
  • Build an inspected-only feed: filter seller_kind=cars24 for the 6,746 refurbished cars, then use detail to read Cars24's own per-area imperfection counts, OK/WARN/ERROR verdicts, defect photographs and tyre tread, which no classifieds site publishes.
  • Size a market before committing to it: one filters call returns 18 filter groups with a live count on every value — 32 makes with their models, fuel split, body split, gearbox technologies, colours, seat counts, owner counts and sixteen equipment flags — for all of India or for one of 184 cities.
  • Track a watchlist cheaply: batch_detail refreshes up to ten car ids in a single call and returns the ones that have been sold in a missing list, so a price drop or a disappearance is one request away instead of ten.
  • Map physical supply: hubs returns Cars24's branches in a city with address, pincode, coordinates, opening hours and the number of cars standing at each, and every search row carries the hub id and coordinates for the car itself.
FAQ

Questions developers ask before integrating

How many cars are there, and why does an all-India search say 10,000?

30,170 on 2026-10-02, measured from Cars24's own filter counts, across 184 cities. Cars24's listing surface caps the total it reports at exactly 10,000: an all-India search, an all-India petrol search and an all-India SUV search all report 10,000, while the filter counts for the same queries in the same minute were 30,170, 18,671 and 12,470. This API does not hide that. It returns total_is_capped: true whenever the number is 10,000, and the filters action gives you the real population. Any city-scoped search is below the cap and exact.

What does Cars24's inspection report actually contain?

For Cars24's own refurbished stock, detail returns a condition block with one entry per inspected area — exteriors, engine and transmission, air-conditioning, electricals and interior, steering, suspension and brakes, and tyres — each with the number of cosmetic imperfections Cars24 found, its own OK, WARN or ERROR verdict, the written note explaining it, and in some cases an engine clip the inspector recorded. Alongside it you get the defect photographs, the remaining tread life of each of the five tyres in kilometres, and the service-history summary. Owner-direct cars have no inspection report at all; see the next question.

Does every car have an inspection report?

No, and this is the single most important limit on the dataset. Cars24 inspects and refurbishes its own stock — 6,746 cars — and those carry the condition block and the service history. The other 23,424 cars are owner-direct listings and Cars24 publishes no inspection report, no service history and no pre-charges price for them. This API returns null for those fields and a warning naming exactly which blocks the source does not publish for that seller kind. It never fabricates a condition score. Filter on seller_kind=cars24 if you only want inspected cars.

Can I search by free text, like a make and model in one string?

No, because Cars24 publishes no text-search surface — its autocomplete rejects a bare search term and nothing else in the product offers one. This API does not pretend otherwise: discovery runs on structured filters instead, which in practice is stronger. make takes 32 brands, model takes the model key, and the filters action returns the whole make-to-model tree with a live count on every node, so you never have to guess a spelling. Maruti has 35 models and 7,996 cars, Hyundai 29 models and 6,050, Tata 37 models and 3,454.

How many rows per call, and can I page through a whole city?

30 rows per call. That is Cars24's own hard ceiling and not a choice: asking for 50, 100, 200, 500 or 1000 all return exactly 30. Paging uses a cursor you pass straight back as next_cursor, and it was measured properly: six consecutive pages gave 120 rows and 120 distinct cars, overlap zero, and a small city was walked to exhaustion — Vijayawada, 69 published cars, 69 collected, 69 distinct, 100 % of the catalogue reachable. Repeat the same first call and you get the same 30 cars in the same order, so a sync is stable.

Is the seller a person I can contact?

No, and no API can give you that from Cars24 because Cars24 does not publish it. There is no phone number on a car row — 0 of 90 rows measured — and an owner-direct listing publishes a locality and nothing else about the person. For Cars24's own stock the seller is Cars24 itself, and the published contact point is the branch: the hubs action returns each hub's street address, pincode, coordinates, map link, opening hours, working days, how many cars stand there and the branch sales manager's name, all as Cars24 prints them. Plates come to you masked — DL8C**8470 — because that is how the source publishes them.

Which filters actually work, and how do you know?

Every filter this API exposes was measured against the count Cars24's own filter surface published for that value in the same run, in two different cities. In New Delhi, against an unfiltered 2,941: maruti 906, petrol 1,911, petrol plus diesel 2,229 which is 1,911 plus 318 exactly, hatchback 1,282, automatic 625, AMT gearbox 149, white 1,156, five-seat 2,570, first-owner 1,968, sunroof 432, Delhi-8C plates 405, one named hub 196, Cars24 stock 436 and owner-direct 2,505 — and 436 plus 2,505 is 2,941, the whole city. Price, year and odometer bands bit too. Filters Cars24 accepts and then ignores were found during testing and are deliberately not offered.

How fast is it, and how reliable was it when you measured?

Two independent runs on two different cities, the same fixed 68-case list each time: 51 of 51 live calls succeeded in both runs, and all 17 intended failures landed on the correct error code in both. Median response 1.27 seconds in one run and 1.07 in the other; every action costs exactly one upstream request. One car-detail call in the first run took 4.9 seconds after a network hiccup and the API retried it rather than failing; every other call in both runs was under 1.6 seconds. A dead car id returns a clean not-found rather than an empty success, and a filter combination with genuinely no matches returns ok:true with zero rows and a note saying so, because an empty answer is an answer.

What is the Cars24 API?

Cars24 API is a ReefAPI endpoint group for india's used-car recommerce platform: 30,170 live cars across 184 cities, price in rupees, odometer, 71-row spec table, cars24's own inspection report and the hub the car stands at. It returns live JSON through POST requests under /cars24/v1.

Is the Cars24 API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Cars24 calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Cars24 login or account?

No login to Cars24 is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Cars24 data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Cars24 API use?

Cars24 actions currently cost 1-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Cars24 from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call cars24 actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / cars24

Cars24

India's used-car recommerce platform: 30,170 live cars across 184 cities, price in rupees, odometer, 71-row spec table, Cars24's own inspection report and the hub the car stands at.

base /cars24/v18 endpoints
post/cars24/v1/detail2 credits

One car in full, from Cars24's own car-detail endpoint — 79 keys on the car measured. Everything a `search` row carries plus: Cars24's INSPECTION REPORT (`condition`: per-area imperfection count, the source's own OK/WARN/ERROR status, its written note and, where published, the inspector's engine clip) with the defect photographs; the complete spec and feature table as Cars24 groups it (71 rows on the car measured); tyre tread life per wheel; the service-history summary; insurance type and fitness-certificate expiry; the hub it stands at with street address and opening hours; the photo gallery grouped exterior / interior / tyres / defects; Cars24's own buying highlights and promises; and how many people have wishlisted it. 🔴 Measured and published honestly: an OWNER-DIRECT car has no inspection report and no service history — those come back null with a warning naming them, never faked. A dead id returns NOT_FOUND, not an empty success.

ParameterAllowed / rangeDescription
car_idrequired—Cars24's own listing id (it calls it `appointmentId`) — the trailing number of any cars24.com car URL, e.g. 13421894115 in /buy-used-hyundai-eon-2015-cars-new-delhi-13421894115/, and the `car_id` of every `search` row. An id that does not exist returns NOT_FOUND.
Try in playground →
post/cars24/v1/batch_detail2 credits

Search-grade rows for up to 10 car ids in ONE upstream request — the cheapest way to refresh a watchlist. Measured: 5 ids → 5 rows in 63 KB (~12.6 KB per car) against 85 KB for one `detail`. Ids the source no longer publishes are returned in `missing` instead of silently disappearing; if none of the ids resolve you get NOT_FOUND. This is NOT the full detail record — no inspection report, no spec table; use `detail` for those.

ParameterAllowed / rangeDescription
car_idsrequired—Up to 10 Cars24 listing ids in one call. Measured: 5 ids in one upstream request returned all 5 rows in 63 KB — about 12.6 KB per car against 85 KB for a single `detail`, so a batch is genuinely cheaper per car. Ids that no longer exist come back in `missing`.
Try in playground →
post/cars24/v1/price_breakdown1 credit

Cars24's own line-by-line breakdown of the drive-away price for one car: base price, RC-transfer price, government-mandated third-party insurance and any further charges, each with the source's own title, explanation and amount in rupees. Measured on car 13421894115: base ₹178,583 + RC transfer ₹10,000 + insurance, summing to the ₹191,102 the listing headline prints. A tiny call — 1.9 KB. A dead id returns NOT_FOUND.

ParameterAllowed / rangeDescription
car_idrequired—Cars24's own listing id (it calls it `appointmentId`) — the trailing number of any cars24.com car URL, e.g. 13421894115 in /buy-used-hyundai-eon-2015-cars-new-delhi-13421894115/, and the `car_id` of every `search` row. An id that does not exist returns NOT_FOUND.
Try in playground →
post/cars24/v1/filters2 credits

The live filter vocabulary WITH a car count on every value — the honest way to size a market before searching it, and the only way to see past the 10,000 cap the search surface puts on its own total. 18 filter groups: the whole make → model tree (32 makes, 35 Maruti models), fuel, body, transmission with its sub-types, colour, seats, owner count, 16 equipment flags, state and city RTO codes, the Cars24 hubs in the city, discount bands and paid add-ons, plus the price / year / odometer sliders' own break points. Pass `city_id` for one city's counts, omit it for all of India (30,170 cars on 2026-10-01).

ParameterAllowed / rangeDescription
city_idoptional1–Cars24's own city id. 184 cities are served; call the `cities` action for the whole list with a live car count each. Measured in one run: 2 = New Delhi (2,941 cars, exactly the "2941 Used Cars in New Delhi" headline the site printed in the same minute), 1 = Delhi NCR cluster (6,924). 🔴 OMIT IT AND YOU SEARCH ALL OF INDIA — but the source caps the reported total at 10,000 there, so `total_is_capped` comes back true and the real population (30,170 on 2026-10-01) must be read from the `filters` action.
facetoptionalmake_model · budget · year · odometer · fuel · body_type · transmission · colour · seats · owners · seller_kind · features · rto · hub · discount · extras · smart_picksReturn only this one filter group instead of all 18. Omit for everything.
Try in playground →
post/cars24/v1/cities2 credits

Every Indian city Cars24 serves — 184 on 2026-10-01 — with its city id, its cars24.com URL, whether Cars24 features it, a live total car count and, per city, the makes on sale with a count each. This is the lookup you need before `search`, because `city_id` is Cars24's own numeric key. Measured: Delhi NCR id 1, 7,040 cars, Maruti 2,140 of them.

ParameterAllowed / rangeDescription
queryoptional—Case-insensitive substring of the city name. Measured: `delhi` matches Delhi NCR and New Delhi.
featured_only = falseoptional—Only the cities Cars24 flags as featured.
with_brands = trueoptional—Include the per-city make counts. Turn it off for a much smaller answer.
Try in playground →
post/cars24/v1/hubs1 credit

Cars24's physical branches in one city, as Cars24 publishes them: street address, locality, pincode, coordinates, Google-maps link, opening hours, working days and weekly off, how many cars stand there, whether it is an elite hub, the branch's own page URL and the sales manager's name the site prints. Measured: city 2 (New Delhi) → 4 hubs in 9.6 KB; city 1 (Delhi NCR) → more, 23.9 KB. A city id with no hubs answers with an empty body upstream and is returned as NOT_FOUND rather than a crash.

ParameterAllowed / rangeDescription
city_idrequired1–Cars24 city id — see the `cities` action.
Try in playground →
post/cars24/v1/similar2 credits

The cars Cars24 itself recommends against one listing — its own similar-cars surface, returned as full `search`-grade rows. Useful for comparables and for pricing a car against its live alternatives. Measured: one id → 20 rows in 132 KB. 🔴 A dead id answers HTTP 200 with an empty `content` array upstream; that is reported as NOT_FOUND, never as an empty success.

ParameterAllowed / rangeDescription
car_idrequired—Cars24's own listing id (it calls it `appointmentId`) — the trailing number of any cars24.com car URL, e.g. 13421894115 in /buy-used-hyundai-eon-2015-cars-new-delhi-13421894115/, and the `car_id` of every `search` row. An id that does not exist returns NOT_FOUND.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.