~15¢
To map twenty competitors' full catalogues
2 traps
Sold-count field and duplicate listings across tabs
50
Shop URLs per request

You can learn more about a competitor from their Shopee storefront in an afternoon than from a quarter of market chatter. Their entire catalogue is public: every listing, every price, and a usable signal of what actually sells.

Most teams never look, because doing it by hand for a shop with four hundred listings is a day of clicking. Doing it with one API call is not.

What you get

A complete enumeration of a shop: listing count, price for every item, and monthly sold counts. From that you can compute their observed monthly GMV, find the twenty listings carrying most of it, and see the shape of their price distribution.

That last one is the most under-used. A competitor whose GMV is spread evenly across two hundred listings is running a long-tail assortment strategy. One whose GMV concentrates in six listings is running a hero-product strategy, and those six products are the whole business. Those two competitors need completely different responses from you.

Two parsing traps

This endpoint behaves differently from search, and both differences will silently corrupt your numbers.

The numeric sold field is zero. On merchant-items you must read monthly_sold_count_text, which is exact here — the opposite of the search endpoint, where the text version is a useless bucket and the numeric one is right. Read the wrong field and every product looks like it sold nothing.

Items repeat across the shop's category tabs. The same listing appears once per tab it belongs to. Deduplicate by itemid before summing or you will overcount by roughly half.

The comparison you must not make

This is the important one, and it is where most competitor analysis quietly goes wrong.

Having enumerated a shop completely, it is tempting to divide their GMV by a market total built from keyword search and call the result their market share. Do not. The shop is fully enumerated; the market is not. Keyword search reaches whatever the search results surfaced, which is a sample of unknown coverage.

Dividing a complete number by an incomplete one produces a share that is a ceiling, not an estimate — and it will always flatter the competitor. If you need real share, that is a panel question, not a scraping one: the Data API computes it across full-category coverage.

Cost and gating

Six credits per shop URL, up to 50 shops per request. Like the other listing endpoints, it is approval-gated and processes 08:00–18:00 GMT+8, so it is an analysis tool rather than a scheduled job.

For twenty competitors that is 120 credits — about fifteen US cents to map an entire competitive set.

What to do with it

Run it once for the shape, then run it quarterly for the delta. New listings tell you where they are expanding. Listings that disappeared tell you what failed, which is usually the more useful half and the half nobody publishes.

Pair it with the panel and you get the fuller picture: scraping tells you exactly what one competitor is doing today, the panel tells you whether it is working relative to everyone else.

Recipe 2.4 in the agent skill is the full prompt, with the share-ceiling caution built into it so an assistant does not make the mistake for you.