Market Kurly API

Market Kurly as JSON: prices, members prices, delivery and stock

Market Kurly (kurly.com, 마켓컬리) is South Korea's dawn-delivery online grocer: order before 11 pm, receive it before 7 am through 샛별배송, alongside products shipped by partner sellers.

no credit card1,000 free credits · instant API key · pay by card or crypto
Missing a Market Kurly endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
M
/kurly/v1

4 active endpoints, on 1 and 2 credit tiers.

  • POST/kurly/v1/search
  • POST/kurly/v1/category
  • POST/kurly/v1/product
  • POST/kurly/v1/categories

What Market Kurly endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

search

2 cr

Search Market Kurly (kurly.com) by keyword.

required
query
optional
—

category

2 cr

List one Market Kurly category by its id (from categories), with the same filters and sort as…

required
category_id
optional
—

product

1 cr

Full Market Kurly product sheet.

required
id
optional
—

categories

2 cr

Market Kurly category tree (top categories and their sub categories) with the ids the categor…

required
—
optional
—

Every parameter, every allowed value →

Market Kurly API

3 of 4 endpoints, ready to run

View docs ↗

Search kurly.com with regular and card price, delivery type and reviews

2 credits1 required · 2 optional
POST/kurly/v1/search
idle
// Press "Try it" and this pane shows exactly what the
// live site returned this second — including an empty
// result, if that is the truth. No key, no account.

How the Market Kurly API works

Market Kurly is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 585 engines.

02
Call
POST /kurly/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

From a keyword to what members and everyone else really pay

Search once, then open the products whose card price may be a coupon or members price.

01search?query=우유&sort=price_asc
GET/kurly/v1/search?query=우유&sort=price_asc

96 products per page with the regular price, the card's lowest price, discount rate, delivery type and review counts.

02search?query=우유&category=018001&min_price=3000&max_price=6000
GET/kurly/v1/search?query=우유&category=018001&min_price=3000&max_price=6000

The range applies to the card price, as on the site; total is Kurly's exact count.

03product?id=<id>
GET/kurly/v1/product?id=<id>

Sale, coupon and Kurly Members price as separate fields, every option, unit price, origin, storage and delivery text.

A dated Kurly price list where the price everyone pays and the Kurly Members price never get mixed.

request
curl -X POST https://api.reefapi.com/kurly/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"우유"}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "kurly",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}

What a Market Kurly field actually contains

Kurly shows one big price on every card, and it is not always a price everyone pays. These rows say what each field holds. Every row was measured against live kurly.com pages on 2026-10-18.

FieldWhat it holds
priceThe regular price Kurly prints struck through: the retail price when Kurly publishes one, otherwise Kurly's own base price. It never holds a sale, coupon or members price. Search row and product sheet agreed on 23 of 23 products checked.
lowest_priceThe big price on the card: the lowest of the sale price, the coupon-applied price and the Kurly Members price. Example: regular 20,000, sale 13,900, card 11,815 because a 15% coupon applies. Kurly's own price filter and price sort use this figure.
discounted_price (product)The sale price before any coupon. discounted_price_is_members_only says whether only Kurly Members get it.
member_price, non_member_price (product)The lowest price among the Kurly Members options and among the options anyone can buy. Example: member_price 4,880, non_member_price 5,200 on the same banana milk.
coupon_price (product)The price after the coupon the product page offers, kept apart from price and discounted_price.
options[]Every purchase option of the product with its own regular, sale, final and coupon price, unit price, members_only flag, sold-out and low-stock flags.
unit_price, unitParsed from the site's own unit price line: "100mL 당 525원" gives 525 and 100mL. unit_price_text keeps the original.
review_countExact on the product sheet. Search cards print "999+" or "9,999+" and hide counts under 10, so on rows review_count is null there and review_count_min / review_count_max give the range. Kurly publishes no star rating.
delivery_typesDAWN (샛별배송, Kurly next-morning delivery), NORMAL_PARCEL (판매자배송, shipped by the seller) and the other types the site lists, with the site's own fee and cut-off text on the product sheet.
sold_out, low_stockThe site's own status flags. Kurly publishes no stock quantity. Category listings put sold-out products after the available ones.

