Scraping API

Shopee product pages, search results and shop catalogs as JSON, on request.

Endpoints7
Regions8id · sg · th · ph · my · vn · tw · br
Product page8 credits≈ $10 per 1,000

Free trial credits. Catalog and estimates work immediately.

Need monthly sales and market share instead? Shopee market data →

Fetch one product pageRequest
POST/v1/shopee/get_pc/submit
GET/v1/shopee/get_pc/retrieve/37039736
{
  "region": "id",
  "shop_id": "34907167",
  "item_id": "40869177342"
}
Real response, trimmedfull response ↓
{
  "task_id": 37039736,
  "status": "completed",
  "result": {
    "page_url": "https://shopee.co.id/product/34907167/40869177342",
    "collected_at": 1790312459,
    "detail": {
      "item": {
        "item_id": 40869177342,
        "shop_id": 34907167,
        "title": "Apple iPhone 15 - Garansi Resmi",
        "brand": "Apple",
        "currency": "IDR",
        "tier_variations": [
          {
            "name": "Warna",
  …
Quickstart

Your first Shopee request

  1. 1

    Get a key. Sign in and create an API key in the dashboard. New accounts get free trial credits.

  2. 2

    Submit. POST the product to /v1/shopee/get_pc/submit. You get a task ID back.

  3. 3

    Retrieve. Poll /v1/shopee/get_pc/retrieve/{task_id} until the status is complete, then read the result.

Fetch one product page

# shop_id and item_id are in the product URL: ...-i.{shop_id}.{item_id}
curl -X POST https://api.magpieiq.com/scraping/v1/shopee/get_pc/submit \
  -H "Authorization: Bearer $MAGPIE_API_KEY" -H "Content-Type: application/json" \
  -d '{"region": "id", "shop_id": "34907167", "item_id": "40869177342"}'
# -> {"task_id": 37039736, "status": "pending", ...}

curl https://api.magpieiq.com/scraping/v1/shopee/get_pc/retrieve/37039736 \
  -H "Authorization: Bearer $MAGPIE_API_KEY"

Real response, trimmed

{
  "task_id": 37039736,
  "status": "completed",
  "result": {
    "page_url": "https://shopee.co.id/product/34907167/40869177342",
    "collected_at": 1790312459,
    "detail": {
      "item": {
        "item_id": 40869177342,
        "shop_id": 34907167,
        "title": "Apple iPhone 15 - Garansi Resmi",
        "brand": "Apple",
        "currency": "IDR",
        "tier_variations": [
          {
            "name": "Warna",
            "options": ["Yellow", "Green", "Black", "Pink", "Blue"]
          },
          {
            "name": "Penyimpanan",
            "options": ["128GB", "256GB"]
          }
        ],
        "models": [
          {
            "model_id": 375252464276,
            "name": "Green,256GB",
            "price": 1407900000000
          },
          {
            "model_id": 238282002834,
            "name": "Blue,128GB",
            "price": 1360100000000
          }
        ]
      },
      "product_price": {
        "price": {
          "range_min": 1151700000000,
          "range_max": 1432500000000
        }
      },
      "product_review": {
        "rating_star": 4.92,
        "total_rating_count": 25,
        "sold_count_display": "43",
        "liked_count": 190
      },
      "product_attributes": {
        "categories": ["Handphone & Aksesoris", "Handphone", "Apple"]
      },
      "shop_detailed": {
        "shopid": 34907167,
        "name": "Doran Wearable Manado",
        "is_official_shop": true,
        "is_shopee_verified": false,
        "rating_star": 4.853132,
        "follower_count": 7089,
        "item_count": 1289,
        "response_rate": 100
      }
    }
  }
}
Reference

Shopee endpoints

Product page

/v1/shopee/get_pc

One product's current listing: price, every variant, rating, sold count and seller details.

Inputregionshop_iditem_id
No approval · any time8 credits / request· ≈ $10 per 1,000

Product page (bulk)

/v1/shopee/get_pc_bulk

The same data for many products, downloaded as CSV or JSONL. Can run on a schedule with a webhook when ready.

InputCSV of regionshop_iditem_id
No approval · any time8 credits / product· ≈ $10 per 1,000

PDP bundling

/v1/shopee/pdp-bundling

One bundle per successful product containing all matched API captures as CSV or JSONL. Supports schedules, completion webhooks, and GCS/S3 delivery.

InputCSV of regionshop_iditem_id
No approval · any time12 credits / product· ≈ $15 per 1,000

Search and category listing

/v1/shopee/search-items

Every product on a search or category results page. Sort and filters come from the URL: sortBy=sales, sortBy=ctime.

InputUp to 50 URLsmax_pages
Approval required · 8am–6pm GMT+86 credits / page· ≈ $7.5 per 1,000

App Search (mobile)

/v1/shopee/app/search-items

Submit at /submit, poll /retrieve/{job_id}, then download raw JSON from /jobs/{job_id}/pages/{item_id}/data. Charged on approval at the current per-page rate; unsuccessful pages and pages beyond a verified end-of-results boundary are refunded.

Inputcountry, searcheskeywordstart_pagemax_pages (1–100)sort_byorderfilters; up to 50 searches
Approval required · 8am–6pm GMT+810 credits / page· ≈ $13 per 1,000

Shop catalog

/v1/shopee/merchant-items

The products in one shop, page by page, with the same URL sort options.

InputUp to 50 shop URLsmax_pages
Approval required · 8am–6pm GMT+86 credits / page· ≈ $7.5 per 1,000

Variant sold

/v1/shopee/variant_sold_v1

The exact cumulative sold count per variant. No monthly field: compare two snapshots to get a period.

InputUp to 50,000 itemsone country per request
Approval required · 8am–6pm GMT+810 credits / item· ≈ $13 per 1,000
Response

Key fields in the response

FieldTypeMeaning
result.page_urlstringThe product's Shopee URL.
result.collected_atunix secondsWhen this result was collected.
result.detail.item.item_id / shop_idintegerShopee's product and shop identifiers.
result.detail.item.titlestringListing title as shown on Shopee.
result.detail.item.brandstringBrand as set on the listing.
result.detail.item.currencystringCurrency of every price field (IDR for Indonesia).
result.detail.item.tier_variationsarrayVariant dimensions and their options (e.g. colour, storage).
result.detail.item.models[]arrayOne entry per variant combination, with its own model_id and price.
result.detail.product_price.price.range_min / range_maxintegerLowest and highest variant price. Divide by 100,000 for the currency amount.
result.detail.product_review.rating_starnumberAverage rating, 0–5.
result.detail.product_review.total_rating_countintegerNumber of ratings.
result.detail.product_review.sold_count_displaystringSold count as Shopee displays it. Use Variant sold for exact counts per variant.
result.detail.product_attributes.categoriesarrayShopee category path.
result.detail.shop_detailed.namestringShop name.
result.detail.shop_detailed.is_official_shopbooleanWhether the shop is an official store.
result.detail.shop_detailed.rating_star / follower_countnumberShop rating and followers.
Pricing

What it costs, worked out

Cost

1,000 product pages, once

8,000credits

≈ $10

Cost

500 products every day for 30 days

120,000credits

≈ $150

Cost

Best sellers from 20 category pages

120credits

≈ $0.15

Dollar figures use the Tier 1 credit rate. Pay-as-you-go top-ups cost more per credit and larger packs cost less; the rate card has every pack.

Search and Shop catalog jobs reserve credits for the pages you request and are billed only for pages actually returned.

AI agents

Use it from Claude or ChatGPT

Give your assistant a list of your products and their Shopee URLs, and it checks whether anyone on Shopee is selling below your price.

Paste into your assistant
I will give you a list of products, each with our offer price and the Shopee URL of the matching listing. For each row, extract shop_id and item_id from the URL, which ends in -i.{shop_id}.{item_id}. POST to /v1/shopee/get_pc/submit with {"region": "id", "item_id": "...", "shop_id": "..."} to get a task_id, then poll GET /v1/shopee/get_pc/retrieve/{task_id} until it returns a result. Read the current price and divide it by 100000.

Give me a table of every product where the Shopee price is at or below ours, showing our price, the Shopee price and the gap. Also report is_lowest_price_at_shopee for each row — read it from each entry in item.models, because the item-level field comes back null.

Only use get_pc: it runs without manual approval.

The copied prompt also tells your assistant how to get you a key if you don’t have one yet, and to ask before spending credits.

Limits

Limits and processing

  • Product page and Product page (bulk) run at any time without approval.
  • Search, Shop catalog and Variant sold jobs are reviewed before they run and are processed 8am–6pm GMT+8.
  • Search and Shop catalog take up to 50 URLs per request and are billed per page actually returned.
  • App Search is keyword-only: up to 50 searches from one country and 100 pages per search. start_page controls absolute offsets; identical search ranges must not overlap; the original publication deadline is 24 hours. Priority retries do not guarantee completion time.
  • App Search retries missing earlier pages once, five minutes after the last expected page is observed. Only verified response.nomore=true marks the end of results; later pages are unbillable.
  • Variant sold takes up to 50,000 items per request, one country per request.
  • Product page regions: id, sg, th, ph, my, vn, tw, br.
FAQ

Shopee API questions

Do I need a Shopee seller account?

No. You need a Magpie API key. Sign-up is self-serve and includes free trial credits.

How fast is a product page?

Product page requests run at any time without approval; you submit, then poll until the result is ready. Listing and variant jobs are reviewed first and processed 8am–6pm GMT+8.

Why do I divide prices by 100,000?

Shopee returns prices as integers in its own raw format. Dividing by 100,000 gives the amount in the listing's currency.

Can I get exact sales per variant?

Yes, with Variant sold. It returns the exact cumulative sold count per variant. Schedule it and subtract two snapshots to get sales for a period.

How is it billed?

In prepaid credits from one wallet shared with the Data API. Product pages are billed per product, listing pages per page actually returned. The rate card shows every current price.

Can I get monthly sales totals instead of raw pages?

Yes. The Data API serves monthly GMV, units and market share for Shopee by brand, merchant and SKU, already cleaned and categorised.

Make your first Shopee request today.

Free trial credits. Catalog and estimates work immediately.