Gmarket KR $1๐ฐ URL Keyword and Review Scraper
Pricing
from $1.00 / 1,000 results
Gmarket KR $1๐ฐ URL Keyword and Review Scraper
Scrape product listings and customer reviews from Gmarket.co.kr into clean JSON datasets. Supports keyword search, product URLs, or review-only mode by product ID. Lightweight, free-tier friendly, and runs without a browser.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Gmarket Global Scraper
Sample shape below is illustrative; values are placeholders, not from a live listing.
Pull product listings AND customer reviews from Gmarket Global (the English-language storefront of one of Korea's biggest marketplaces) into a clean JSON dataset. Two modes: keyword search or URL paste. One toggle flips the same flow from "one record per product" to "one record per review." Detail enrichment is on by default and adds the full seller disclosure (business name, manager, customer-service phone, business registration, e-commerce registration).
Why this scraper
- 25+ product fields per record, with optional detail enrichment that adds the legally-mandated Korean seller info (company name, manager name, customer-service phone, business registration number, e-commerce sales registration).
- Flip "Reviews only" to scrape reviews of every matching product instead of the products themselves.
- English titles by default (the global storefront serves English).
- KRW and USD prices side by side, plus original-vs-sale price and discount percent.
- Every record also carries a
rawblock with the verbatim upstream API response, so no field is ever silently dropped. - Datacenter proxy works out of the box on the free Apify plan.
Data you get
Product records (default)
| Field | Example |
|---|---|
| goodsCode | "0000000001" |
| title | "Sample Product Title" |
| linkUrl | "https://mg.gmarket.co.kr/Item?goodscode=0000000001" |
| imageUrl | "https://gdimg.gmarket.co.kr/0000000001/still/280?ver=0" |
| additionalImages | ["https://gdimg.gmarket.co.kr/.../shop_img/000/000/0000000001.jpg"] |
| sellPriceKrw | 22800 |
| originalPriceKrw | "22,800" |
| salePriceKrw | "22,800" |
| currencyPrice | "$15.75" |
| discountRate | "0" |
| isFreeShipping | true |
| deliveryInfo | "Free" |
| deliveryFee | "0" |
| sellerCustNo | "000000000" |
| miniShopHandle | "samplestore" |
| miniShopUrl | "https://mg.gmarket.co.kr/samplestore" |
| categoryCodeL | "100000000" |
| categoryCodeM | "200000000" |
| categoryCodeS | "300000000" |
| overseaDeliveryAvailable | true |
| isBigSmile | false |
| isAdult | false |
| translation.english | true |
| translation.chinese | true |
| translation.japanese | false |
| raw | { ...full upstream Item JSON... } |
| scrapedAt | "2026-01-01T00:00:00.000Z" |
When fetchDetails is on (the default), each record also carries:
| Field | Example |
|---|---|
| descriptionText | "Up to 3,000 chars of cleaned product description." |
| brand | "SampleBrand" |
| sellerCompanyName | "Sample Trading Co., Ltd." |
| sellerManagerName | "John Doe" |
| sellerPhone | "02-0000-0000" |
| sellerBusinessNumber | "000-00-00000" |
| sellerEcommerceNumber | "0000-Seoul-0000" |
| sellerInfo | { ...full upstream SellerInfo JSON: 15 fields... } |
Review records (when reviewsOnly is on)
The actor still uses your keyword or URL input to discover products, but pushes one record per review instead of one per product.
| Field | Example |
|---|---|
| productGoodsCode | "0000000001" |
| productLinkUrl | "https://mg.gmarket.co.kr/Item?goodscode=0000000001" |
| reviewId | "100000000" |
| authorNickname | "abc****" (Gmarket-masked) |
| authorLoginId | "abc1234" (the un-masked login, passed through verbatim) |
| authorCustNo | "0000000000" |
| authorCountryCode | "KR" |
| rating | 9 |
| ratingMax | 10 |
| deliveryRating | 5 |
| title | "Sample review title" |
| comment | "Sample comment body" |
| titleEnglish | "Sample title translated" |
| commentEnglish | "Sample comment translated" |
| reviewDate | "2026-01-01T00:00:00.000Z" |
| reviewDateText | "2026.01.01" |
| hasPhotos | true |
| photoUrls | ["https://bampic.gmarket.co.kr/..."] |
| variantInfo | "Color: Black [1ea]" |
| sellerReply | null |
| sellerReplyDate | null |
| isPowerReviewer | true |
| readCount | 0 |
| raw | { ...full upstream review JSON, 40 fields... } |
| scrapedAt | "2026-01-01T00:00:00.000Z" |
How to use
Keyword search, default settings (detail enrichment on, 1 page):
{"mode": "search","keywords": ["laptop"]}
Keyword search with price band, oversea-only, multi-keyword, deeper pagination:
{"mode": "search","keywords": ["headphones", "earbuds"],"minPrice": 10000,"maxPrice": 100000,"overseaDeliveryOnly": true,"maxPages": 3}
URL mode (paste any Gmarket Global search URL with whatever filters you want):
{"mode": "url","urls": ["https://mg.gmarket.co.kr/Search/Search?keyword=phone&minPrice=50000&maxPrice=500000"],"maxPages": 2}
Reviews only (pulls reviews of every product matching your search; caps total reviews at maxListings):
{"mode": "search","keywords": ["laptop"],"reviewsOnly": true,"maxReviewsPerProduct": 20,"maxListings": 100}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | enum | "search" | "search" uses keywords + filters; "url" uses pasted search-result URLs |
| keywords | array of strings | ["laptop"] | One or more product keywords; English or Korean both work. Search mode only |
| minPrice | integer | 0 | Min sale price in KRW. 0 = no minimum |
| maxPrice | integer | 0 | Max sale price in KRW. 0 = no maximum |
| overseaDeliveryOnly | boolean | false | Restrict to items that ship outside Korea |
| bigSmileOnly | boolean | false | Restrict to BigSmile sitewide promotion items |
| urls | array of strings | [...] | One entry per search. URL mode only |
| reviewsOnly | boolean | false | Push one record per review instead of one per product. Uses the same search/URL flow to discover products first |
| maxReviewsPerProduct | integer | 50 | Reviews-only mode: stop after N reviews per product (20 per page) |
| maxPages | integer | 1 | Pages to walk per keyword / URL (60 items per page). Increase for deeper scrapes |
| maxListings | integer | 0 | Cap on TOTAL records output (products or reviews depending on reviewsOnly). 0 = unlimited |
| fetchDetails | boolean | true | Fetch product detail pages to populate description, brand, and the full seller disclosure. Turn off for a leaner, faster scrape |
| proxy | proxy | Apify Datacenter | Network. Datacenter works fine; residential rarely needed |
Output example (product, with fetchDetails: true)
{"goodsCode": "0000000001","title": "Sample Product Title","linkUrl": "https://mg.gmarket.co.kr/Item?goodscode=0000000001","imageUrl": "https://gdimg.gmarket.co.kr/0000000001/still/280?ver=0","sellPriceKrw": 22800,"currencyPrice": "$15.75","discountRate": "0","sellerCompanyName": "Sample Trading Co., Ltd.","sellerManagerName": "John Doe","sellerPhone": "02-0000-0000","sellerBusinessNumber": "000-00-00000","sellerEcommerceNumber": "0000-Seoul-0000","sellerInfo": {"CompanyName": "Sample Trading Co., Ltd.","ManagerName": "John Doe","HelpDeskStartDate": "10","HelpDeskEndDate": "16","HelpDeskTelNo": "02-0000-0000","CompanyNo": "000-00-00000","EcomerceNo": "0000-Seoul-0000","SellerGrade": "A1","DealerSatisGrade": "AA"},"descriptionText": "Sample product description text.","brand": "SampleBrand","overseaDeliveryAvailable": true,"translation": { "english": true, "chinese": true, "japanese": false },"scrapedAt": "2026-01-01T00:00:00.000Z"}
Plan requirement
Works on any Apify plan, including the Free plan, because the default proxy is Apify Datacenter. If you ever see zero results from Apify Datacenter, switch the proxy to Apify Residential (Starter plan or higher) and try again.