Prices are in Korean won. The same search and the same product read from five different countries in the same minute returned the same products and prices: Kurly prices do not depend on where you call from, and the product and search pages take no delivery address: the address only decides whether 샛별배송 reaches you.

Market Kurly coverage, measured

Every number below was read from live kurly.com responses on 2026-10-18, in three runs.

Market

South Korea, prices in won. 32 top categories with 258 sub categories; searches for 우유, 와인 and 라면 reported 606, 1,559 and 701 products.

Filters that bite

For 우유 (606): category 우유·두유 202, brand 4, frozen 90, seller delivery 90 (90 of 90 rows seller-shipped), Kurly Only 37 (37 of 37 tagged), 5,000 to 6,000 won 57 with none out of range. Price sorts: 0 out-of-order rows in 96.

Price

Search row and product sheet agreed on regular and card price for 23 of 23 products; the product page printed the same two prices on 21 of 23 (the other two are adult-verified wines whose page hides prices from visitors who have not verified).

Identity

The product number from search opened the same product in 23 of 23 cases and from category in 4 of 4; pages 1, 2 and 3 shared no product in six queries.

Limits

No stock quantity and no star rating (Kurly publishes neither); review counts on search cards are capped at 999+ / 9,999+; members-only prices reflect the public product sheet, not a logged-in member's cart; Kurly's beauty storefront is not covered.

What people build with Market Kurly

The jobs this data is most often used for.

4

endpoints

1/2

credits per call

01

Track Kurly's regular, sale and Kurly Members prices for a basket of groceries every day.

02

Compare Market Kurly with Coupang, SSG and 11st on unit price for the same products.

03

Monitor sold-out and low-stock flags for your brand's products on Kurly.

04

Build a Korean grocery catalogue with origin, storage type, allergy text and legal product notices.

What Market Kurly data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 585 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/kurly/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"우유"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/kurly/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "query": "우유"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Market Kurly.

Get a free key →
Do I need a Kurly account?▾

No. Everything is read logged out from the public kurly.com site, and you call reefapi.com from anywhere.

Can I get the Kurly Members price?▾

Yes. The product action returns member_price next to non_member_price and lists every option with a members_only flag. On 2026-10-18 a banana milk was 4,880 for members and 5,200 for everyone; the search card showed only 4,880.

Why is lowest_price lower than what I would pay?▾

Because Kurly's card shows the lowest figure it can: a coupon-applied price or the Kurly Members price when one exists. Read the product action for the split: discounted_price, coupon_price and member_price are separate fields.

Which search filters are there?▾

Category, brand, price range, storage type (상온, 냉장, 냉동), delivery type (샛별배송, 판매자배송 and others), benefit (discount, coupon and others), Kurly Only and new products, plus six sort orders. For "우유" (606 products) on 2026-10-18: category 우유·두유 202, frozen 90, seller delivery 90, Kurly Only 37, a 5,000 to 6,000 won range 57 with 0 out of range.

What happens when Kurly has no match for my keyword?▾

Kurly shows related products with the notice "찾으시는 상품과 관련 있는 상품을 함께 보여드려요." The API returns them with exact_match false and that notice, so you can tell them from real matches.

How many results can I read?▾

96 products per search page and every page up to the exact total Kurly reports (606 for 우유, 1,559 for 와인). Pages 1, 2 and 3 shared no product in six queries. category takes up to 120 per page.

Does Kurly publish stock quantities?▾

No. It publishes sold-out and low-stock flags per product and per option, and the API returns them as they are.

What happens with a product that is no longer sold?▾

product answers NOT_FOUND, with Kurly's own message (현재 판매 중인 상품이 아닙니다).

What is the Market Kurly API?▾

Market Kurly API is a ReefAPI endpoint group for search kurly.com and read any product: regular, sale, coupon and kurly members price apart, unit price, origin, storage, 샛별배송 or seller delivery, and stock status. It returns live JSON through POST requests under /kurly/v1.

Is the Market Kurly API free to try?▾

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

Do I need a Market Kurly login or account?▾

No login to Market Kurly 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 Market Kurly 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 Market Kurly API use?▾

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

Can I call Market Kurly from an AI assistant or MCP client?▾

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

Need something this API does not do?

Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.

0/4000

No account needed · we reply from [email protected]

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 584 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-18.