n8n Proxies

Proxies for n8n

n8n workflows go out from one IP by default, which is fine until you are enriching leads, checking prices or scraping at volume and start getting rate limited. Point the HTTP Request node at your Proxy Rotator gateway and every call can leave from a different residential, datacenter, mobile or IPv6 address.

Per-node or global   Cloud & self-hosted   New IP per request

100M+IP Pool
Per requestAutomatic rotation
195+Countries
No codeOne field in the node
Works in any HTTP Request node Automatic IP rotation City & country targeting User:pass or IP whitelist auth Real human support
Why Proxy Rotator

Built for workflows that make a lot of requests

One gateway, standard protocols, nothing to install into n8n.

A new IP per request

Point a node at the rotating endpoint and the gateway hands out a different IP on every connection, so a loop over a thousand items does not hammer a target from one address.

One field, no custom code

n8n's HTTP Request node has a built-in Proxy option. Paste one URL into it and that node is proxied. No Code node, no community package, no workflow redesign.

All four IP types, one plan

Residential, datacenter, mobile and IPv6 from a single account. Use datacenter for a tolerant API and residential for a site that blocks bots, in the same workflow.

Sticky for multi-step flows

Some flows log in, then act. A sticky port holds one IP across those steps so the session is not invalidated between nodes.

City & country targeting

Collect localised pricing or search results by pinning the gateway to a country, and to a city on residential, so the data matches the market you meant.

Good fit for AI workflows

Agent nodes that browse and gather sources hit the same rate limits as any scraper. See proxies for AI agents for how to structure that.

Choose your approach

Two places to set a proxy in n8n

Per node, or globally for the whole instance. They can coexist, and one wins.

 Per-node Proxy optionGlobal environment variables
Where you set itHTTP Request node, under OptionsThe instance's environment
ScopeThat one nodeEvery node that makes HTTP calls
Works on n8n CloudYesNo, you cannot set env vars there
Works self-hostedYesYes
Mix proxied and direct callsYes, node by nodeOnly via a NO_PROXY list
PrecedenceWins. Overrides the global settingApplies where no node option is set
Best forMost workflows, and anything on CloudSelf-hosted instances that should always proxy

n8n's own documentation states the node option takes precedence over the global variables.

Setup

Add Proxy Rotator to an HTTP Request node

The quickest route, and the only one that works on n8n Cloud.

Copy your gateway details

Open Proxy Gateways in your Proxy Rotator dashboard. Copy the host, the port for the proxy type and location you want, and your username and password. Use a rotating port for collection work and a sticky port for anything that logs in.

Open the node's Options

In your workflow, open the HTTP Request node, scroll to Options and click Add option. Choose Proxy from the list.

Paste the proxy URL

The field takes a single proxy URL with credentials embedded. That is the whole configuration.

n8n HTTP Request node - Proxy option
http://USER:PASS@gateway.proxyrotator.com:8080
If your password has symbols in it, percent-encode them before pasting. An @ or a : in the password will otherwise be read as part of the host, and the request will fail with a confusing connection error. Alternatively, whitelist your n8n server's public IP in your dashboard and drop the credentials from the URL entirely.

Test the node

Point the node at an IP echo endpoint and execute it. It should return an address that is not your server's. Execute it twice against a rotating port and you should see two different IPs, which confirms rotation is live.

n8n - HTTP Request node
GET
https://api.ipify.org
http://USER:PASS@gateway.proxyrotator.com:8080

A test node that returns the exit IP the workflow is using.

Rotating or sticky for a workflow?

It depends on whether the workflow has a session. Most n8n work is stateless: fetch a page, enrich a record, check a price. For those, use a rotating port so every request in the loop leaves from a different IP and no single address carries the whole run.

Some workflows are stateful. If a flow signs in with one node and then acts with the next, a rotating IP between those two steps looks like the session moved country mid-request, and most services will end it. Point those workflows at a sticky port so the address holds across the steps.

You can do both in one workflow, because the proxy is set per node. Give the login node a sticky port and the bulk-collection node a rotating one.

Pair rotation with the node's Batching option

The HTTP Request node has a Batching option that limits how many items go out per batch and adds an interval between them. Combined with rotation it is the difference between a workflow that finishes and one that gets blocked: rotation spreads requests across addresses, batching spreads them across time. A target seeing a thousand requests from a thousand IPs over ten minutes behaves very differently from one seeing them from one IP in ten seconds.

Also worth setting on any proxied node: raise Timeout, since a proxied request has an extra hop and residential routes are slower than your datacenter's direct connection. The default can be tight enough to cause spurious failures.

Troubleshooting

Proxy not working in n8n?

