Gmarket API

Gmarket listings with all three prices, delivery and reviews, one API

The Gmarket API turns gmarket.co.kr, one of Korea's largest open marketplaces, into clean JSON in four actions: search, product/detail, product/reviews and search/suggest.

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

4 active endpoints, on 1 and 2 credit tiers.

  • POST/gmarket/v1/search
  • POST/gmarket/v1/product/detail
  • POST/gmarket/v1/product/reviews
  • POST/gmarket/v1/search/suggest

What Gmarket 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 gmarket.co.kr by keyword with the site's sorts and a price range.

required
query
optional
page, sort, price_min, price_max, include_sponsored, include_fallback_results, max_rotations

product/detail

1 cr

The full Gmarket listing by goods code or URL.

required
optional
product_id, url, max_rotations

product/reviews

1 cr

Customer reviews of a Gmarket listing by goods code or URL.

required
optional
product_id, url, type, sort, page, max_rotations

search/suggest

1 cr

Gmarket's autocomplete for a partial keyword.

required
query
optional
max_rotations

Every parameter, every allowed value →

Gmarket API

3 of 4 endpoints, ready to run

View docs ↗

One page of Gmarket listings: goods code, title, sale price, list price and discount, brand, seller with badges, shipping fee, Smile Delivery and Star Delivery badges, and the search index's rating and counts.

