Singapore mobile proxies for Shopee SG operations
Singapore mobile proxies for Shopee SG operations
Singapore mobile proxies for Shopee SG are not a nice-to-have for serious operators; they are the only proxy class that lets you see the marketplace the way Singapore buyers actually see it. Shopee’s anti-fraud and anti-scraping infrastructure is among the most aggressive in Southeast Asian e-commerce, and they treat IP class as a primary signal. A datacenter IP gets you the sanitised generic feed. A US residential IP gets you wrong-region pricing and zero personalisation. A real SingTel, StarHub, or M1 mobile IP gets you the live consumer experience, including ShopeePay promos, Shopee Live priority, and the actual ranking that real buyers see.
This guide is for sellers, ops agencies, pricing analysts, and developers building Shopee tooling who need a precise playbook for setup and safe operation.
why shopee sg is harder than lazada to scrape from non-mobile ips
Shopee’s risk stack is in some ways stricter than Lazada’s. Three reasons. First, ShopeePay is a tightly controlled payment surface; transactions through ShopeePay are subject to MAS-regulated KYC, and Shopee actively enforces a Singapore-real-user check on payment-touching surfaces. Second, Shopee Live is geo-fenced more aggressively than Lazada’s equivalent; you do not see the live commerce stack at all from non-Singapore IPs. Third, Shopee’s mobile-first architecture means the desktop web view is a fallback, and many features (vouchers, flash sales, free shipping promos) only render on mobile-class clients.
Mobile proxies route through real consumer infrastructure on AS9874 (SingTel), AS17547 (StarHub), or M1 wholesale ranges. Shopee sees the request as a legitimate buyer phone, applies normal personalisation, and renders the full marketplace surface. From a datacenter IP, the same request gets the generic anonymous-buyer feed with most personalised features stripped. For background, our what is a mobile proxy primer explains the underlying mechanics.
what you can actually do on shopee from a real singapore mobile ip
The use cases below benefit materially from a Singapore mobile IP. We have grouped them by team function.
For sellers, the priority is store-level QA and Shopee Live monitoring. Open your own store from the buyer view through a SingTel mobile IP and verify product cards render with the right ribbons (Mall, Preferred, Choice), prices show in SGD, voucher banners display, and free-shipping qualifiers appear. Shopee Live streaming sessions only initialize for trusted Singapore mobile IPs; from a US datacenter IP, you cannot QA your own live stream’s viewer experience.
For pricing analysts, the priority is competitor SKU monitoring at fixed slots. Run snapshots at 0900, 1300, 1900, and 2300 SGT (the four windows when ShopeePay vouchers reset). The data is comparable across days because the IP class is stable. From a rotating residential pool, you see noise rather than signal.
For agencies running multiple seller accounts, the priority is account isolation. Each Shopee seller centre login should anchor to a unique sticky port. The cross-account linking detection on Shopee is among the most aggressive in the region.
For dev teams building seller automation, the priority is API-equivalent UI scraping. Shopee’s official seller APIs cover a subset of what the seller centre exposes; the rest needs a real mobile session.
carrier choice for shopee sg
Shopee SG buyer demographics break down slightly differently than Lazada’s. The platform skews younger and more prepaid-heavy, especially in voucher-driven categories.
| Carrier | ASN | Shopee SG buyer profile | Best for |
|---|---|---|---|
| SingTel | AS9874 | Broad, mainstream | General competitive monitoring, baseline pricing |
| StarHub | AS17547 | Postpaid, expat skew | Premium category audits, cross-border listings |
| M1 | AS17547 (wholesale) | Younger, prepaid skew | ShopeePay voucher audits, flash-sale eligibility |
For ShopeePay voucher tracking, M1 lines often surface promo SKUs that SingTel-baseline accounts do not see. We discuss carrier-specific signal differences in SingTel vs StarHub vs M1 for proxy work.
setting up the tester
Provision a port from your SMP dashboard with SingTel as the default. Note the gateway, port, username, password. Validate exit:
import requests
PROXY = "http://user:pass@gw.singaporemobileproxy.com:8046"
proxies = {"http": PROXY, "https": PROXY}
def validate():
ip = requests.get("https://api.ipify.org?format=json", proxies=proxies, timeout=10).json()["ip"]
info = requests.get(f"https://ipapi.co/{ip}/json/", proxies=proxies, timeout=10).json()
assert info.get("country") == "SG", f"Wrong country: {info.get('country')}"
return info
print(validate())
Now hit Shopee SG’s mobile search API:
import requests
HEADERS = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X) AppleWebKit/605.1.15",
"Accept": "application/json",
"Accept-Language": "en-SG,en;q=0.9",
"Referer": "https://shopee.sg/",
"x-shopee-language": "en",
}
def search_shopee(keyword, page=0):
url = "https://shopee.sg/api/v4/search/search_items"
params = {
"by": "relevancy",
"keyword": keyword,
"limit": 50,
"newest": page * 50,
"order": "desc",
"page_type": "search",
"scenario": "PAGE_GLOBAL_SEARCH",
"version": 2,
}
r = requests.get(url, params=params, headers=HEADERS, proxies=proxies, timeout=15)
return r.json()
data = search_shopee("airpods", page=0)
items = data.get("items", [])
for it in items[:5]:
bi = it.get("item_basic", {})
print(bi.get("name"), bi.get("price") / 100000, bi.get("shop_location"))
Note that Shopee’s price is in micro-units; divide by 100000 for SGD. Compare the items returned through the mobile proxy against the same query from your laptop. The mobile proxy returns the personalised mobile feed; your laptop returns the generic web feed.
multi-account safety on shopee
Shopee’s account-linking detection is the most aggressive among major SEA marketplaces. They look at IP, device fingerprint, payment binding, browsing pattern, and behaviour timing, and they cross-flag linked accounts for voucher abuse, flash-sale gaming, and fake-review networks. When one account in a cluster trips a threshold, the whole cluster gets locked.
Safe pattern: one IP, one device, one account. For multi-store operations, provision a dedicated sticky port per account; never share. Use distinct user-agent strings, distinct viewport sizes, distinct timezone offsets per session. Antidetect browsers handle the device-fingerprint side; mobile proxies solve the IP side.
Rotate IPs only on logout. Mid-session rotation triggers Shopee’s session integrity check.
def rotate_port(port_id, api_key):
r = requests.post(
f"https://singaporemobileproxy.com/api/v1/proxy/{port_id}/rotate",
headers={"X-API-Key": api_key},
timeout=15,
)
return r.json()
Wait 30 seconds after rotation. Shopee’s session-IP cache propagation is slower than Lazada’s.
comparison: shopee operational tasks by proxy type
Here is what each proxy class delivers for typical Shopee SG operations.
| Task | Datacenter | Residential (US) | SG mobile |
|---|---|---|---|
| Buyer-side competitor pricing | Generic web feed | Wrong region | Real personalised |
| Seller centre QA | Often blocked | Often blocked | Works |
| ShopeePay voucher audit | Not visible | Wrong region | Real eligibility |
| Shopee Live viewer QA | Stream blocked | Stream blocked | Works |
| Flash sale ranking audit | Generic ranking | Wrong region | Real ranking |
| Multi-store account ops | Detected fast | Detected | Realistic isolation |
| Sponsored ads audit | Misleading | Misleading | Real positions |
The pattern is consistent: anything personalised, payment-touching, or live-commerce needs a mobile IP.
a real example: tracking flash sale inventory
Shopee flash sales are one of the highest-leverage data sources for competitive analysis. They run on a fixed schedule (1100, 1500, 1900, 2200 SGT), and the SKU mix shifts in the final 5 minutes before each window opens. To track this accurately, you need a stable Singapore mobile IP polling the flash sale endpoint at 30-second intervals.
import requests
import time
import json
from datetime import datetime
def flash_sale_snapshot():
url = "https://shopee.sg/api/v4/flash_sale/get_all_sessions"
HEADERS = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_5 like Mac OS X)",
"Accept-Language": "en-SG,en;q=0.9",
}
r = requests.get(url, headers=HEADERS, proxies=proxies, timeout=15)
return r.json()
def monitor_flash_sale(duration_min=10, interval_s=30):
end = time.time() + duration_min * 60
snapshots = []
while time.time() < end:
snap = flash_sale_snapshot()
snapshots.append({"t": datetime.utcnow().isoformat(), "data": snap})
time.sleep(interval_s)
return snapshots
snaps = monitor_flash_sale(duration_min=15, interval_s=30)
print(f"Collected {len(snaps)} snapshots")
Run this in the 15 minutes leading up to a flash sale window. From a SingTel mobile IP, you see the real SKU rotation. From a US datacenter IP, you see a stale or generic version.
handling rate limits and shopee’s anti-bot
Shopee SG enforces a per-IP rate limit on search and category endpoints. Soft limit is around 60 requests per minute; hard limit at 200 per minute triggers a CAPTCHA or 30-minute IP block. From a mobile proxy, the limits are more forgiving because the IP class is trusted, but do not push them.
Pattern: 1-2 second jitter between requests, batch in groups of 30, sleep 5 seconds between batches. This sustains for hours.
If you hit a CAPTCHA, stop the worker, rotate the IP, wait 60 seconds, resume. Do not try to solve CAPTCHAs programmatically; the fingerprint cost outweighs the time saved. For sustained scraping operations, our web scraping case studies walks through the patterns we have seen work.
legal and PDPA considerations
Shopee SG product listings, prices, and ratings are public commercial data and not personal data under the PDPA. Buyer reviews with named reviewers are personal data and require PDPA-grade controls. Seller information for sole proprietors can also trigger PDPA when the seller’s name is the same as their listed business name.
Shopee’s terms of service prohibit automated access. Most QA, store management, and moderate competitive monitoring activities sit in a grey zone. Aggressive scraping of authenticated surfaces is off-limits. Talk to a lawyer for novel use cases.
frequently asked questions
Will Shopee ban my account for using a Singapore mobile proxy?
Not for the proxy itself. Real SIM mobile IPs look identical to real buyer phones. Bans come from behaviour: too-fast rotation, identical device fingerprints across linked accounts, voucher stacking patterns. Behave like a real buyer and the proxy is invisible.
How many Shopee accounts can I run from one mobile IP?
One. Shopee’s account-linking detection is the most aggressive in the region, and shared IPs are the strongest cross-account signal.
Do I need different SIMs for different categories?
Not for the same buyer profile. If you are testing across demographic segments (young prepaid M1 buyer vs older postpaid SingTel buyer), then yes. Otherwise SingTel is sufficient.
Can I monitor Shopee Live streams from a mobile proxy?
Yes, this is one of the use cases mobile proxies enable that nothing else can. Shopee Live geo-fences strictly to Singapore mobile IPs.
What is the safest rotation cadence?
Once per logout for seller-account work. Once per hour for read-only monitoring. Never mid-session.
start your shopee tester today
Spin up a Singapore mobile proxy with a 2-hour free trial, no credit card. Run the validate() check, then point your Shopee monitoring at the proxy. Compare the search response from a real SingTel IP versus your laptop. The diff is the data your competitive monitoring should be capturing. For ongoing operations, our pricing page covers dedicated multi-account ports.