The failures we see most, and what actually fixes them.

SymptomLikely causeFix
Global proxy seems ignoredA lowercase http_proxy is overriding your uppercase oneCheck for both spellings and remove the stray one
Env vars do nothing on n8n CloudExpected. You cannot set env vars on CloudUse the node's Proxy option instead
One node ignores the global proxyWorking as designed. The node option takes precedenceClear the node's Proxy option, or set it correctly
Connection error with a valid proxyUnencoded @ or : in the passwordPercent-encode it, or switch to IP-whitelist auth
Auth rejected from a cloud hostIP-whitelist auth, and the server's egress IP is not listedWhitelist the real egress IP, or use user:pass
Webhooks or internal calls breakInternal traffic is being sent through the proxyAdd those hostnames to NO_PROXY
Intermittent timeoutsDefault timeout too tight for a proxied routeRaise Timeout in the node's Options
Session drops between nodesRotating port, so each node got a different IPUse a sticky port for the stateful part of the flow

Before debugging the workflow, confirm the credentials from the machine n8n runs on. This should print an IP that is not the server's.

cURL verify
curl -x http://USER:PASS@gateway.proxyrotator.com:8080 https://api.ipify.org
FAQ

Proxy Rotator with n8n FAQ

How do I use a proxy in n8n?
Open the HTTP Request node, go to Options, click Add option and choose Proxy. Paste a single proxy URL such as http://USER:PASS@gateway.proxyrotator.com:8080. That node then routes through the proxy. On a self-hosted instance you can instead set HTTP_PROXY and HTTPS_PROXY to proxy every node at once.
Can I use a proxy on n8n Cloud?
Yes, through the HTTP Request node's Proxy option, which works on Cloud and self-hosted alike. What you cannot do on Cloud is set environment variables, so the global HTTP_PROXY approach is self-hosted only. For most workflows the node option is the better choice anyway, since it lets you proxy some calls and not others.
Which takes precedence, the node option or HTTP_PROXY?
The node option. n8n's documentation states that the Proxy option on the HTTP Request node takes precedence over the global HTTP_PROXY, HTTPS_PROXY and ALL_PROXY variables. So a node with its own proxy set ignores the instance-wide setting.
My HTTP_PROXY setting is being ignored. Why?
Most often because a lowercase http_proxy also exists in the environment. n8n reads these through the proxy-from-env package, where lowercase takes priority over uppercase, so the lowercase value silently wins. Check for both spellings. The other common cause is a node with its own Proxy option set, which overrides the global one.
What is NO_PROXY for?
It is a comma-separated list of hostnames and URLs that should bypass the proxy. Put localhost, your own n8n domain and any internal services on it. Without it, webhook callbacks and internal API calls get routed out through the proxy and back, which is slow and often simply fails.
Should I use rotating or sticky proxies with n8n?
Rotating for stateless work such as enrichment, price checks and collection, so each request in a loop leaves from a different IP. Sticky for stateful flows that sign in and then act, since a changing IP between those nodes usually ends the session. Because the proxy is set per node, you can use both in one workflow.
Which proxy type is best for n8n workflows?
Match it to the target. Datacenter is fastest and fine for tolerant APIs. Residential is what you need for sites that block bots or serve localised content. Mobile suits the strictest targets, and IPv6 suits high-volume, low-sensitivity calls. All four are in one plan from $24.95/mo.
Do I need a community node or custom code to proxy n8n?
No. Proxy support is built into the core HTTP Request node, so it is one field in the Options panel with no package to install and no Code node required. Any node built on the HTTP Request node inherits the same behaviour.
How do I avoid putting proxy credentials in environment variables?
Use IP-whitelist authentication. Add your n8n server's public egress IP to the whitelist in your dashboard, then use a credential-free proxy URL like http://gateway.proxyrotator.com:8080. The gateway authorises the IP, so there is no password sitting in your environment or container config.
Why do my proxied nodes time out?
A proxied request has an extra hop, and residential routes are slower than a direct datacenter connection, so a default timeout that was comfortable can become tight. Raise Timeout in the node's Options, and consider the Batching option to spread requests over time rather than firing them all at once.
Can I use this for AI agent workflows in n8n?
Yes, and it is worth doing. Agent nodes that browse and gather sources hit the same rate limits as any scraper, and many sites now block obvious agent traffic. Route those calls through the gateway and read proxies for AI agents for how to structure sticky-within-task and rotating-across-agents behaviour.

Give every n8n workflow a fresh IP

Residential, datacenter, mobile and IPv6 proxies on one gateway, set with a single field in the HTTP Request node. From $24.95/mo.

Copied!