Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Encar API page →
E-commerce & Marketplaces

Encar API & Scraper

The Encar API returns used-car listings from South Korea's largest car marketplace as clean JSON.

3 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.

The primary search endpoint returns cars with id, make, model, trim, year, mileage in km, price in manwon and KRW, fuel type and transmission, and you can pull a detail and the makes tree. It is built for automotive pricing, dealer tools and Korean car-market analytics that need Encar data without a scraper. One ReefAPI key, one shared credit pool, the standard { ok, data, meta, error } envelope.

Reference

Encar units, Korean enum values and the two different car ids

Encar is a Korean-language marketplace, and the API keeps its native units and vocabulary rather than translating them. The 만원 price unit and the pair of ids are the two places integrations get the numbers wrong. Every value below was read from live search, detail and makes calls on 2026-08-27.

FieldMeasured valueWhat it means
price_manwon2630The price in 만원 (10,000 KRW), the unit Encar itself uses. That is ₩26,300,000, not ₩2,630.
price_krw26300000The same price in won. price_manwon x 10,000 = price_krw held on every car sampled.
price_min / price_max1000 = ₩10,000,000The search filters are in 만원 too, not won.
origin_price_manwon4043The car's original list price when new, also in 만원 (₩40,430,000). detail only.
mileage_km93428Kilometres, as an integer. mileage_min and mileage_max are km as well.
year / year_month / form_year2017 / "2017-08" / "2018"Model year, first-registration month, and the Korean 연식. form_year can be one year ahead of year.
fuel_type"디젤", "가솔린", "가솔린+전기"Korean strings for diesel, gasoline and gasoline+electric. The fuel filter still takes English keys.
make"현대" (detail adds make_en "Hyundai")search returns Korean only. detail adds make_en, model_group_en and grade_en.
transmissionnull in search, "오토" in detailSearch rows returned null transmission on every car sampled; only detail resolves it.
idsearch 41994544 -> detail 41991990Two different numbers for the same car. See the note below.

The id a search row gives you is not the id detail answers with. Three cars checked on 2026-08-27: 41994544 came back as 41991990, 41543563 as 41543552, and 42033010 as 42032424. The detail id is the canonical one, matching the photo filenames and the carid in the URL detail returns. Pass the search id and detail resolves it correctly, but do not join search rows to detail rows on id. Store both.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/encar/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "make": "Hyundai",
    "size": 20
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "encar",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1153.7,
    "record_count": 20,
    "bytes": 19917,
    "cache_hit": false,
    "completeness_pct": 0.04,
    "stop_reason": "limit_reached",
    "pagination": {
      "page": 1,
      "size": 20,
      "has_more": true,
      "next_page": 2
    },
    "total_results": 49709,
    "charged_credits": 1,
    "version": "1.0.0"
  },
  "data": {
    "cars": [
      {
        "id": "41341562",
        "make": "현대",
        "model": "LF 쏘나타",
        "trim": "2.0 스마트",
        "year": 2015,
        "year_month": "2015-08",
        "form_year": "2016",
        "mileage_km": 114327,
        "price_manwon": 1090,
        "price_krw": 10900000,
        "fuel_type": "가솔린",
        "transmission": null,
        "ev_type": null,
        "green_type": "N",
        "region": "부산",
        "sell_type": "일반",
        "trust_flags": [
          "HomeService"
        ],
        "condition_flags": [
          "Inspection",
          "Record",
          "Resume"
        ],
        "service_marks": [
          "EncarMeetgo",
          "EncarDiagnosisP1"
        ],
        "thumbnail": "https://ci.encar.com/carpicture03/pic4133/41333162_001.jpg",
        "photos": [
          "https://ci.encar.com/carpicture03/pic4133/41333162_001.jpg",
          "https://ci.encar.com/carpicture03/pic4133/41333162_003.jpg",
          "https://ci.encar.com/carpicture03/pic4133/41333162_004.jpg"
        ],
        "url": "https://www.encar.com/dc/dc_cardetailview.do?carid=41341562"
      },
      {
        "id": "42722047",
        "make": "현대",
        "model": "코나",
        "trim": "1.6 터보 2WD",
        "year": 2020,
        "year_month": "2020-08",
        "form_year": "2020",
        "mileage_km": 69527,
        "price_manwon": 1670,
        "price_krw": 16700000,
        "fuel_type": "가솔린",
        "transmission": null,
        "ev_type": null,
        "green_type": "N",
        "region": "부산",
        "sell_type": "일반",
        "trust_flags": [
          "ExtendWarranty",
          "HomeService"
        ],
        "condition_flags": [
          "Inspection",
          "Record",
          "Resume"
        ],
        "service_marks": [
          "EncarMeetgo",
          "EncarDiagnosisP1"
        ],
        "thumbnail": "https://ci.encar.com/carpicture01/pic4271/42719480_001.jpg",
        "photos": [
          "https://ci.encar.com/carpicture01/pic4271/42719480_001.jpg",
          "https://ci.encar.com/carpicture01/pic4271/42719480_003.jpg",
          "https://ci.encar.com/carpicture01/pic4271/42719480_004.jpg"
        ],
        "url": "https://www.encar.com/dc/dc_cardetailview.do?carid=42722047"
      },
      {
        "id": "42739724",
        "make": "현대",
        "model": "아반떼 AD",
        "trim": "1.6 GDI 밸류 플러스",
        "year": 2018,
        "year_month": "2018-03",
        "form_year": "2018",
        "mileage_km": 51548,
        "price_manwon": 1240,
        "price_krw": 12400000,
        "fuel_type": "가솔린",
        "transmission": null,
        "ev_type": null,
        "green_type": "N",
        "region": "부산",
        "sell_type": "일반",
        "trust_flags": [
          "ExtendWarranty",
          "HomeService"
        ],
        "condition_flags": [
          "Inspection",
          "Record",
          "Resume"
        ],
        "service_marks": [
          "EncarMeetgo",
          "EncarDiagnosisP1"
        ],
        "thumbnail": "https://ci.encar.com/carpicture03/pic4273/42737804_001.jpg",
        "photos": [
          "https://ci.encar.com/carpicture03/pic4273/42737804_001.jpg",
          "https://ci.encar.com/carpicture03/pic4273/42737804_003.jpg",
          "https://ci.encar.com/carpicture03/pic4273/42737804_004.jpg"
        ],
        "url": "https://www.encar.com/dc/dc_cardetailview.do?carid=42739724"
      }
    ]
  }
}
Actions

