Documentation
EnCarAPI documentation. Learn how to access Korean car data via direct API endpoints. Integration guides and code examples.
Industry Experience
Automotive data API provider with years of experience in the Korean market.
7-Day Support
Support team available 7 days a week for API integration help.
24/7 Service
Round-the-clock monitoring for reliable data delivery.
Real-Time Listing Alerts
Get instant API access to new car listings as they're posted.
CSV downloads
Download make, model and badge lists as CSV - cache them and skip live facet calls.
JSON and CSV
JSON responses on every endpoint, CSV for the catalog export and the reference lists.
Base URL
All API requests are made to the following base URL:
https://api.encarapi.comFor example, to fetch offers:
GET https://api.encarapi.com/api/catalog?manufacturer=bmw&fuel=diesel&lang=en&count=trueAuthentication
Authenticate your requests using an API key. Pass it as a query parameter or via the Authorization header.
# Send your API key in the x-api-key header (recommended):
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/catalog?manufacturer=bmw&fuel=diesel&lang=en&count=true"
# The api_key query parameter also works:
GET https://api.encarapi.com/api/catalog?manufacturer=bmw&fuel=diesel&lang=en&count=true&api_key=YOUR_API_KEY5-day trial
Test the API for 5 days with all three marketplaces (Encar, KB Chachacha, K Car), including the change feed (last 7 days), bulk lookups (1,000 ids per day) and an archive preview (100 removed listings per day). 100,000 catalog rows and 2,000 detail lookups in total (max. 1,000 lookups per day). Reference downloads (CSV) are part of the paid plans. The full catalog export starts with Business. After the trial, your subscription continues on the Starter plan at €149/month - cancel anytime before day 5.
Russian values (lang=ru)
Every endpoint that takes lang=en also takes lang=ru: display values come in Russian, everything else stays the same (ids, codes, prices, numbers, field names). A value without a Russian label falls back to English. Russian labels may be refined over time, so key your data on ids and codes, not on the labels.
- Translated: fuel, transmission, drivetrain, exterior and interior color, body class, sell type, region and city names, option names and the generic words in trim names (Diesel -> дизель, 7-Seater -> 7 мест). Model generations: Carnival 4 Gen -> Carnival 4 поколение. Brand, model and trim names stay Latin, as on Russian car marketplaces.
- Filters accept the Russian values as well: fuel=дизель, color=белый, region=Сеул, city=Сувон, drivetrain=полный, sell_type=лизинг. The English values keep working.
- /api/enums?lang=ru adds nameRu to every value and lists the drivetrain and sell_type values. /api/nav?lang=ru returns a Russian DisplayValue; Value stays the English code for filtering. The reference CSVs with lang=ru get the Russian name as an extra column after the last one.
- /api/vehicle/{id}?lang=ru and the bulk endpoint return the Encar spec values, the category names and the optionsDecoded names in Russian, and KB Chachacha items like the catalog.
- /api/catalog/export?lang=ru is the same file with the label columns in Russian; column order and all other columns are unchanged.
- Not translated: inspection reports, insurance records, Encar diagnoses, Encar vehicle histories, K Car detail payloads, Encar option packages (free text from the listing) and the truck and excavator endpoints (they answer lang=ru in English).
# Russian values, filtered with Russian values
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/catalog?fuel=дизель&city=Сувон&lang=ru&count=true"
# Filter values with their Russian labels (nameRu)
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/enums?lang=ru"German values (lang=de)
lang=de works like lang=ru: display values come in German, everything else stays the same (ids, codes, prices, numbers, field names). A value without a German label falls back to English.
- Translated: fuel, transmission, drivetrain, colors, body class, sell type, option names, and model and trim names from our German tables (C-Class -> C-Klasse, 5-Series -> 5er, Carnival 4 Gen -> Carnival 4. Generation, 7-Seater -> 7-Sitzer, Sedan -> Limousine). Region names are the English ones, city names stay English.
- Filters accept the German values as well: fuel=Benzin, color=Weiß, transmission=Automatik, drivetrain=Allrad, sell_type=Leasingübernahme, model_group=C-Klasse. German model names can group facelifts: Carnival 4. Generation covers both Carnival 4 Gen and The New Carnival 4 Gen.
- Lists, detail, bulk and export work as with lang=ru: nameDe in /api/enums and /api/taxonomy/option-packages, a German DisplayValue in /api/nav, *_de columns in the reference CSVs, catalog_export_de.csv for the export. Not translated: the same as for lang=ru.
# German values, filtered with German values
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/catalog?manufacturer=Mercedes-Benz&model_group=C-Klasse&fuel=Benzin&lang=de&count=true"Three marketplaces, one API
The API serves live listings from Korea's three major used-car marketplaces. Every endpoint returns Encar by default, so existing integrations keep working unchanged. The other two are opt-in through the source parameter.
Encar
source=encarKorea's largest used-car marketplace. Full detail, official inspection reports and insurance records.
KB Chachacha
source=kbcThe marketplace of KB Capital. Listings with photos, specifications and options, plus the public history block.
K Car
source=kcarKorea's largest direct-sale dealer. Full detail with VIN, accident history and tire data.
Selecting sources
source is accepted by /api/catalog, /api/nav, /api/enums, /api/model-search, /api/catalog/export, /api/catalog/changes and the taxonomy CSVs.
| Value | Meaning |
|---|---|
| encar | Encar only - the default, identical to a request without source |
| kbc | KB Chachacha only |
| kcar | K Car only |
| encar,kbc | Comma-separated list - any combination |
| all | All three marketplaces, duplicates removed |
# All three marketplaces, English values
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/catalog?source=all&manufacturer=bmw&fuel=diesel&lang=en&count=true"
# K Car only
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/catalog?source=kcar&manufacturer=hyundai&lang=en"
# One KB Chachacha vehicle
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.encarapi.com/api/vehicle/kbc:12345678?lang=en"When source is set, every item carries a Source field. Encar ids stay plain numbers. KB Chachacha and K Car ids carry a prefix (kbc:..., kcar:...) - pass them to /api/vehicle/{id} unchanged. With lang=en, model and trim names of all three marketplaces are returned in English.
Dealers often list the same car on Encar and KB Chachacha. A KB Chachacha listing is matched to an active Encar listing by the Korean plate number or, when KB Chachacha publishes no plate, by first registration month, mileage and price; the matching is recomputed several times a day, after each Encar and KB Chachacha catalog pass. Matched KB Chachacha listings are not returned by /api/catalog, /api/catalog/export or the other catalog endpoints, with or without source (also not with source=kbc alone), so the same car never appears twice - with Encar included, it is returned as the Encar listing.
In /api/catalog/changes?source=kbc and /api/vehicle/kbc:{id} these listings carry IsDuplicate: true and DuplicateOf (the Encar listing id, a numeric string); as on Encar items, both fields are only present when true. When the flag is set or cleared, the change feed logs an updated event whose changedFields contains duplicate. To keep a local copy consistent with /api/catalog, drop KB Chachacha items that arrive with IsDuplicate: true and add them back when an update arrives without it.
The change feed takes one source per call (encar, kbc or kcar) and keeps a separate cursor for each.
Plans
Encar is part of every plan. KB Chachacha and K Car are included in Business, Scale and the 5-day trial, and are an add-on on Starter. A key without them gets a 403 with a hint.
Coverage per marketplace
Not every marketplace publishes every field.
| Field or filter | Encar | KB Chachacha | K Car |
|---|---|---|---|
| Brand, model, trim, price, year, mileage, fuel, transmission, color, body type | yes | yes | yes |
| Photos | yes | yes | yes |
| Equipment options | yes | yes | yes |
| Seats | yes | partial | yes |
| Accident history, damage cost, previous owners | yes | no | yes |
| Engine power, drivetrain | yes | no | yes |
| Seat color | yes | no | no |
| VIN in the vehicle detail | no | no | yes |
| Vehicle detail (/api/vehicle/{id}) | yes | partial | yes |
| Inspection report and insurance record endpoints | yes | no | partial |
| Encar diagnosis (/api/diagnosis/{id}) | yes | no | no |
| Encar vehicle history (/api/history/{id}) | yes | no | no |
| Lease and rental listings | yes | no | no |
- KB Chachacha publishes the seat count for part of its listings.
- KB Chachacha detail = the catalog item plus the public history block (accident flag, total loss, flood, commercial use, liens, frame and panel diagnosis). Every KB Chachacha item also carries InsuranceClaims: the number of insurance accident records shown on the listing page. The detail also carries InspectionReportUrl and InspectionReportType: the inspection sheet KB Chachacha shows for the car (link = report on the inspection company's website, scan = only scanned images on the listing page, null = not known yet). When InspectionAvailable is true, GET /api/inspection/kbc:{id} returns that sheet as structured data in the same format as an Encar inspection report (master, outers, inners, images) plus a source block - for about two in five KB Chachacha listings that link a sheet.
- K Car has no separate report documents; accident counts, insurance payouts and ownership changes are part of the vehicle detail.
Filtering on a field a marketplace does not provide excludes that marketplace's vehicles from the results. Example: frame_clean=true with source=all returns Encar and K Car listings only.
API Endpoints
All available endpoints for accessing Korean vehicle data.
Dropdown data (CSV)
Download the make, model and badge lists as CSV, cache them, and build your dropdowns from them - no per-click facet calls and no offline mapping. Each file includes a count column, and the badge file carries the body-style split (Coupe / Sedan / Cabrio).
Download once, cache it - Updated daily
All makes with listing counts
All make and model combinations with counts
All make, model and badge values (incl. Coupe / Sedan / Cabrio) with counts
Add your API key to download - append ?api_key=YOUR_KEY to any file URL. The files are key-protected, so nobody can download them without a valid key. Add &lang=ru or &lang=de for the Russian or German name as an extra last column (make_ru / make_de, model_ru / model_de, badge_ru / badge_de); all other columns stay unchanged.
Catalog scope
GET /api/catalog covers standard-sale listings only (Encar's “일반” sell type). Lease-takeover (“리스”) and rental (“렌트”) listings are not mixed in - they price by monthly payment rather than a purchase price, which would distort the Price field. Use GET /api/catalog/leasing for those instead.
How long to cache
- Filter values, taxonomy CSVs and /api/nav: cache for 24 hours
- Vehicle listings (/api/catalog): cache for 4 to 6 hours
- Vehicle details (/api/vehicle/:id): cache for 24 hours
This is the Starter model: serve listings from your own database and refresh on this cadence rather than calling live on every user click. There is a daily catalog volume cap on this plan - it is meant for live queries, not for holding a full local copy.
Need a full local copy instead?
Business and Scale plans include GET /api/catalog/export (a full daily CSV snapshot that does not count against the daily cap) and GET /api/catalog/changes?since=... (added, updated, reappeared and removed listings since your last sync). Seed your database from the export once, then poll changes to keep it current - no more re-pulling the whole catalog. For backfills, the bulk endpoints return up to 500 vehicles, inspection reports or insurance records per request. Scale also removes the daily catalog volume cap entirely. Trials can test the change feed (last 7 days) and bulk lookups (1,000 ids per day), but not the full export.
Duplicate listings
Korean dealers commonly list the same physical car twice under different listing IDs for extra visibility. We detect these and flag the extra copies with IsDuplicate: true and DuplicateOf: <listing ID of the original> on the catalog item; the original listing is left unflagged. Duplicates are flagged, not removed, so you decide how to treat them - pass exclude_duplicates=true to /api/catalog or /api/catalog/leasing to filter them out server-side. KB Chachacha listings that duplicate an active Encar listing are the exception: the catalog endpoints, including /api/catalog/export, leave them out entirely (see the data sources section above).
Frequently Asked Questions
Ready to Get Started?
Contact us on Telegram to get your API credentials and start accessing Korean car data today.