# Shopee Proxies: 1,427 Words, Pin Singapore

> Shopee measured through residential proxies: 1,427 words with and without JavaScript from Singapore, zero from an Indonesian exit. The setting that works.

[Home](https://quanticdata.io/)/[Blog](https://quanticdata.io/blog/)/Shopee Proxies: 1,427 Words, Pin Singapore

# Shopee Proxies: 1,427 Words, Pin Singapore

Use casesSep 28, 2026·9 min read·By [Aldo Morese](https://quanticdata.io/about/), founder of QuanticData

Three fetches of shopee.sg through residential proxies on 28 September 2026: plain HTTP from Singapore returns 1,427 words for 670,938 bytes, the rendered fetch returns the same 1,427 words for 1,170,177 bytes, and an Indonesian exit receives a 163,632-byte shell with zero words

On this page [Search for Shopee proxies and Google mostly answers a shopping question](/blog/shopee-proxies/#search-for-shopee-proxies-and-google-mostly-answers-a-shoppi) [Without JavaScript Shopee gives you the whole page, and the render gives you the same page](/blog/shopee-proxies/#without-javascript-shopee-gives-you-the-whole-page-and-the-r) [One fetch in four from Singapore is the empty shell, and the tell is the title](/blog/shopee-proxies/#one-fetch-in-four-from-singapore-is-the-empty-shell-and-the) [What the rendered fetch costs, and what it saves to skip it](/blog/shopee-proxies/#what-the-rendered-fetch-costs-and-what-it-saves-to-skip-it) [What robots.txt permits, and the crawl delay it asks for](/blog/shopee-proxies/#what-robots-txt-permits-and-the-crawl-delay-it-asks-for) [Where the structured data is, and where it is not](/blog/shopee-proxies/#where-the-structured-data-is-and-where-it-is-not) [The setting that works on Shopee](/blog/shopee-proxies/#the-setting-that-works-on-shopee)

Shopee is the rare large marketplace where the browser buys nothing at all. On 28 September 2026 we fetched shopee.sg through residential proxies: a plain HTTP client from Singapore received 1,427 words, and a fully rendered browser received the same 1,427 words for 1.74 times the bytes and 55 seconds of waiting. From an Indonesian exit the identical URL returned a 163,632-byte shell with no title and no words. Shopee proxies are a one-line setting, and the line is: residential, plain HTTP, Singapore.

## Search for Shopee proxies and Google mostly answers a shopping question

The Singapore results page for the head term is three different markets sharing one phrase. Proxy vendors hold the top slot with a Shopee landing page, followed by a Chrome-extension walkthrough and a generic explainer on why a proxy helps. Then an r/internationalshopper thread asks for a proxy *purchasing* service, a Shopee listing sells a "Japan proxy service" for buying from Mercari, and another sells MTG proxy cards. The related searches point at "Shopee Indonesia proxy" and "Shopee Taiwan proxy", which is the buyer telling you that the country matters before anyone has measured why.

The data intent lives under other words. The suggest box for "shopee scraper" fills with "shopee scraper api", "shopee scraper python", "scrape shopee product data", "scrape shopee api v4" and "scrape shopee reviews". We read the two top organic guides: one configures a browser extension, the other lists proxy types. Neither fetches a single page. So we did.

## Without JavaScript Shopee gives you the whole page, and the render gives you the same page

We audited the Shopee Singapore home from a Singapore residential exit twice in one call: once as a pure HTTP client, once in a headless browser.

| Fetch | Status | Bytes | Words | Title | Time |
| --- | --- | --- | --- | --- | --- |
| Singapore exit, plain HTTP | 200 | 670,938 | 1,427 | Shopee Singapore \| Cheaper, Faster On Shopee | 3.9 to 4.8 s |
| Singapore exit, rendered | 200 | 1,170,177 | 1,427 | same | 55.1 s |
| Malaysia exit, plain HTTP | 200 | 670,836 | full page | same | 4.6 s |
| Indonesia exit, plain HTTP | 200 | 163,632 | 0 | none | 1.6 to 5.7 s |
| Indonesia exit, rendered | 200 | shell | 0 | none | audit 79.3 s |

The first two rows are the reason this page exists. Of the forty-plus sites we have measured this way, Shopee is the one where the two views match word for word. The audit's diff reports no content only in JavaScript, no changed title, no changed description. The browser downloaded 499,239 extra bytes of scripts and fonts, waited fifty-five seconds, and produced a document with exactly the words the server had already sent in four seconds.

What the plain HTML contains is the entire home: category grid, flash deals, the daily discover block and the footer. Three things it does not contain matter for a parser. There is no `link rel="canonical"`, there is no JSON-LD of any type, and the robots meta tag reads `noindex`. Shopee ships its home with an instruction to search engines not to index it. That is a hint about how the site sees its home: a shell for the app, not a document. Category and product pages are the pages to point the same plain client at.

## One fetch in four from Singapore is the empty shell, and the tell is the title

We fetched the home nine times over plain HTTP to see how stable the full page is. From Singapore three of four fetches returned the full page at 670,686 to 671,418 bytes; the fourth returned a 163,632-byte document with no `title`, no description and no words, still with status 200. From Malaysia both fetches were full pages. From Indonesia all three fetches were the shell, and the full audit from Indonesia found zero words in both passes.

Two rules fall out of that, and they are the whole operational setting:

- **Classify on the title, never on the status.** Both documents are 200 OK. The full page carries "Shopee Singapore | Cheaper, Faster On Shopee" in its head; the shell carries nothing. If `title` is empty, the request did not reach the page you wanted; in our runs the next fetch from the same country returned the full page.

- **Pin the exit to the market's own country.** shopee.sg wants a Singapore or Malaysia exit. An Indonesian address did not get a redirect to shopee.co.id and did not get an error; it got 163,632 bytes of nothing, which is the most expensive kind of failure because it looks like success until the parser runs. Every Shopee market is a separate domain, and the same rule holds per domain: the exit country belongs to the domain you are reading.

```
def shopee_page(resp):
    # 200 in every case; the shell has no head at all
    if not resp.title:
        return "shell_retry"        # 163,632 bytes, zero words
    if resp.bytes < 300_000:
        return "shell_retry"        # a full home is ~671 KB
    return "page"                   # 1,427 words, parse it
```

The byte check is a belt to the title's braces: in nine fetches the shell was always 163,632 bytes exactly and the full page never dipped below 670,686.

## What the rendered fetch costs, and what it saves to skip it

Every number here came through [residential proxies](https://quanticdata.io/residential-proxies/) on the Basic line at $0.80/GB. Counting a gigabyte as 10^9 bytes, the home costs this:

| Fetch | Bytes | Fetches per GB | Cost per fetch | Words returned |
| --- | --- | --- | --- | --- |
| Plain HTTP, Singapore | 670,938 | 1,490 | $0.00054 | 1,427 |
| Rendered, Singapore | 1,170,177 | 854 | $0.00094 | 1,427 |
| Plain HTTP, Indonesia (shell) | 163,632 | 6,111 | $0.00013 | 0 |

The render costs 1.74 times the bandwidth and 13 times the wall-clock, and it returns nothing the plain fetch did not. On a thousand home fetches a day that is 0.5 GB you did not need to buy and about fourteen hours of browser time you did not need to wait. On [mobile proxies](https://quanticdata.io/mobile-proxies/) at $2.30/GB the same plain fetch is $0.0015, and nothing in nine requests scored the network, so the residential Basic line is the right one. If you are sizing a pool before you buy, [how much proxy data you need](https://quanticdata.io/blog/how-much-proxy-data-do-i-need/) runs the same arithmetic the other way round.

The Indonesian row is the trap. It is the cheapest fetch in the table and it is worth exactly nothing, and a budget that counts requests instead of words will report it as a success.

## What robots.txt permits, and the crawl delay it asks for

`shopee.sg/robots.txt` is 1,384 bytes and has two blocks. The first names Googlebot, Googlebot-Mobile and Bingbot, gives them a crawl delay of 0.1 seconds and lists 33 disallowed paths. The second is for everyone else:

```
User-Agent:*
Crawl-delay:1
Disallow: /cart/
Disallow: /checkout/
Disallow: /buyer/login/otp
Disallow: /user/
Disallow: /me/
Disallow: /order/
Disallow: /daily_discover
Disallow: /mall/just-for-you/
Disallow: *-i.*/similar
Disallow: /find_similar_products/
Disallow: /top_products
Disallow: /search*searchPrefill
Disallow: /index.html
Disallow: *?utm_source
```

Read it for what it does not say. Product pages, shop pages and category pages are not disallowed for an unnamed client, and plain keyword search is not disallowed either; only the prefilled, hashtag, brand-filter and shop-scoped search variants are listed, and most of those only in the Googlebot block. What the wildcard block asks for is a one-second crawl delay, which is a rate, not a wall. A collector that sends one request per second per exit is doing what the file asks.

The account surfaces are the other half. Cart, checkout, login OTP, orders and the personalised feeds are disallowed for every agent, and they are also the surfaces that require a session. Shopee's terms of service, published through its Help Centre, govern account holders, and automated access with an account is the line we do not help anyone cross. Everything measured here was logged out. For the general shape of these files across platforms, [llms.txt vs robots.txt](https://quanticdata.io/blog/llms-txt-vs-robots-txt/) covers what each one can and cannot promise.

## Where the structured data is, and where it is not

The home has no JSON-LD, and it is marked `noindex`, so the home is not the page to parse for anything but the category list. The Shopee Open Platform, at open.shopee.com, is Shopee's official developer platform; it is a JavaScript application end to end, three words of text without a browser, and it is the route for a seller's own listings. For public price and availability reads of other sellers' listings there is no official feed, which is why the plain-HTTP product page is the surface, and why this page measures the cheapest way to get it.

One note from the fetches that matters for a job spanning markets. The home served to Malaysia was the Singapore home with the same title and the same byte count within a few hundred bytes, which tells you the domain, not the exit, decides the market; the exit only decides whether you get the page at all. That is the opposite of what we measured on [AliExpress](https://quanticdata.io/blog/aliexpress-proxies/), where the exit rewrites the domain, and it is the same shape as [Lazada](https://quanticdata.io/blog/lazada-proxies/), Shopee's neighbour in the same city.

## The setting that works on Shopee

- **Network**: residential, Basic line at $0.80/GB through [residential proxies](https://quanticdata.io/residential-proxies/). No request in nine scored the IP; the cost driver is bytes, and Basic is the cheapest byte.

- **Fetch mode**: `engine: tls`, plain HTTP. 1,427 words from the home, the same 1,427 the browser returns, for 670,938 bytes instead of 1,170,177 and four seconds instead of fifty-five.

- **Country**: pin `sg` for shopee.sg, or `my`, which served the identical page. An Indonesian exit received a 163,632-byte shell with zero words. Classify on the title and retry the shell once.

- **When the proxy is not enough**: there is no Shopee collector in our catalogue. Drive the [web scraping API](https://quanticdata.io/web-scraping-api/) with `engine: tls` against product and category URLs, and reach for rendering only on a page whose plain fetch has a title and still no price. For the same job on a marketplace we do ship a collector for, [AliExpress search](https://quanticdata.io/collectors/aliexpress-scraper-api/) returned 20 priced items in 4.5 seconds on the same day.

- Failed requests are never billed, and every account gets $2 of free API usage per month, which is about 3,700 plain fetches of the Shopee home.

### Sources & further reading

- [shopee.sg/robots.txt (fetched 28 September 2026, 1,384 bytes)](https://shopee.sg/robots.txt)

- [Shopee, Sea Limited product page](https://www.sea.com/products/shopee)

- [Shopee Open Platform](https://open.shopee.com/)

- [Shopee Help Centre, Terms of Service article](https://help.shopee.sg/portal/4/article/77250)

## FAQ

Quick answers on shopee proxies.

[Something else? Ask us →](mailto:hello@quanticdata.io)

### Do I need to render JavaScript to scrape Shopee?

No. On 28 September 2026 the Shopee Singapore home returned 1,427 words to a plain HTTP client and the same 1,427 words to a headless browser. The render cost 1,170,177 bytes and 55.1 seconds against 670,938 bytes and about four seconds, and the audit found no content that existed only after JavaScript ran.

### Which country should a Shopee proxy exit from?

The country of the domain you are reading. shopee.sg served the full page to Singapore and Malaysia exits, and served a 163,632-byte shell with no title and zero words to three of three Indonesian exits, with status 200 each time. Pin the exit per domain, and treat an empty title as a request to retry, not as a page.

### Why does Shopee return 200 with no content?

Because the shell is the application, not an error page. One plain fetch in four from Singapore, and every fetch from Indonesia, came back as the same 163,632-byte document with no head. A full home is at least 670,686 bytes and carries the title. Check the title and the byte count before parsing; both discriminate perfectly in our nine fetches.

### How much does it cost to monitor Shopee prices through residential proxies?

At $0.80/GB on the residential Basic line, counting a gigabyte as 10^9 bytes, one plain fetch of the 670,938-byte home costs $0.00054, or 1,490 fetches per gigabyte. Product pages are lighter than the home. Rendering the same page costs $0.00094 and returns nothing extra, so a monitoring job should never render on Shopee.

### Does Shopee robots.txt allow scraping?

It allows product, shop, category and plain search pages to an unnamed client and asks for a one-second crawl delay; the file is 1,384 bytes with 18 disallowed paths for the wildcard agent, all of them cart, checkout, account, personalised feeds and prefilled search variants. Googlebot and Bingbot get a 0.1-second delay and 33 disallowed paths. Anything behind a login is governed by the Shopee terms of service, and we do not help automate accounts.

### Is there a Shopee scraper API or collector?

Not in our catalogue. The official route is the Shopee Open Platform at open.shopee.com, a JavaScript application that serves sellers for their own listings. For public listings, the plain-HTTP fetch measured here is the tool: 1,427 words from the home for 670,938 bytes, and the web scraping API pointed at product URLs with engine tls does the rest.

## Skip the browser on Shopee and keep the bytes

One call fetches any Shopee URL twice, plain and rendered, and shows you side by side that the words are the same. Pin the exit to Singapore, read the page over plain HTTP at $0.80/GB. Every account gets $2 of free API usage per month, and failed requests are never billed.

[Start free — $2/month included](https://quanticdata.io/signup/)[Explore Residential Proxies from $0.80/GB](https://quanticdata.io/residential-proxies/)

## Related reading

[Use cases Lazada Proxies: 1,196 Words Without a Browser Lazada Singapore hands a plain HTTP client 1,196 words, a canonical and an h1 in 469,188 bytes. A headless browser gets 1,197 words for 1,841,729 bytes and 48 seconds. A Malaysian exit gets the same Singapore page, because on Lazada the domain picks the market and the exit does not. The setting is plain HTTP on the residential Basic line, and here is the arithmetic. Read →](https://quanticdata.io/blog/lazada-proxies/) [Use cases Rakuten Proxies: 882 Words From Any Country Rakuten Ichiba serves a plain HTTP client 882 words, a canonical and Corporation plus WebSite JSON-LD in 381,287 bytes, and it serves exactly the same 882 words to a US exit. Rendering adds 268 words of rotating modules for 4.2 times the bytes. The catalogue itself has an official API. Here is what to fetch, from where, and what it costs. Read →](https://quanticdata.io/blog/rakuten-proxies/) [Use cases Taobao Proxies: 36 Words at Home, 410 Deeper world.taobao.com hands a plain HTTP client 36 words and a headless browser 56, from Singapore and from the United States alike; a full render downloads 1,032,793 bytes of category menu with no listing and no price. One level down, a /lang/en-us/ page returns 410 words and four prices for 49,272 bytes without JavaScript. The home is not the page. Here is which pages are, and what they cost. Read →](https://quanticdata.io/blog/taobao-proxies/)

## Also on this site

Quantic**Data**

Residential proxies & web data APIs for AI.

#### Proxies

- [Residential Basic](https://quanticdata.io/residential-proxies/#basic)

- [Residential Premium](https://quanticdata.io/residential-proxies/#plans)

- [Cheap Residential](https://quanticdata.io/cheap-residential-proxies/)

- [Mobile Proxies](https://quanticdata.io/mobile-proxies/)

- [Datacenter Proxies](https://quanticdata.io/datacenter-proxies/)

- [ISP Proxies](https://quanticdata.io/isp-proxies/)

- [Rotating Proxies](https://quanticdata.io/rotating-proxies/)

- [Sneaker Proxies](https://quanticdata.io/sneaker-proxies/)

- [SOCKS5 Proxies](https://quanticdata.io/socks5-proxies/)

- [IPv6 Proxies](https://quanticdata.io/ipv6-proxies/)

- [Proxy locations](https://quanticdata.io/proxies/)

#### Data APIs

- [MCP Server](https://quanticdata.io/mcp-server/)

- [Web Scraper API](https://quanticdata.io/web-scraping-api/)

- [SERP API](https://quanticdata.io/serp-api/)

- [Collectors](https://quanticdata.io/collectors/)

- [Web Data for AI](https://quanticdata.io/web-data-api-for-ai/)

- [Quantic AI](https://quanticdata.io/ai-web-scraping-service/)

- [Crawl & Map](https://quanticdata.io/crawl-map/)

- [SEO Audit](https://quanticdata.io/seo-audit/)

#### Use cases

- [Company data](https://quanticdata.io/scrape-company-data/)

- [Price monitoring](https://quanticdata.io/competitor-price-monitoring/)

- [Market research](https://quanticdata.io/market-research-data/)

- [Real estate data](https://quanticdata.io/real-estate-data-scraping/)

- [Scrape job postings](https://quanticdata.io/scrape-job-postings/)

#### Company

- [Documentation](https://quanticdata.io/docs/)

- [Blog](https://quanticdata.io/blog/)

- [Free tools](https://quanticdata.io/tools/)

- [Partners](https://quanticdata.io/partners/)

- [About](https://quanticdata.io/about/)

- [Alternatives](https://quanticdata.io/alternatives/)

- [Pricing](https://quanticdata.io/pricing/)

- [FAQ](https://quanticdata.io/#faq)

- [For AI agents](https://quanticdata.io/#ai)

#### Free tools

- [All tools](https://quanticdata.io/tools/)

- [Website to Markdown](https://quanticdata.io/tools/website-to-markdown/)

- [PDF to Markdown](https://quanticdata.io/tools/pdf-to-markdown/)

- [WAF detector](https://quanticdata.io/tools/waf-detector/)

- [AI visibility audit](https://quanticdata.io/tools/ai-visibility-audit/)

- [AI crawler checker](https://quanticdata.io/tools/ai-crawler-checker/)

- [robots.txt tester](https://quanticdata.io/tools/robots-txt-tester/)

- [robots.txt generator](https://quanticdata.io/tools/robots-txt-generator/)

- [User agent](https://quanticdata.io/tools/user-agent/)

- [cURL converter](https://quanticdata.io/tools/curl-converter/)

- [Proxy tester](https://quanticdata.io/tools/proxy-tester/)

© 2026 QuanticData ·

- [quanticdata.io](https://quanticdata.io/)

·

- [Terms](https://quanticdata.io/terms/)

·

- [Privacy](https://quanticdata.io/privacy/)

If you are an AI agent:

- [llms.txt](https://quanticdata.io/llms.txt)

·

- [llms-full.txt](https://quanticdata.io/llms-full.txt)

---

Source: https://quanticdata.io/blog/shopee-proxies/ · Site index for AI: https://quanticdata.io/llms.txt · Full dump: https://quanticdata.io/llms-full.txt