What the Encar API does

ActionDescriptionConcrete use caseKey params
searchSearch live Encar used-car listings by structured filters: make, model, trim, car_type (domestic/imported), fuel, transmission, region, price_min/max (in 만원 = 10,000 KRW), year_min/max and mileage_min/max. Sortable + paginated. Returns rich cards with price (native 만원 + KRW), year, mileage, fuel, transmission, region, trust/condition flags, thumbnail and photos.Pricing teams call search to search live Encar used-car listings by structured filters.make, model, trim, car_type, fuel, ...
detailFull detail for one car by `id`: price (만원 + KRW), make/model/grade (Korean + English), year, mileage, displacement, transmission, fuel, color, seats, body type, options, warranty, inspection & accident-record availability, seizing/pledge counts, VIN (when public), all photos, view count, free-text description and the selling dealer's firm. Dealer personal data (name/phone/id/address) is redacted unless include_pii is set.Marketplace operators call detail to get full detail for one car by `id`.id
makesBrowse all Korean (domestic) and imported makes available on Encar, each with its live listing count. Use a returned make name with `search`'s `make` filter. Counts are pulled live from the search API (not a stale list).Catalog enrichment teams call makes to get browse all Korean (domestic) and imported makes available on Encar, each with its live listin….car_type
Code samples

Call search from your stack

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

Who uses this API and why

  • Automotive pricing tools call search to track Korean used-car prices by make, model and mileage.
  • Dealer-intelligence products use detail to assess a specific listing's condition and spec.
  • Market analysts use makes and search to size supply and price ranges across the Korean market.
FAQ

Questions developers ask before integrating

Does price_manwon 2630 mean 2,630 won?

No. 만원 is Korea's ten-thousand-won unit, so price_manwon 2630 is ₩26,300,000, roughly the price of a used Grandeur hybrid, which is what that car was. The API removes the guesswork by returning price_krw alongside it, 26300000 for that car, and the relationship price_manwon x 10,000 = price_krw held on every car sampled. The price_min and price_max search filters are in 만원 as well, so price_min 1000 means ₩10,000,000.

Why does detail return a different id than the one I sent?

