Data API
Data API · monthly datasetMaintained marketplace dataset, refreshed monthly.
The Data API serves the Magpie universe — SKU-level ecommerce data (Shopee, Lazada, TikTok Shop, Tokopedia and more) across Southeast Asia that we already scraped, cleaned and deduplicated. It refreshes monthly: you query GMV, market share, brands, merchants and SKUs the moment you need them — no scrape to run, no waiting. If you instead need a specific page fetched right now, that's the Scraping API.
| sku_name | brand | merchant | price_usd | discount | sold | gmv_usd | rating | reviews |
|---|---|---|---|---|---|---|---|---|
| SKIN1004 Madagascar Centella Tone Brightening Capsule Ampoule 100ml | Skin1004 | SKIN1004 Indonesia Official | $13.22 | 70% | 9,039 | $119,540.78 | 4.9 | 6,260 |
| d'Alba White Truffle First Spray Serum 100ml | D'Alba | d'Alba Indonesia Official Shop | $16.82 | 35% | 5,633 | $94,740.02 | 5.0 | 4,609 |
| d'Alba White Truffle First Spray Serum 50ml | D'Alba | d'Alba Indonesia Official Shop | $11.96 | 35% | 6,349 | $75,934.04 | 4.9 | 3,991 |
9 of 32 fields shown — every row also carries the full category tree, local-currency pricing, stock, and merchant location. Browse the data dictionary →
Base URL https://api.magpieiq.com/data. Authenticate with an API key from your dashboard as a Bearer token.
1 · See what's available (1 credit)
curl "https://api.magpieiq.com/data/v1/exports/catalog?country=ID" \ -H "Authorization: Bearer mgk_live_..."
Returns — every buyable category with its own month range
{
"refresh_id": "2026-07-10-full",
"countries": ["ID"],
"platforms": ["Shopee", "Tokopedia | Shop", "Lazada", "Blibli"],
"coverage": {"min": "2025-01", "max": "2026-06"},
"categories": [
{"category_1": "Beauty", "category_2": "Skincare", "category_3": "Facial Serum",
"month_min": "2025-01", "month_max": "2026-06"},
...
]
}2 · Estimate an export before you buy (free dry-run — exact rows & price, charges nothing)
curl -X POST "https://api.magpieiq.com/data/v1/exports" \
-H "Authorization: Bearer mgk_live_..." -H "Content-Type: application/json" \
-d '{"country":"ID","category_3":["Facial Serum"],"date_from":"2026-01","date_to":"2026-05","estimate":true}'Returns — exact rows, credits and price; nothing charged
{
"estimate": {"atoms": 10, "rows": 184250, "credits": 921250, "usd": 1151.56,
"parts": 10, "bytes": 52428800},
"charged": 0
}3 · Buy the export — same body, drop estimate. Pick your format: "parquet" (default) or "csv" (delivered as gzipped .csv.gz; same price)
curl -X POST "https://api.magpieiq.com/data/v1/exports" \
-H "Authorization: Bearer mgk_live_..." -H "Content-Type: application/json" \
-d '{"country":"ID","category_3":["Facial Serum"],"date_from":"2026-01","date_to":"2026-05","format":"csv"}'Returns — charged & queued
{
"export_id": "exp_9f3b2c", "status": "queued",
"charged_credits": 921250, "balance_remaining": 78750,
"format": "csv", "poll": "/v1/exports/exp_9f3b2c"
}4 · Poll until ready, then download the signed URLs
curl "https://api.magpieiq.com/data/v1/exports/EXPORT_ID" \ -H "Authorization: Bearer mgk_live_..."
Returns — one file per category × month; each row is a SKU × month (see the sample table above)
{
"export_id": "exp_9f3b2c", "status": "ready", "format": "csv",
"delivery": {
"format": "csv", "which": "full", "part_count": 10,
"files": [
{"name": "facial-serum_2026-01.csv.gz", "url": "https://storage.googleapis.com/…signed…"},
...
]
}
}Every endpoint, parameter and response shape is in the API reference. Prefer Python? pip install magpie-data — see the Python quickstart and pipeline recipes.
A data row costs 5 credits; catalog/discovery calls are 1 credit flat, and dry-run estimates are always free. Credits come from the same wallet the Scraping API uses — one balance covers both products.