Kavak API & Scraper
The Kavak API returns the used cars Kavak sells from its own stock in Mexico, Argentina and Chile as clean JSON in three actions, one country per call.
🤖 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.
Kavak is not a classifieds site: it buys, inspects and sells every car itself from its branches, so every listing has the same structure and the same seller. search filters by make, model, free text, region, branch, fuel, gearbox, body type, colour, driven wheels, availability, seats, price, model year and mileage, in Kavak's seven sort orders. Every response carries Kavak's own total for the query and 30 cars a page, each with the stock id, title, make, model, trim, model year, the price the card prints in the country's currency (MXN, ARS or CLP) and what kind of price it is, the monthly payment Kavak prints in Mexico, mileage, gearbox, colour, region, whether another buyer has reserved the car, and its photo. That price kind matters: Kavak's cards usually print the lower price you pay when you finance with Kavak credit, not the cash price, so the API names it. detail opens one car in full: the cash price and the credit price side by side with the service fee and the total of each, the opening down payment of Kavak's credit simulator, the VIN, fuel, engine size, horsepower, cylinders, gears, doors, seats, equipment highlights and the full feature list, the branch with address and map coordinates, delivery time, close-up photos of small imperfections, every photo and similar cars. makes lists the makes, models, regions and branches in stock per country. On 2026-10-14 the stock was 8,437 to 8,438 cars in Mexico, 1,373 to 1,375 in Argentina and 1,208 to 1,215 in Chile. One ReefAPI key, the standard { ok, data, meta, error } envelope.
The prices Kavak publishes on each car
A Kavak car carries up to two prices and a fee. The API returns each under its own name; the examples are cars measured on 2026-10-14.
| Field | What it is | Example |
|---|---|---|
| price + price_kind | The number the search card prints, and whether it is the Kavak-credit ('Precio desde') or the cash price | 189,999 MXN, from_financed (2024 Dodge Attitude) |
| price_cash / price_financed | Cash price and Kavak-credit price, side by side (detail) | 191,999 / 189,999 MXN |
| service_fee_cash / total_cash | Kavak's service fee and the total for each way of paying (Mexico) | 9,600 + 191,999 = 201,599 MXN |
| initial_down_payment | The down payment Kavak's credit simulator opens with (Mexico) | 142,499 MXN |
| monthly_payment | The monthly payment the Mexican card prints | 3,855 MXN / month |
| promotion_price | Argentina's 'Precio financiando 50%' price, next to the cash price | 17,550,538 vs 17,769,538 ARS |
| seller | The Kavak branch holding the car, with address and map coordinates | Kavak Tigre, Provincia de Buenos Aires |
Kavak's search cards mostly print the credit price, which in Mexico was below the cash price on 99 of 100 cars in Kavak's own feed (up to 8.9 % lower). Use price_kind on search rows, or price_cash and price_financed on detail, before comparing cars. The price excludes Kavak's service fee in Mexico.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/kavak/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"country": "mx",
"make": "nissan",
"model": "versa"
}
}{
"ok": true,
"meta": {
"api": "kavak",
"endpoint": "search",
"mode": "live",
"latency_ms": 1213.8,
"record_count": 30,
"bytes": 129392,
"cache_hit": false,
"stop_reason": "complete",
"charged_credits": 2,
"version": "1.0.0",
"request_id": "7fbbb16030dd4c65",
"queue_ms": 1.1,
"fetched_at": "2026-10-14T18:57:24.041Z"
},
"data": {
"rows": [
{
"id": "555928",
"country": "mx",
"url": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024?id=555928",
"url_as_published": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024",
"title": "Nissan Versa 1.6 SENSE CVT",
"make": "Nissan",
"model": "Versa",
"trim": "1.6 SENSE CVT",
"year": 2024,
"price": 231999,
"currency": "MXN",
"price_kind": "from_financed",
"price_label_as_published": "Precio desde",
"price_as_published": "$231,999",
"promotion_price": null,
"price_before_promotion": null,
"on_promotion": false,
"price_mismatch": false,
"monthly_payment": 4572,
"monthly_payment_as_published": "$4,572 / mes*",
"mileage_km": 47561,
"transmission": "Automático",
"color": "Blanco",
"city": "Cancún",
"status": "available",
"reserved": false,
"badges": [],
"listing_type": "kavak",
"seller": {
"name": "Kavak",
"type": "managed_stock"
},
"photo_url": "https://images.prd.kavak.io/eyJidWNrZXQiOiJrYXZhay1pbWFnZXMiLCJrZXkiOiJpbWFnZXMvMjAyNjEwMDIvMjgxMTkyMThfYmU5OF8xMWYxXzgwNWFfMGFmOGY5MjNjNjNmXzcyZDFmYmI1ZDNmNl8yODdfMTQzMzE3XzA4LmpwZWciLCJlZGl0cyI6eyJyZXNpemUiOnsid2lkdGgiOjU0MCwiaGVpZ2h0IjozMTB9fX0="
},
{
"id": "550196",
"country": "mx",
"url": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024?id=550196",
"url_as_published": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024",
"title": "Nissan Versa 1.6 SENSE CVT",
"make": "Nissan",
"model": "Versa",
"trim": "1.6 SENSE CVT",
"year": 2024,
"price": 243999,
"currency": "MXN",
"price_kind": "from_financed",
"price_label_as_published": "Precio desde",
"price_as_published": "$243,999",
"promotion_price": null,
"price_before_promotion": null,
"on_promotion": false,
"price_mismatch": false,
"monthly_payment": 4777,
"monthly_payment_as_published": "$4,777 / mes*",
"mileage_km": 46327,
"transmission": "Automático",
"color": "Azul",
"city": "Cancún",
"status": "available",
"reserved": false,
"badges": [],
"listing_type": "kavak",
"seller": {
"name": "Kavak",
"type": "managed_stock"
},
"photo_url": "https://images.prd.kavak.io/eyJidWNrZXQiOiJrYXZhay1pbWFnZXMiLCJrZXkiOiJpbWFnZXMvNTUwMTk2L0VYVEVSSU9SLWZyb250U2lkZVBpbG90TmVhci0xNzkwODkzNzY2OTU2LmpwZWciLCJlZGl0cyI6eyJyZXNpemUiOnsid2lkdGgiOjU0MCwiaGVpZ2h0IjozMTB9fX0="
},
{
"id": "550179",
"country": "mx",
"url": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024?id=550179",
"url_as_published": "https://www.kavak.com/mx/usado/nissan-versa-16_sense_cvt-sedan-2024",
"title": "Nissan Versa 1.6 SENSE CVT",
"make": "Nissan",
"model": "Versa",
"trim": "1.6 SENSE CVT",
"year": 2024,
"price": 242999,
"currency": "MXN",
"price_kind": "from_financed",
"price_label_as_published": "Precio desde",
"price_as_published": "$242,999",
"promotion_price": null,
"price_before_promotion": null,
"on_promotion": false,
"price_mismatch": false,
"monthly_payment": 4760,
"monthly_payment_as_published": "$4,760 / mes*",
"mileage_km": 46688,
"transmission": "Automático",
"color": "Azul",
"city": "Cancún",
"status": "available",
"reserved": false,
"badges": [],
"listing_type": "kavak",
"seller": {
"name": "Kavak",
"type": "managed_stock"
},
"photo_url": "https://images.prd.kavak.io/eyJidWNrZXQiOiJrYXZhay1pbWFnZXMiLCJrZXkiOiJpbWFnZXMvMjAyNjA5MDIvNzNmZThkYTBfYTZmYV8xMWYxXzg1M2NfNmU0NDViZTQ0NjBiXzkyYTM2MWFjOTJkY18xNzg4MzcyOTkwMTMyNzczNTcxNTEwNzE2MjI3NDEyMF8xMjE2NDBfMTAuanBlZyIsImVkaXRzIjp7InJlc2l6ZSI6eyJ3aWR0aCI6NTQwLCJoZWlnaHQiOjMxMH19fQ=="
}
],
"summary": {
"country": "mx",
"currency": "MXN",
"total_results": 223,
"page": 1,
"rows_per_page": 30,
"last_page": 8,
"has_more": true,
"past_last_page": false,
"reserved_on_page": 0,
"filters_applied": {
"make": [
"nissan"
],
"model": [
"versa"
]
}
}
}
}What the Kavak API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search the used cars Kavak sells from its own stock in ONE country (mx, ar or cl) by make, model, free text, region, branch, fuel, gearbox, body type, colour, driven wheels, availability, seats, price, model year and mileage, in Kavak's seven sort orders. Returns the source's own total, 30 cars per page with the price the card prints and what KIND of price it is (Kavak-credit 'from' price or cash), the monthly payment (Mexico), mileage, region, reservation status and photo. `country` is required; every other parameter is optional. | Price-intelligence teams call search to search the used cars Kavak sells from its own stock in ONE country (mx, ar or cl) by make, mo…. | country, make, model, query, city, ... |
| detail | One Kavak car by `country` + `id` (both from a search row) or by its kavak.com URL with ?id=: cash price and Kavak-credit price side by side with the service fee and totals of each, the initial down payment of the credit simulator, VIN, mileage, fuel, engine, power, doors, seats, body, colour, equipment highlights and the full feature list, the branch with address and coordinates, delivery time, reservation status, imperfection photos, all photos and similar cars. | Classifieds aggregators call detail to get one Kavak car by `country` + `id` (both from a search row) or by its kavak.com URL with ?id=. | country, id, url |
| makes | For ONE country: the makes Kavak has in stock with each make's model slugs (the values `search` takes as `make` and `model`), the regions with their branches, the model years, the source's own value lists, and the engine's fuel, gearbox, body, colour, drive, status and sort vocabularies valid for that country. | Resale and arbitrage tools call makes to get for ONE country. | country |
Call search from your stack
curl -X POST https://api.reefapi.com/kavak/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"country":"mx","make":"nissan","model":"versa"}'import requests
r = requests.post(
"https://api.reefapi.com/kavak/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"country": "mx",
"make": "nissan",
"model": "versa"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/kavak/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"country": "mx",
"make": "nissan",
"model": "versa"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.kavak.search with {"country":"mx","make":"nissan","model":"versa"}.Who uses this API and why
- Used-car dealers in Mexico, Argentina and Chile price their stock against a fixed-price retailer's live cash and credit prices by make, model, year and mileage.
- Lenders and fintechs compare Kavak's credit price, cash price, service fee and down payment car by car.
- Market analysts track how much stock Kavak holds per country, region, make and fuel, and how fast Argentine prices are revised.
- Buyer apps show a car's VIN, engine, equipment, imperfection photos and the branch's map location next to both prices.
- Teams that already read Carvak (Kavak's Turkish brand) merge all four countries, since the two APIs share field names.
Questions developers ask before integrating
What does the Kavak API cover?
The used cars Kavak sells from its own stock in Mexico (8,437 to 8,438 cars on 2026-10-14, 58 makes, 23 regions), Argentina (1,373 to 1,375 cars, 29 makes, Buenos Aires) and Chile (1,208 to 1,215 cars, 63 makes, Santiago). Kavak closed Colombia and Peru in 2024, so those are not covered. Each call covers one country.
Which price do I get?
search returns the number the card prints with price_kind: from_financed when the card says 'Precio desde' (the Kavak-credit price), cash when it says 'Precio de contado'. detail returns price_cash and price_financed separately, plus the service fee and total of each in Mexico. Prices are in MXN, ARS or CLP and the currency is a field on every row.
Are Argentine prices up to date?
They are what Kavak publishes at the moment of the call. Kavak Argentina reprices its stock against inflation, so a stored ARS price ages within weeks; call again rather than caching.
Who is the seller?
Kavak itself on every car. detail names the Kavak branch that holds the car with its address and map coordinates.
Do the filters really filter?
Each was compared with an unfiltered search of the same country in the same run (8,438 / 1,373 to 1,375 / 1,208 cars). Mexico: Nissan 800, Nissan Versa 219, Mexico City region 5,266, diesel 43, manual 1,536, pickup 295, red 947, 4x4 1,070, reserved 2,485, 7 seats 593, 200,000-300,000 MXN 3,345, model year 2023-2024 2,383, up to 20,000 km 1,100. Argentina: Toyota 152, Hilux 13, diesel 89, manual 757 to 758, front-wheel drive 1,249 to 1,250, reserved 458 to 459. Chile: Toyota 43, diesel 118, manual 537, red 100, reserved 185. Every row checked matched its filter, in two runs, except one Argentine price-range row whose promotion price sat just below the range (Kavak filters on the price before the promotion). Values Kavak would silently ignore are refused instead.
How many results can one search return?
30 cars a page, with Kavak's own total, last_page and has_more; Mexico's stock fills 282 pages. A page past the last one comes back empty instead of repeating a page.
How do I open one car in full?
Take id and country from a search row (for example 554699 and mx) and call detail, or pass the row's url. A car that has been sold or withdrawn returns NOT_FOUND; a reserved car still opens, with status reserved.
What does Kavak not publish?
Number plate, owner count and service history are not on these pages. Argentina and Chile print no service fee and no monthly payment. Search rows carry no fuel, engine or VIN; those are on detail.
What is the Kavak API?
Kavak API is a ReefAPI endpoint group for kavak's inspected used cars in mexico, argentina and chile as json: cash and credit price, service fee, mileage, branch and vin. It returns live JSON through POST requests under /kavak/v1.
Is the Kavak API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Kavak calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Kavak login or account?
No login to Kavak 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 Kavak 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 Kavak API use?
Kavak actions currently cost 2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Kavak from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call kavak actions with the same key, credit pool and JSON envelope used by normal REST requests.