Mango APIshop.mango.com ↗
Search products, browse categories, and fetch detailed product data from Mango Korea including KRW prices, color variants, size stock, and material composition.
What is the Mango API?
The Mango Korea API exposes 3 endpoints for retrieving structured product data from the shop.mango.com Korean storefront. Use search_products to query by Korean or English terms and get up to 240 results per page with KRW pricing and sale status, list_products to browse a full category with color and image data, or get_product_details to pull per-color size availability, material composition, and official product images for any 8-digit product ID.
curl -X GET 'https://api.parse.bot/scraper/80f20dff-d5f5-472f-b1fb-7b889eafc960/search_products?limit=5&query=%EC%9B%90%ED%94%BC%EC%8A%A4§ion=women&page=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace shop-mango-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Mango Korea SDK — search, browse, and drill into product details."""
from parse_apis.shop_mango_com_api import Mango, ProductNotFound
client = Mango()
# Search for dresses and inspect top results with prices.
for result in client.search_results.search(query="원피스", limit=5):
print(result.product_id, result.price_formatted, result.on_sale)
# Drill into the first search hit for full product details.
hit = client.search_results.search(query="원피스", limit=1).first()
if hit is not None:
product = hit.details()
print(product.name, product.name_en)
for color in product.colors:
print(f" {color.label} ({color.rgb}) — {color.price_formatted}")
available = [s.label for s in color.sizes if s.available]
print(f" available sizes: {available}")
print("compositions:", product.compositions)
# Browse a category listing and navigate to detail.
listing = client.product_summaries.list(
category_path="여성/드레스와-점프수트/e6bb8705", limit=3
)
for summary in listing:
print(summary.name_en, summary.product_url)
# Point lookup by a known product ID with error handling.
try:
detail = client.products.get(product_id="37013867")
print(detail.name, detail.families[0].label_en)
except ProductNotFound:
print("Product not found")
print("exercised: search_results.search / products.get / product_summaries.list / details()")
Search products on the Mango Korea storefront with enriched per-item details. Returns deduplicated product/color candidates with Korean and English names, family/category labels, KRW prices, size-level availability, official images (model and flat), and canonical Korean URLs. Each result is enriched via the product orchestrator API (3 upstream calls per unique product_id). With default limit=20, expect ~60 upstream enrichment calls plus the initial search page load. Never falls back outside kr/ko locale or KRW currency.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Maximum number of enriched product/color candidates to return (1–50). Controls how many items are fetched from the orchestrator API. |
| queryrequired | string | Search query text in Korean or English (e.g. '원피스', 'dress', '셔츠'). |
| section | string | Gender/section to search within. |
{
"type": "object",
"fields": {
"page": "Current page number",
"limit": "Limit applied",
"query": "The search query used",
"locale": "Locale identifier (kr/ko)",
"section": "Section searched (women or men)",
"currency": "Currency code (KRW)",
"products": "Array of enriched product/color candidates with product_id, color_id, name, name_en, family, family_en, color_label, color_rgb, price, price_formatted, original_price, original_price_formatted, on_sale, currency, sizes (array of {size_id, label, available}), model_image, flat_image, product_url, locale, observed_at",
"observed_at": "ISO timestamp of data retrieval",
"total_results": "Total deduplicated product/color candidates on this search page before limit"
}
}About the Mango API
Search and Category Browsing
The search_products endpoint accepts a query string in Korean or English — for example '원피스' or 'dress' — and an optional page integer. It returns a products array where each entry includes product_id, color_id, sizes, price, price_formatted (KRW), currency, and an on_sale flag. Up to approximately 240 items are returned per page. The list_products endpoint works differently: it takes a category_path string that matches the URL segment after /kr/ko/c/ on the Mango Korea site (e.g. '여성/드레스와-점프수트/e6bb8705'). The response includes name, name_en, brand_id, product_url, and a colors array with id, label, rgb, sizes, and images per color variant.
Product Detail Data
The get_product_details endpoint accepts an 8-digit product_id — obtainable from either search_products or list_products — and returns the most detailed response of the three. Each entry in the colors array carries price, price_formatted, original_price, on_sale, and a sizes array with per-size size_id, label, and availability. The top-level response also includes the Korean name, English name_en, brand_id, collection code (e.g. 'OI2026'), tags, families (category objects with id, label, label_en), and the canonical Korean product_url.
Coverage Scope
All three endpoints are scoped to the Korean locale (kr/ko) and return prices exclusively in KRW. Product IDs are consistent across endpoints, so a product surfaced via search_products can be passed directly to get_product_details for deeper data. The list_products endpoint requires knowing the category path as it appears in the Mango Korea URL; category paths are not enumerated by the API itself and must be discovered from the site navigation.
The Mango API is a managed, monitored endpoint for shop.mango.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shop.mango.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shop.mango.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track KRW price changes and sale status for specific Mango Korea products over time using
on_saleandprice_formattedfields. - Build a Korean fashion catalog by crawling category pages with
list_productsand enriching each result withget_product_details. - Monitor size availability at the SKU level using the per-size
sizesarray returned byget_product_details. - Extract RGB color data and product images for visual merchandising or color trend analysis.
- Compare Korean and English product names (
namevsname_en) for localization or translation pipelines. - Identify new season collections by filtering on the
collectionfield (e.g.'OI2026') across category pages. - Aggregate material composition data from
get_product_detailsfor sustainability or textile research.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Mango have an official developer API?+
What does `get_product_details` return that `search_products` does not?+
get_product_details returns material composition, per-size stock availability within each color variant, original (pre-sale) prices, product tags, family/category objects with both Korean and English labels, and official product images including flat lay, model, and detail views. search_products returns only a summary: product_id, color_id, sizes list, price, and on_sale flag.Is pagination supported for category listing pages?+
list_products returns products from a single category page and does not currently support a page parameter; total_products indicates how many items were returned for that path. search_products does accept a page integer for iterating through search results.Does the API cover Mango storefronts outside South Korea, such as the US or EU sites?+
kr/ko) and return KRW prices. You can fork this API on Parse and revise it to target a different locale path and currency if you need data from another regional storefront.