Danawa API & Scraper
Danawa (다나와) is Korea's largest price-comparison site: for each product it lists the malls selling it, grouped by kind of mall, and charts the lowest price over time.
🤖 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.
This API reads it as JSON. `search` takes Korean or English words and returns danawa catalogue products with a product_id, each with its variants (colours, storage, carrier plans) and their own product_ids, plus the mall listings danawa indexes, each marked with its row_type. `offers` returns every mall offer for one product: the mall, its item title, price, whether the price is for cash payment, shipping as printed, price with shipping, interest-free months and the buy link. `product` returns the card-payable lowest price, the cash lowest price, the lowest price with shipping, the launch price, review score and count, the number of offers and the spec highlights. `specs` returns the full spec sheet and `price_history` the weekly lowest price for 3 months and the monthly lowest price for 24 months.
What a Danawa field actually contains
Fields that read differently from how they look. Every row was measured against live Danawa pages on 2026-10-14.
| Field | What it holds |
|---|---|
| product_id | Danawa's product code (pcode), digits only (17788451), as in prod.danawa.com/info/?pcode=…. Pass it unchanged to product, offers, specs and price_history; a product URL works too. Search to product returned the same id on 11 of 11 checks. |
| row_type | search mixes two kinds of rows: product (a danawa catalogue product with a product_id) and mall_item (a listing from a mall such as 11번가 or G마켓 that danawa indexes, with mall_item_id and no product_id). scope=catalog returns only products. The price and newest sorts answer mostly with mall listings. |
| variants (search) | A search card is a product family: each variant row (colour, storage, or a carrier plan such as 번호이동 완납) has its own product_id, price and mall count. A carrier-plan price is the price on that plan, not the handset's. |
| lowest_price, cash_lowest_price | lowest_price is Danawa's 최저가, the cheapest price payable by card. cash_lowest_price is 현금최저가, the cheapest price for cash payment, often well below it: 1,189,000 vs 1,406,500 won for one phone, 620,000 vs 742,990 for one SSD. Card-discount prices (카드할인가) need a card chosen on the site and are not returned. |
| price_mismatch, price_witnesses | Danawa prints the lowest price in four places on a product page. They agreed on 8 of 10 products; on the other 2 they differed by 10 won and by 970 won. lowest_price is the figure the page shows in its 최저가 box, and price_witnesses lists all four whenever they disagree. |
| review_count | Search cards cap the review count at 999+; then review_count is null and review_count_text is "999+". product returns the exact count (2,094 for a card showing 999+). |
| payment (offers) | card for a price payable by card, cash when the mall marks the price as cash-only (현금). Groups such as 일반 전문몰 are mostly cash prices. |
| weekly, monthly (price_history) | The lowest price Danawa recorded in each week or month, not today's price: the latest weekly point equalled today's lowest price on 2 of 10 products and was lower on the others. |
Danawa shows the same malls, prices and shipping text to every visitor: two products read from a Korean and a non-Korean connection in the same minute returned identical offers. Prices are in Korean won as each mall lists them.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/danawa/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "SSD 2TB"
}
}{
"ok": true,
"meta": {
"api": "danawa",
"endpoint": "search",
"mode": "live",
"latency_ms": 2270.7,
"record_count": 40,
"bytes": 1293648,
"cache_hit": false,
"total": 39656,
"row_types": {
"product": 40
},
"ad_slots_dropped": 4,
"price_basis": "KRW, VAT included as listed by each mall; `price` = card-payable price unless `payment` is 'cash'",
"pagination": {
"page": 1,
"page_size": 40,
"has_more": true,
"page_ceiling": 50,
"reachable_rows": 2000
},
"upstream_requests": 1,
"charged_credits": 3,
"version": "0.1.0",
"request_id": "906fa62b54bd4acb",
"queue_ms": 1.4,
"fetched_at": "2026-10-14T18:57:21.632Z"
},
"data": {
"query": {
"query": "SSD 2TB",
"scope": "all",
"sort": "popular",
"page": 1
},
"total": 39656,
"catalog_total": 17901,
"mall_listing_total": 81742,
"page": 1,
"has_more": true,
"results": [
{
"row_type": "product",
"product_id": "17788451",
"title": "Western Digital WD BLACK SN850X M.2 NVMe",
"maker": "Western Digital",
"maker_code": "4213",
"url": "https://prod.danawa.com/info/?pcode=17788451",
"image": "https://img.danuri.io/catalog-image/451/788/017/64094bd6cfbc4b4f989e526d3d5be143.jpg",
"intro": "차세대 PCle Gen4 기술을 사용하여 차원이 다른 성능과 게이밍을 즐길 수 있는 SSD",
"spec_summary": "M.2 (2280) / PCIe4.0x4 (64GT/s) / TLC / DRAM 탑재 / DDR4 2GB / 컨트롤러: WD Black G2 / [성능] 순차읽기: 7,300MB/s / 순차쓰기: 6,600MB/s / 읽기IOPS: 1,200K / 쓰기IOPS: 1,100K / [지원기능] TRIM / SLC캐싱 / S.M.A.R.T / 전용 S/W / [환경특성] MTBF: 180만 / TBW: 1,200TB / SLC: 600GB / PS5 호환 / A/S기간: 제한보증 , 5년 / 방열판 미포함 / 두께: 2.38mm / 7.5g",
"category_codes": "861|32617|32623|0",
"category": "주요부품 > SSD",
"price": 742990,
"price_text": "742,990",
"currency": "KRW",
"mall_count": 128,
"registered": "2022-09",
"opinion_count": 176,
"rating": 4.9,
"review_count": 297,
"review_count_text": "297",
"variants": [
{
"product_id": "[trimmed-depth]",
"label": "[trimmed-depth]",
"price": "[trimmed-depth]",
"price_text": "[trimmed-depth]",
"mall_count": "[trimmed-depth]",
"popular_rank_in_family": "[trimmed-depth]"
}
],
"position": 1
},
{
"row_type": "product",
"product_id": "18297722",
"title": "삼성전자 990 PRO M.2 NVMe",
"maker": "삼성전자",
"maker_code": "702",
"url": "https://prod.danawa.com/info/?pcode=18297722",
"image": "https://img.danuri.io/catalog-image/722/297/018/86053af7566c43d8b3c56da85d1ac491.jpg",
"intro": "스마트한 발열 관리 솔루션으로 최적의 환경을 갖출 수 있는 SSD!",
"spec_summary": "M.2 (2280) / PCIe4.0x4 (64GT/s) / TLC(토글) / DRAM 탑재 / DDR4 2GB / 컨트롤러: 삼성 Pascal / [성능] 순차읽기: 7,450MB/s / 순차쓰기: 6,900MB/s / 읽기IOPS: 1,400K / 쓰기IOPS: 1,550K / [지원기능] TRIM / S.M.A.R.T / SLC캐싱 / GC / DEVSLP / AES 암호화 / 전용 S/W / [환경특성] MTBF: 150만 / TBW: 1,200TB / SLC: 226GB / PS5 호환 / A/S기간: 5년 , 제한보증 / 방열판 미포함 / 두께: 2.3mm / 9g",
"category_codes": "861|32617|32623|0",
"category": "주요부품 > SSD",
"price": 686990,
"price_text": "686,990",
"currency": "KRW",
"mall_count": 240,
"registered": "2022-11",
"opinion_count": 213,
"rating": 4.8,
"review_count": 761,
"review_count_text": "761",
"variants": [
{
"product_id": "[trimmed-depth]",
"label": "[trimmed-depth]",
"price": "[trimmed-depth]",
"price_text": "[trimmed-depth]",
"mall_count": "[trimmed-depth]",
"popular_rank_in_family": "[trimmed-depth]"
}
],
"position": 2
},
{
"row_type": "product",
"product_id": "17000984",
"title": "SK하이닉스 Platinum P41 M.2 NVMe",
"maker": "SK하이닉스",
"maker_code": "4131",
"url": "https://prod.danawa.com/info/?pcode=17000984",
"image": "https://img.danuri.io/catalog-image/984/000/017/c66976f2380a46cfb3be0df23a2468a7.jpg",
"intro": "탑티어 성능과 탁월한 전력 효율성까지 갖춘 플래티넘 P41",
"spec_summary": "M.2 (2280) / PCIe4.0x4 (64GT/s) / TLC(토글) / DRAM 탑재 / DDR4 2GB / 컨트롤러: SK하이닉스 Aries / [성능] 순차읽기: 7,000MB/s / 순차쓰기: 6,500MB/s / 읽기IOPS: 1,400K / 쓰기IOPS: 1,300K / [지원기능] TRIM / S.M.A.R.T / SLC캐싱 / GC / DEVSLP / AES 암호화 / 전용 S/W / [환경특성] MTBF: 150만 / TBW: 1,200TB / SLC: 320GB / PS5 호환 / A/S기간: 5년 , 제한보증 / 방열판 미포함 / 두께: 2.38mm / 7g",
"category_codes": "861|32617|32623|0",
"category": "주요부품 > SSD",
"price": 669990,
"price_text": "669,990",
"currency": "KRW",
"mall_count": 201,
"registered": "2022-05",
"opinion_count": 202,
"rating": 4.8,
"review_count": 466,
"review_count_text": "466",
"variants": [
{
"product_id": "[trimmed-depth]",
"label": "[trimmed-depth]",
"price": "[trimmed-depth]",
"price_text": "[trimmed-depth]",
"mall_count": "[trimmed-depth]",
"popular_rank_in_family": "[trimmed-depth]"
}
],
"position": 3
}
]
}
}What the Danawa API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Keyword search on danawa.com (다나와). Rows are danawa catalogue products (`row_type: product`, with product_id for `product` / `offers` / `specs` / `price_history`, the card's variants — colours, storage, carrier plans — each with its own product_id, price and mall count) and shopping-mall listings that danawa indexes (`row_type: mall_item`, with the mall and its price). Filters: danawa category code, maker code, price range, scope (all / catalogue only / mall listings only), sort. 40 rows per page. | Pricing teams call search to get keyword search on danawa.com (다나와). | query, category, maker, min_price, max_price, ... |
| product | One danawa product page: title, maker, brand, images, category path and codes, the card-payable lowest price (최저가, checked against the page's structured data), the cash lowest price (현금최저가), the lowest price including shipping, the launch price (출시가), review score and count, how many offers, registration month, spec highlights, the product codes of its variants and the top-malls price box. Use `offers` for every mall, `specs` for the full spec sheet. | Marketplace operators call product to get one danawa product page. | product_id, url |
| offers | Every mall offer danawa lists for one product, in danawa's groups (오픈마켓, 백화점/홈쇼핑/종합몰, 샵다나와, 카드/현금 동일 전문몰, 일반 전문몰): mall, the mall's own item title, price, whether the price is for cash payment, shipping (free / amount / varies, as printed), price with shipping when the shipping is one exact amount, interest-free months, fast delivery, coupon and the buy link. Page 1 holds every group (up to 50 open-market rows); when the open market has more, `page=2`, 3 … return the next open-market rows. | Catalog enrichment teams call offers to get every mall offer danawa lists for one product, in danawa's groups (오픈마켓, 백화점/홈쇼핑/종합몰, 샵다나와, 카…. | product_id, url, page |
| specs | The full spec sheet of one danawa product (상품 상세 스펙), as group / label / value rows in the source's own Korean wording. | Retail analysts call specs to get the full spec sheet of one danawa product (상품 상세 스펙), as group / label / value rows in the so…. | product_id, url |
| price_history | Danawa's lowest-price history for one product (가격추이): one point per week for the last 3 months and one point per month for the last 24 months, as danawa's chart plots them. | Pricing teams call price_history to get danawa's lowest-price history for one product (가격추이). | product_id, url |
Call search from your stack
curl -X POST https://api.reefapi.com/danawa/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"SSD 2TB"}'import requests
r = requests.post(
"https://api.reefapi.com/danawa/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "SSD 2TB"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/danawa/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "SSD 2TB"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.danawa.search with {"query":"SSD 2TB"}.Who uses this API and why
- Monitor the card and cash lowest prices and the number of malls for a list of Korean products every day.
- Compare every mall's price, shipping and interest-free months for one product.
- Build a Korean price-history dataset from 24 months of monthly lowest prices.
- Map a category by maker and price band with search filters and the full spec sheet.
- Find the variant (colour, storage, carrier plan) with the lowest price inside a product family.
Questions developers ask before integrating
Do I need a Danawa account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
Can I search in Korean?
Yes. Korean and English both work, and full-width letters are normalised: "iphone" and "iphone" returned the same 1,384,243 results on 2026-10-14.
Which search filters are there?
Category, maker, price range, scope and sort. Each was checked against the unfiltered count in the same run: "SSD 2TB" 39,657 → category 861|32617 3,054, maker 702 (삼성전자) 1,476, 200,000 to 300,000 won 789 (40 of 40 rows in range), from 500,000 won 31,662, catalogue only 17,901.
How many pages can I read?
Danawa serves 50 pages of 40 rows per query. Past page 50 it repeats page 50, so the API stops at 50 and says so; narrow the query or add a filter to reach more.
How many offers does offers return?
Every group in one call, with up to 50 open-market rows; when the open market has more, has_more is true and page=2 returns the next ones. The most measured on page 1 was 118 offers for one SSD.
What is the difference between the card and the cash price?
Korean malls often sell cheaper for cash payment. product returns both lowest prices and offers marks every cash-only price, so you can compare like with like.
How far back does price_history go?
24 monthly points and 12 weekly points at most. A product listed recently has fewer months.
Do you return the review texts?
Not yet. product returns the review score and the number of reviews; the review texts are not returned.
What is the Danawa API?
Danawa API is a ReefAPI endpoint group for korea's largest price comparison: every mall's offer for a product, card and cash lowest prices, specs and price history. It returns live JSON through POST requests under /danawa/v1.
Is the Danawa API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Danawa calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Danawa login or account?
No login to Danawa 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 Danawa 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 Danawa API use?
Danawa 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 Danawa from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call danawa actions with the same key, credit pool and JSON envelope used by normal REST requests.