2 credits1 required · 5 optional
POST/gmarket/v1/search
ok2670 ms · 60 records · sample
{
  "ok": true,
  "meta": {
    "api": "gmarket",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2670.1,
    "record_count": 60,
    "cache_hit": false
  },
  "data": {
    "results": [
      {
        "position": 1,
        "product_id": "3545159115",
        "title": "(결제가 13500원)케라시스 퍼퓸 샴푸/린스 3종 1L 3개 / 화이트데이지 그린릴리 바이올렛로즈",
        "url": "https://m.gmarket.co.kr/vi/product/3545159115",
        "image": "https://gdimg.gmarket.co.kr/3545159115/still/280?ver=1788273234",
        "price": 20940,
        "currency": "KRW",
        "price_label": null,
        "list_price": 27200,
        "discount_percent": 23,
        "discount_badge_percent": 23,
        "coupon_price": null,
        "brand": "애경",
        "seller": {
          "name": "애경-스타배송",
          "grades": [
            "파워딜러"
          ],
          "is_official_store": true
        },
        "shipping_fee": 0,
        "free_shipping": true,
        "smile_delivery": true,
        "delivery_badge": "star_delivery",
        "dispatch_note": null,
        "search_index_rating": 4.7,
        "search_index_review_count": 11210,
        "search_index_purchase_count": 42277,
        "benefit_tags": null,
        "event_tags": null,
        "is_sold_out": false,
        "category_codes": {
          "large": "100000071",
          "medium": "200000313",
          "small": "300028864"
        },
        "section": "인기 상품이에요",
        "is_sponsored": false
      },
      {
        "position": 2,
        "product_id": "3580233058",
        "title": "(최종결제가16190원)미쟝센 로얄젤리 단백질 샴푸 1000ml 3개",
        "url": "https://m.gmarket.co.kr/vi/product/3580233058",
        "image": "https://gdimg.gmarket.co.kr/3580233058/still/280?ver=1789000786",
        "price": 30000,
        "currency": "KRW",
        "price_label": null,
        "list_price": null,
        "discount_percent": null,
        "discount_badge_percent": null,
        "coupon_price": null,
        "brand": "미쟝센",
        "seller": {
          "name": "아모레퍼시픽바디헤어",
          "grades": [
            "파워딜러"
          ],
          "is_official_store": true
        },
        "shipping_fee": 0,
        "free_shipping": true,
        "smile_delivery": true,
        "delivery_badge": "star_delivery",
        "dispatch_note": null,
        "search_index_rating": 4.7,
        "search_index_review_count": 8496,
        "search_index_purchase_count": 34288,
        "benefit_tags": null,
        "event_tags": null,
        "is_sold_out": false,
        "category_codes": {
          "large": "100000071",
          "medium": "200000313",
          "small": "300002704"
        },
        "section": "인기 상품이에요",
        "is_sponsored": false
      },
      {
        "position": 3,
        "product_id": "4750849689",
        "title": "케라시스 퍼퓸 화이트 데이지 샴푸 1L 3개",
        "url": "https://m.gmarket.co.kr/vi/product/4750849689",
        "image": "https://gdimg.gmarket.co.kr/4750849689/still/280?ver=1785977700",
        "price": 27200,
        "currency": "KRW",
        "price_label": null,
        "list_price": null,
        "discount_percent": null,
        "discount_badge_percent": null,
        "coupon_price": null,
        "brand": "애경",
        "seller": {
          "name": "애경-스타배송",
          "grades": [
            "파워딜러"
          ],
          "is_official_store": true
        },
        "shipping_fee": 0,
        "free_shipping": true,
        "smile_delivery": true,
        "delivery_badge": "star_delivery",
        "dispatch_note": null,
        "search_index_rating": 4.7,
        "search_index_review_count": 361,
        "search_index_purchase_count": 1573,
        "benefit_tags": null,
        "event_tags": null,
        "is_sold_out": false,
        "category_codes": {
          "large": "100000071",
          "medium": "200000313",
          "small": "300002704"
        },
        "section": "인기 상품이에요",
        "is_sponsored": false
      }
    ],
    "count": 60,
    "sponsored_count": 0,
    "sponsored_dropped": 91,
    "total_results": 15672,
    "total_pages": 50,
    "page": 1,
    "sort": "relevance",
    "query": "샴푸",
    "applied_price_range": null,
    "dropped_outside_price_range": 0,
    "duplicates_dropped": 0,
    "keyword_matches_on_page": 60,
    "fallback_results_dropped": 0,
    "page_overlap_expected": true,
    "page_notice": null
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows. Press Try it for the untrimmed response.

How the Gmarket API works

Gmarket 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 252 engines.

02
Call
POST /gmarket/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.

Find a product, then see what a shopper really pays and how it ships

A search row carries the sale price. product/detail adds the coupon-applied price, the delivery terms and the options, and product/reviews shows what buyers say.

01search
POST/gmarket/v1/search
{"query": "생수", "price_max": 20000}

Up to 60 organic listings at or under 20,000 won, ads dropped and counted. Take results[].product_id.

02detail
POST/gmarket/v1/product/detail
{"product_id": "<results[0].product_id>"}

price, list_price and coupon_price side by side, the shipping fee and free-shipping threshold, Smile / Star Delivery and the options.

03reviews
POST/gmarket/v1/product/reviews
{"product_id": "<same id>", "sort": "newest"}

The newest premium reviews with photos, plus the premium and general review counts.

Three calls; the sale price, the coupon-applied price and the delivery cost of a Korean listing, kept apart.

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

One Gmarket listing carries three prices, and the red percentage on the page is not the sale discount

Gmarket shows a sale price, often a struck list price, and a coupon-applied price (쿠폰적용가) that the page computes from the best coupons for a logged-out shopper. The API returns all three apart and says which percentage is which.

Listing (2026-09-15)pricelist_pricecoupon_pricediscount_percent / coupon_discount_percent
농심 신라면 + 너구리 + 짜파게티, 20 packs27,390null14,800null / 46.0
Apple iPad 11th gen Wi-Fi 128GB719,040749,000683,0904.0 / 8.8
미쟝센 로얄젤리 샴푸 1000ml × 330,000null17,400null / 42.0
Electric rice cooker (전기밥솥 listing)178,490219,000159,66018.5 / 27.1

Values in KRW from the 2026-09-15 live run. price is the sale price a shopper pays without coupons and is what a search row shows (equal on 20 of 20 listings checked). coupon_price is what the page shows after its own coupon selection; search rows never carry it. The page's red percentage is measured from the list price (or the sale price when there is none) to the coupon price, and is returned as coupon_discount_percent. card_payment_price needs a specific card, and reward points are points, never a price.

What Gmarket publishes, which price is which, and what it does not

gmarket.co.kr only, prices in KRW. Measured on 2026-09-15: 92 live cases, 20 searches over 20 keywords, 20 listings across 18 Gmarket categories, 6 listings checked against the product page. Some of these lines go against us.

Three prices, kept apart

price is the sale price without coupons (equal to the search row on 20 of 20 listings), list_price the struck original price, coupon_price the price after Gmarket's own coupon selection for a logged-out shopper (19 of 20 listings had one). coupon_discount_percent is what the page's red percentage measures.

Smile Delivery, Star Delivery and the shipping fee

smile_delivery, star_delivery (Gmarket's warehouse or the seller) and the shipping fee with any free-shipping threshold; the search-row flags agreed with the listing on 20 of 20.

Ads dropped, no-match padding emptied

Ad placements are dropped and counted unless requested. A query with no genuine match returns empty (8 of 8 nonsense queries), while real queries and typos kept their results (21 of 21 in tuning, 4 of 4 typos live).

Against us: pages repeat under ranking orders

Under relevance, popular and newest, Gmarket's later pages repeat many earlier rows (32 of 60 on page 2 of one search). price_asc pages did not overlap. Gmarket stops at page 50.

Against us: price sorts are broad and not strict

Price orders search a far wider set of listings (bags appear first for 'laptop' low-to-high), 54 of 59 neighbouring rows were in price order, and Gmarket ignores a price range under a price sort, so that combination is rejected.

Against us: some numbers come from the search index

Search-row rating, review and purchase counts are the index's (the review count differed from the listing on 3 of 20). Use product/detail for the listing's own figures.

Against us: no category names, no answers, no Auction

Gmarket's mobile listing carries category codes but not category names, so category_codes is returned and a breadcrumb is not. The description is usually images (description_text was present on 2 of 20). Product questions are not returned, stock is published on few options, and Auction listings are not covered.

What people build with Gmarket

The jobs this data is most often used for.

4

endpoints

1/2

credits per call

01

Brands and distributors in Korea track their listings' sale, list and coupon-applied prices and which sellers carry them.

02

Price-monitoring teams compare Gmarket prices and shipping fees for the same product across sellers, using the same-product offer count.

03

Cross-border sellers study Smile Delivery and Star Delivery coverage, shipping fees and free-shipping thresholds in a category.

04

Review analytics teams pull premium photo reviews and general ratings for Korean consumer products.

What Gmarket 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 252 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/gmarket/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/gmarket/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 Gmarket.

Get a free key →
Which price should I use: price, list_price or coupon_price?

price is the sale price (판매가 / 할인가) without coupons; it is what a search row shows. list_price is the struck original price, returned only when it is higher than price. coupon_price (쿠폰적용가) is the price after the coupons Gmarket applies for a logged-out shopper, with applied_coupons listing each coupon and its amount; 19 of 20 listings in the live check had one. card_payment_price (결제할인가) needs a specific payment card. reward_points_max and member_extra_reward are points (Smile Club / membership), never a price.

What do Smile Delivery and Star Delivery mean in the data?

smile_delivery is true for Gmarket's Smile Delivery listings. star_delivery says who ships a Star Delivery listing: fulfillment (Gmarket's own warehouse) or seller. On search rows the same facts come as smile_delivery and delivery_badge (star_delivery or seller_star_delivery); both agreed with the listing page on 20 of 20 listings checked. The delivery block adds the shipping fee, the free-shipping threshold (for example 15,000 won), the delivery estimate text and the Jeju / remote-island surcharges when the listing states them.

How do sorting and pages behave?

sort accepts relevance, popular, newest, price_asc and price_desc, Gmarket's own orderings. The price orders search a much wider set of listings (a shampoo search grew from about 16,000 to 272,000 matches and a laptop search starts with laptop bags), so keyword_matches_on_page says how many rows contain a query word. Gmarket's price order is its own and not strictly by the card price: 54 of 59 neighbouring rows were in order. Under relevance, popular and newest, later pages repeat many rows of earlier ones (page 2 of a coffee search shared 32 of 60 rows with page 1); price_asc pages did not overlap. page_overlap_expected says which case applies.

Can I filter by price?

Yes, price_min and price_max in won, using Gmarket's own price filter and re-checking every returned row; a row outside the range is dropped and counted in dropped_outside_price_range (2 of 60 on a camping-chair search). Gmarket ignores a price range when results are sorted by price, so that combination is rejected with INVALID_PARAM instead of returning out-of-range rows.

What happens with ads and with a query that matches nothing?

Gmarket mixes power-click and AI ad placements into the page (up to 91 cards on page 1). They are dropped by default and counted in sponsored_dropped; include_sponsored=true returns them flagged is_sponsored. A query with no genuine match is answered by Gmarket with about 69 unrelated popular listings and a non-zero count; the API returns an empty list and counts them in fallback_results_dropped, and include_fallback_results=true returns them separately. Typos like 노투북 or 샴프 keep their results.

Are the rating and review counts on a search row the same as on the listing?

Not always. Search rows carry search_index_rating, search_index_review_count and search_index_purchase_count from Gmarket's search index, which is rounded and can lag (the review count differed on 3 of 20 listings). product/detail returns the listing's own rating to two decimals and its review, question and purchase counts. product/reviews returns the premium and general review counts separately.

Does it cover Auction or Gmarket Global?

No. The API covers gmarket.co.kr, the Korean site, with prices in KRW. Auction (auction.co.kr) listings are rejected with INVALID_PARAM, and the English Gmarket Global storefront is not covered.

What is the Gmarket API?

Gmarket API is a ReefAPI endpoint group for korea's open marketplace (g마켓): listings with sale, list and coupon-applied prices in won, options, smile delivery and reviews. It returns live JSON through POST requests under /gmarket/v1.

Is the Gmarket API free to try?

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

Do I need a Gmarket login or account?

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

Gmarket actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

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

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

Is the Gmarket API a Gmarket scraper?

It is the managed alternative to a DIY Gmarket scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same korea's open marketplace (g마켓): listings with sale, list and coupon-applied prices in won, options, smile delivery and reviews back as clean JSON.

91 E-commerce & Marketplaces APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Gmarket, you are one call away from the rest of the category — no second contract, no second integration.

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 251 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-09-15.