Pop Mart is the drop retailer where the browser is a rounding error. On 28 September 2026 we fetched popmart.com through residential exits in the United States and the United Kingdom. The US home page answers a client with no JavaScript with 200 OK, 765,161 bytes and 841 words; rendering the same URL costs 1,972,361 bytes and 21 seconds and returns 867 words, twenty-six more. A product page is 117,555 bytes, carries a canonical and a price, and is served with no-store, which is precisely what a restock monitor wants. The UK storefront at /gb is a different application entirely, 6,904 words for 1,122,959 bytes.
The render adds 26 words and 1.2 megabytes
Every result on the first page for this keyword is a bot guide, and every bot guide starts with a headless browser. We started by weighing the site. From a United States residential exit, the US home page audited at 841 words without JavaScript and 867 rendered, so the browser adds 3% of the words for 2.6 times the bytes and 21 seconds of wall time.
| Fetch | Exit | Status | Bytes | Words | Canonical |
|---|---|---|---|---|---|
| /us home, no JavaScript | United States | 200 | 765,161 | 841 | none |
| /us home, rendered | United States | 200 | 1,972,361 | 867 | set by script to the root domain |
| /us home, no JavaScript | United Kingdom | 200 | 765,161 | 840 | none |
| /us product page, no JavaScript | United States | 200 | 117,555 | 430 | /us/products/2155 |
| /gb home, no JavaScript | United Kingdom | 200 | 1,122,959 | 6,904 | /gb |
Two details in the head are traps. The plain HTML of the home page has no canonical at all, and the rendered page sets one by script pointing at the bare domain rather than at /us. A pipeline that trusts the rendered canonical will fold every regional home page into one URL. Deduplicate on the final URL and ignore both. The robots meta says index,follow and there is no JSON-LD anywhere on the home page, so nothing structured is waiting for you in the head: the words are in the body, and they are there without a browser.
Product pages are the surface to watch
A drop monitor does not watch the home page. It watches the product pages, and on Pop Mart those are the cheapest thing on the site. The Big into Energy pendant blind box page returned 117,555 bytes and 430 words to a plain HTTP client: title, description, the $26.99 price and a self-referencing canonical, in 6.4 seconds under load. That is 15% of the home page's weight for the one page whose stock state you actually need.
The cache headers tell you how often to look. The home page arrives with s-maxage=180, stale-while-revalidate: the edge may serve a copy up to three minutes old, so a home-page poll faster than that returns stale bytes. The product page arrives with private, no-cache, no-store: every request reaches the origin and reflects the current state. That is the difference between a monitor that sees a restock and one that sees a three-minute-old cache of the sold-out state.
The UK storefront is a different site
Pop Mart puts the country in the path, not the IP. The /us home requested through a United Kingdom residential exit returned the same 840 words and the same bytes; there is no redirect. But /gb requested from the UK is another application altogether: 1,122,959 bytes, 6,904 words, 142 images, 29 headings, a canonical of its own, and a newer rendering mode that streams the page in parts. The US store is a compact catalogue; the UK store ships its whole collection listing in the HTML.
So the geo rule is to match the exit to the path. Pop Mart's terms reserve the right to limit sales "to any person, geographic region or jurisdiction", and a monitor that reads /us from a UK exit is asking a US question with a UK accent. Pin country=us for the US store, country=gb for /gb, and treat the two as separate catalogues with separate stock.
What Pop Mart's terms say
The Terms of Service, served over plain HTTP at /us/help/terms-and-conditions, define "using" the site to include "any person or entity that accesses or uses the site with crawlers, robots, data mining, or extraction tools or any other functionality", and then, under Section 6, reserve the right to "limit or cancel quantities purchased per person, per household or per order", including "orders placed by or under the same customer account, the same credit card, and/or orders that use the same billing and/or shipping address", and to "limit or prohibit orders that, in our sole judgment, appear to be placed by dealers, resellers or distributors". Checkout bots, multi-account purchasing and reseller farms breach those terms, and nothing in this post helps with them.
What the terms leave open is the thing the autocomplete is actually asking for: "popmart restock alert", "popmart restock time", "popmart restock schedule". Knowing that a public product page changed state, so that a person can go and buy one box, is reading a page the server hands to everyone. That is the use this post is written for.
Cost math with real numbers
Prices from our pricing page: residential proxies from $0.80/GB on the Basic line, and the web scraping API from $0.0002 per page, $0.001 with rendering, billed only on success. A gigabyte is counted as 10^9 bytes.
| Job | Bytes per request | Requests per GB | Cost per request at $0.80/GB |
|---|---|---|---|
| /us home, no JavaScript | 765,161 | 1,307 | $0.00061 |
| /us home, rendered | 1,972,361 | 507 | $0.00158 |
| /us product page, no JavaScript | 117,555 | 8,507 | $0.000094 |
| /gb home, no JavaScript | 1,122,959 | 890 | $0.00090 |
| Any page, web scraping API, no render | n/a | n/a | $0.0002 |
The product page is the row that matters. Watching 50 products every five minutes is 14,400 fetches a day, 1.69 GB, $1.35 in residential bandwidth; the same fetches through the per-page API are $2.88. On Pop Mart the pages are small enough that bytes are the cheaper product, which is the opposite of what we found on DraftKings, where 2.4 MB pages made the per-page API nine times cheaper. Rendering the home page instead, at $0.00158 a time for 26 extra words, is the row to delete from the budget.
When the proxy is not enough: the collector
The other half of a drop is the resale price, and that is not on popmart.com. We ran the Google Shopping collector once for "labubu the monsters blind box" from the United States: 8 rows in 11.3 seconds, billed per delivered listing at $0.001. The rows put popmart.com's own $26.99 pendant and $159 plush listings next to a marketplace listing and two community price discussions quoting $35 to $50 per box. For a like-for-like resale check, how to price monitor covers the general method, and the same logic applied to trading-card drops is in Pokemon Center proxies: 1,622 words over HTTP.
The setting that works on Pop Mart
- Network: residential, Basic line at $0.80/GB. Nothing in nine fetches from two countries challenged the network.
- Fetch mode:
engine: tls, plain HTTP. The home page returns 841 words without JavaScript and 867 with it for 2.6 times the bytes; a product page returns 430 words and its price for 117,555 bytes. Never render. - Country to pin:
country=usfor/us. The country lives in the path:/gbis a separate application with 6,904 words, and a US exit reading it is asking the wrong store. - When the proxy is not enough: for the resale side, the google_shopping collector, which returned 8 rows in 11.3 seconds on our run. There is no Pop Mart collector in our catalogue and, given the terms, we are not building a checkout one.
- Free tier: every account gets $2 of free API usage per month, which is 10,000 product-page fetches through the API or 2,000 delivered shopping rows.
Sources & further reading
- popmart.com/robots.txt (fetched 28 September 2026)
- POP MART Terms of Service (Section 5 Products or Services, Section 6 Accuracy of Billing and Account Information)
- Labubu Vinyl Plush Pendant Blind Box, Big into Energy Series, POP MART US (product page fetched 28 September 2026)
- POP MART Official, UK storefront (fetched 28 September 2026)