Encar carries two numbers for one car: the advert id you get from search, and a canonical listing id used by the detail page, its URL and its photo filenames. Sending id 41994544 returned a record whose id was 41991990, with photos at .../41991990_006.jpg. The same happened with 41543563 to 41543552 and 42033010 to 42032424. detail resolves the search id correctly, so the calls work, but if you key a database on id you will fail to match the two responses. Store the search id as your request key and the detail id as the canonical one.

Why is transmission null in search results?

The search listing surface does not carry it. transmission came back null on every car in a live Hyundai search on 2026-08-27, even though transmission is a valid search filter. detail resolves it, returning the Korean value "오토" for automatic. So you can filter by transmission, automatic or manual, and get correct results, you just cannot read the value back off a search row. Call detail for the cars you care about.

Why are make, model and fuel_type in Korean?

Because they are Encar's own values, kept as-is rather than translated. A Hyundai search returned make "현대", models like "싼타페 DM" and "더 뉴 그랜저 IG 하이브리드", and fuel_type "디젤", "가솔린" and "가솔린+전기". The inputs are friendlier than the outputs: make accepts English names and translates them, and fuel takes English keys such as diesel, gasoline, hybrid and electric. model and trim are the exception and need the exact Korean string from a search result. detail also returns make_en, model_group_en and grade_en, so "현대" comes back with "Hyundai", "그랜저" with "Grandeur" and "르블랑" with "Le Blanc".

What do accident_record_available and seizing_count mean?

accident_record_available, accident_resume_available and inspection_available say whether that report exists for the car, not what it says. A car sampled on 2026-08-27 returned accident_record_available false with accident_resume_available true and inspection_available true, so false there means no such record is offered, not that the car is accident-free. seizing_count and pledge_count are the legal encumbrance counts, 압류 and 저당, and 0 for both is the clean case you want. status "ADVERTISE" means the advert is live.

What is the difference between year, year_month and form_year?

year is the model year as an integer, year_month is the first-registration month as "YYYY-MM", and form_year is the Korean 연식 returned as a string. They are not always the same: one car returned year 2017, year_month "2017-08" and form_year "2018". The year_min and year_max filters take a plain year, 2020, or a YYYYMM value, 202006, if you want month precision.

How do I find valid make values, and how much inventory does each have?

The makes action returns all 25 makes with live counts pulled from the search index, each with make, make_en, car_type and count. On 2026-08-27: Kia (기아) 52,357, Hyundai (현대) 52,149, BMW 17,874, Mercedes-Benz (벤츠) 16,438, Genesis (제네시스) 13,496, Audi (아우디) 4,622, Porsche (포르쉐) 3,221 and Tesla (테슬라) 1,475. car_type separates domestic Korean brands from imported ones and is also a search filter on its own.

What is origin_price_manwon useful for?

It is the car's original list price when new, in the same 만원 unit, so it gives you depreciation without a valuation dataset. A 2022 Grandeur hybrid returned origin_price_manwon 4043 against price_manwon 2630, meaning ₩40.43M new and ₩26.3M now. It is a detail-only field; search rows do not carry it. Note that option_codes on the same record are 3-digit numeric strings, "001", "004", "005", rather than option names.

What is the Encar API?

Encar API is a ReefAPI endpoint group for encar It returns live JSON through POST requests under /encar/v1.

Is the Encar API free to try?

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

Do I need an Encar login or account?

No login to Encar 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 Encar 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 Encar API use?

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

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

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

docs / encar

Encar

Encar

base /encar/v13 endpoints
post/encar/v1/detail1 credit

Full detail for one car by `id`: price (만원 + KRW), make/model/grade (Korean + English), year, mileage, displacement, transmission, fuel, color, seats, body type, options, warranty, inspection & accident-record availability, seizing/pledge counts, VIN (when public), all photos, view count, free-text description and the selling dealer's firm. Dealer personal data (name/phone/id/address) is redacted unless include_pii is set.

ParameterAllowed / rangeDescription
idrequired—Encar car id — the number in a dc_cardetailview carid= URL or a search result's `id`.
Try in playground →
post/encar/v1/makes1 credit

Browse all Korean (domestic) and imported makes available on Encar, each with its live listing count. Use a returned make name with `search`'s `make` filter. Counts are pulled live from the search API (not a stale list).

ParameterAllowed / rangeDescription
car_typeoptionaldomestic · importedLimit to domestic Korean or imported cars. Omit for both.
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.