Data API

Data API · monthly dataset

Maintained marketplace dataset, refreshed monthly.

What it is

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.

What a row looks like — real data
ID · Shopee · Facial Serum · 2026-05 · top 3 by GMV
sku_namebrandmerchantprice_usddiscountsoldgmv_usdratingreviews
SKIN1004 Madagascar Centella Tone Brightening Capsule Ampoule 100mlSkin1004SKIN1004 Indonesia Official$13.2270%9,039$119,540.784.96,260
d'Alba White Truffle First Spray Serum 100mlD'Albad'Alba Indonesia Official Shop$16.8235%5,633$94,740.025.04,609
d'Alba White Truffle First Spray Serum 50mlD'Albad'Alba Indonesia Official Shop$11.9635%6,349$75,934.044.93,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 →

Quickstart

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.

Credits & cost

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.