Using Singapore mobile proxies with n8n in 2026
Using Singapore mobile proxies with n8n in 2026
At some point in almost every serious n8n deployment, a workflow that ran fine for weeks starts returning 403s, CAPTCHAs, or suspiciously empty responses. The workflow itself is fine. The logic is fine. The problem is the IP. Datacenter IPs, even clean ones, carry a fingerprint that anti-bot systems recognize within a handful of requests, and once you hit that wall in an automated workflow you cannot manually solve your way out of it the way a human browsing can. Tuning retry logic or adding longer delays will not fix this. The fix is to look like a real phone on a real carrier network. That is what Singapore mobile proxies do, and this post covers how to wire them into n8n in a way that actually holds up.
why n8n hits walls without residential mobile IPs
n8n’s HTTP Request node is the workhorse of most scraping and data-collection workflows. It sends clean, well-formed HTTP requests, which is exactly the kind of traffic that Cloudflare, Akamai, and platform-native bot detection systems have spent years profiling. A request from a datacenter IP block, even with a realistic user-agent and headers, will score high on threat intelligence feeds because the IP’s ASN is a known hosting provider. Platforms like Shopee, Lazada, LinkedIn, and most SG government portals cross-reference ASNs on every request. Your workflow does not get a warning. It just gets silently rate-limited or served a honeypot page.
The problem compounds in n8n specifically because the tool makes it easy to run high-frequency loops. A Schedule Trigger firing every five minutes, pulling data from a product listing or a SERP, will exhaust most datacenter IP pools faster than you expect. And even if you rotate through a pool of datacenter IPs, you are rotating through IPs that all resolve to the same ASN, which means the platform treats them as a coordinated bot cluster and blocks the entire range. Residential proxies help, but residential pools built on browser extensions or desktop app injection skew heavily toward US and EU traffic, which stands out immediately when you are hitting SG-specific platforms that expect local mobile traffic patterns.
VPNs are worse than datacenter proxies for automation. They give you one exit IP per server, no rotation capability at the HTTP request level, and they interrupt the entire machine’s connectivity when you switch endpoints. Wiring a VPN into an n8n workflow is possible in theory and painful in practice. The operational cost is high and the detection resistance is low. Real SG carrier IPs on SingTel, StarHub, M1, or Vivifi infrastructure look like what they are: a phone browsing a website. That is a fundamentally different signal than anything a VPN or datacenter can produce.
setting up SMP credentials in n8n
Singapore Mobile Proxy provides HTTP and SOCKS5 endpoints. For n8n’s HTTP Request node, HTTP proxy is the simpler path since it requires no additional node configuration. Your credentials arrive in the standard format:
ip:port:username:password
For example: proxy.example.host:8080:smp_user_abc123:secretpass99
To use this in an HTTP Request node, open the node settings, scroll to the Proxy section, and enable it. Fill in the fields as follows:
- Proxy Host: the IP or hostname from your SMP dashboard
- Proxy Port: the port number (typically in the 8080 range for HTTP)
- Proxy Authentication: enabled
- Username: your SMP username
- Password: your SMP password
- Protocol: HTTP (or SOCKS5 if you are using a SOCKS5 endpoint)
n8n stores these values in its credential store if you create a “Custom” credential type, but for proxy settings specifically the HTTP Request node handles them inline. For multi-workflow setups, the most reliable approach is to store the four values as n8n environment variables in your .env file or via the environment variable UI, then reference them with {{ $env.PROXY_HOST }} expressions inside the node. That way you can rotate credentials or switch endpoints without touching individual nodes.
If you are running n8n self-hosted via Docker, make sure the container has outbound access to the proxy’s IP and port. The proxy connection can time out silently and n8n will fall back to a direct request, which defeats the purpose. Add a simple test workflow with a single HTTP Request node pointing at an IP-echo service through the proxy before you wire it into production flows. Confirm the returned IP is a SG carrier IP, not your server’s IP.
For SOCKS5 endpoints, the setup is the same but you will need to select SOCKS5 from the Protocol dropdown. SOCKS5 is worth using when you need to proxy non-HTTP traffic or when you want finer control over the connection. If you are unsure which to use, the HTTP vs SOCKS5 mobile proxies comparison covers the tradeoffs in detail.
rotating IPs per request or per session
Proxy rotation in SMP works at the endpoint level. You get a rotating endpoint where each new TCP connection gets a fresh IP from the carrier pool, and you get sticky session endpoints where the same IP is held for a configurable window (typically 10 to 30 minutes depending on your plan). Choosing between them is a workflow design decision, not a proxy configuration question.
Use rotating endpoints when: - each request in your workflow is independent (price checks, SERP lookups, public profile fetches) - you do not need to maintain cookies or session state across requests - you want maximum IP diversity to avoid per-IP rate limits
Use sticky sessions when: - you need to log in and then make subsequent authenticated requests under the same session - the platform ties a user session to an IP and will log you out or CAPTCHA you if the IP changes mid-session - you are simulating a single user browsing across multiple pages of the same site
In n8n, the simplest way to implement per-request rotation is to make sure you are not reusing TCP connections across loop iterations. n8n’s HTTP Request node opens a new connection for each execution, so if you are on a rotating endpoint, you will get a new IP per node execution automatically. Nothing special required.
For sticky sessions inside a workflow that has multiple HTTP Request nodes in sequence (login, fetch data, logout), point all nodes at the same sticky session endpoint and make sure the session window is longer than your workflow’s expected runtime. Here is a pattern using n8n’s Code node to build the proxy config dynamically if you need to switch between rotating and sticky based on a workflow input:
// Code node: build proxy config based on session_mode input
const mode = $input.first().json.session_mode; // "rotate" or "sticky"
const proxyHost = mode === "sticky"
? $env.PROXY_HOST_STICKY
: $env.PROXY_HOST_ROTATE;
return [{
json: {
proxyHost,
proxyPort: $env.PROXY_PORT,
proxyUser: $env.PROXY_USER,
proxyPass: $env.PROXY_PASS,
}
}];
Then in downstream HTTP Request nodes, reference {{ $json.proxyHost }} in the Proxy Host field. This makes the workflow self-documenting about which mode it expects, and you can override it at runtime from a webhook trigger without touching the workflow nodes.
For a conceptual overview of how mobile proxy infrastructure works before you commit to a session strategy, the what is a mobile proxy overview is worth reading.
three real workflows where this combo wins
shopee and lazada price monitoring
Price monitoring on SEA e-commerce platforms is one of the most common n8n automation use cases, and one of the first to break on datacenter IPs. Shopee in particular aggressively fingerprints requests at the TLS level and serves empty JSON or redirect loops to IP ranges it does not recognize as consumer traffic. A workflow that polls a product page or a search results page every few minutes will get blocked within hours on a clean datacenter IP. The same workflow behind a real SG carrier IP on SingTel or StarHub looks indistinguishable from a Singaporean consumer browsing the app on their phone. The IP’s ASN maps to a mobile carrier, the geolocation matches the platform’s expected market, and the request volume per IP stays within what a normal user might generate. The workflow runs uninterrupted.
LinkedIn profile and company data enrichment
B2B enrichment workflows in n8n often involve fetching public LinkedIn data to supplement a CRM or lead database. LinkedIn is extremely aggressive about blocking non-residential IPs and applies per-IP rate limits that kick in after a very small number of requests. More importantly, LinkedIn’s detection correlates IP reputation with account age and behavior patterns. Using a mobile carrier IP does not give you unlimited access, but it substantially raises the request ceiling before rate limiting kicks in, and it eliminates the immediate hard blocks that datacenter IPs trigger. Mobile proxies for SEO research covers a related pattern for SERP data that applies equally well here.
SingPass and SGFinDex adjacent testing
QA and integration testing workflows for applications that touch SG government services or financial aggregation APIs require IP addresses that resolve to Singapore. These services often validate the client IP against a known SG residential or mobile range as a basic fraud control. A developer or QA team running n8n on a cloud server in a US or EU data center will get rejected at the IP level before any application logic runs. Routing test requests through an SMP endpoint gives the workflow a genuine SG carrier IP, which means the test environment accurately reflects what a real Singapore user’s request would look like. This is not about bypassing security controls. It is about making your test traffic resemble the production traffic the service was designed to handle.
common pitfalls
-
user-agent mismatch: sending requests through a mobile carrier IP with a desktop browser user-agent or a generic Python requests string is a red flag. platforms cross-correlate IP type with expected user-agent. use a realistic mobile browser user-agent string that matches what a device on that carrier would actually send.
-
session cookies tied to the original IP: if you authenticate with one IP and then the proxy rotates for subsequent requests, the platform may invalidate your session. always use sticky session endpoints for any workflow that involves authentication and session cookies.
-
not checking the actual exit IP: n8n’s HTTP Request node will silently fall through to a direct connection if the proxy is unreachable or misconfigured. add a canary step at the start of your workflow that fetches your IP from a neutral endpoint and asserts it is a SG IP. if it is not, fail the workflow early rather than run authenticated requests from your server’s real IP.
-
ignoring response codes: a 200 response does not mean you got real data. platforms often serve a 200 with a CAPTCHA page or a rate-limit HTML page when they detect bot traffic. parse the response body, not just the status code, especially for workflows where downstream nodes depend on structured data.
-
over-rotating on authenticated workflows: rotating IPs aggressively on a workflow that is logged into a platform account will get the account flagged or suspended faster than a high request rate will. match your rotation strategy to your session requirements.
-
not accounting for proxy latency: mobile proxy round-trip times are higher than datacenter IPs. if your workflow has hardcoded short timeouts (under 10 seconds), you will see intermittent failures that look like proxy errors but are actually timeout mismatches. bump your HTTP Request node timeouts to 30 seconds or more.
when Singapore IPs specifically matter
The SEA market is not homogeneous. A residential IP from a US pool or even a generic “Asia” pool will not satisfy a platform that geo-fences by country or by carrier. Grab’s driver and rider APIs, Singtel’s self-service portals, MAS-regulated fintech services, and most local SG e-commerce integrations validate client IP against SG-specific ranges. An IP that resolves to Indonesia or Malaysia will fail the same geo-check that a datacenter IP fails, just for a different reason. The specificity of a SingTel, StarHub, M1, or Vivifi IP is the point. It is not just “residential.” It is the right country, the right carrier type, and the right ASN.
This also matters for accuracy in data collection workflows. If you are monitoring pricing, ad copy, or search rankings for a SG audience, you need to see what a SG mobile user sees. CDNs and ad networks serve different content based on IP geolocation, and sometimes based on carrier. A datacenter IP in Singapore (which some proxy providers sell as “SG proxies”) will still get different content than a mobile carrier IP because the CDN’s logic distinguishes between business and consumer traffic. If you want your n8n workflow to collect data that reflects the actual user experience of your target audience, the carrier IP is not a nice-to-have. It is the requirement.
getting started
If you are ready to add SMP to an existing n8n workflow, the Singapore Mobile Proxy plans page has current pricing and endpoint details. Start with a rotating HTTP endpoint for stateless workflows and test with a sticky session endpoint for anything that involves login flows. The credential format is straightforward to drop into n8n’s proxy fields, and once you have confirmed the exit IP is correct with a canary step, the rest of your workflow configuration does not need to change. For teams running self-hosted n8n at scale, storing credentials as environment variables and referencing them via expressions keeps credential management centralized and makes endpoint rotation a one-line config change rather than a workflow edit.