How to use a proxy in n8n
In the HTTP Request node, click Add Option → Proxy and enter http://GATEWAY_IP:PORT. That routes only that node. To route every node, set HTTPS_PROXY and HTTP_PROXY on a self-hosted n8n. On n8n Cloud the outgoing IPs change, so use dedicated proxies with username and password.
n8n is a workflow automation tool: you chain nodes that call APIs, read sheets, run code and, more and more, feed AI agents with data from the web. When a workflow fetches pages from sites that rate-limit by IP, or checks prices across hundreds of product URLs, the requests need to come from somewhere other than your one server IP. That’s where a proxy goes.
The setup question people ask most is “where do I even put the proxy?”, and the honest answer depends on where n8n runs. Self-hosted n8n gives you two places: a per-node option and environment variables. n8n Cloud gives you only the node option, and its servers send traffic from IPs that change and that other n8n Cloud customers share. That rules out proxies that authorize by IP.
This guide covers both setups, how the HTTP Request node’s batching really controls concurrency, what the environment variables do to your other nodes (including AI model calls), and the n8n error messages you’ll see when the proxy is wrong.
Which Storm plan fits
On self-hosted n8n with a fixed server IP, a rotating plan fits most scraping workflows: authorize the server once and every HTTP Request node gets a fresh IP per request, at a flat price per thread. Use residential ports when the target blocks datacenter IPs. On n8n Cloud, rotating and residential won’t work because they authorize by IP; choose dedicated proxies (5 for $10/mo), which take a username and password in the proxy URL.
Rotating proxies (from $14/mo): 700,000+ IPs behind fixed gateway IP:PORTs. New IP on every request, or every 3 or 15 minutes. USA, EU, USA+EU or Worldwide. Unlimited bandwidth on every plan.
Get 40 threads for $39/mo See all rotating proxies plansBefore you start
- Log in to the member area and copy your gateway
IP:PORTs. They never change; the rotation happens on our side. - Add the public IP of the computer or server that will run your tool under Authorized IPs, click Save, and allow up to 15 minutes before testing. Rotating and residential proxies use IP authentication, so there is no username or password.
- Dedicated proxies work with either IP authentication or a username and password. Use user:pass if your IP changes or the tool runs on several machines.
- Count your threads: the tool’s total open connections must stay within your plan (for example 40 threads on the 40-thread plan).
Set up a proxy in n8n, step by step
- Find the IP your n8n server sends from
On the machine or container host that runs n8n, open
https://api.ipify.org(or runcurl https://api.ipify.org). That public IP is what the gateway will see. Running n8n in Docker on a VPS? It’s the VPS IP. - Authorize it in the member area
Add the IP under Authorized IPs, click Save and allow up to 15 minutes. If n8n runs at home on a changing IP, authorize a free dynamic DNS hostname instead. On n8n Cloud skip this step and use a dedicated proxy with username and password.
- Open the HTTP Request node’s options
In the node, scroll to Options, click Add Option and choose Proxy. n8n’s placeholder shows the format: a full URL like
http://myproxy:3128. - Enter the gateway as a full http:// URL
Type
http://GATEWAY_IP:PORT. Thehttp://prefix matters: in current n8n versions a value that doesn’t start withhttp://orhttps://is ignored and the node falls back to the environment settings, so a bareIP:PORTsilently goes out without the proxy. Keephttp://for https sites too. - Add Batching and a Timeout
Add the Batching option and set Items per Batch and Batch Interval (ms) so the number of requests in flight stays within your threads (see the batching section). Add Timeout in milliseconds, and turn on Retry On Fail in the node’s Settings tab.
- Run it against an IP check
Point a copy of the node at
https://api.ipify.org?format=jsonand execute it. A pool IP in the output means the proxy works. Execute it three times on the Main gateway and you should see three different IPs.
Copy-paste n8n config
Replace GATEWAY_IP:PORT with a gateway from your member area. The environment examples apply to self-hosted n8n only.
# Rotating or residential gateway (server IP authorized):
http://GATEWAY_IP:PORT
# Dedicated proxy with username and password (also works on n8n Cloud):
http://USERNAME:PASSWORD@PROXY_IP:PORT
# Encode special characters in the password: @ -> %40, : -> %3A, / -> %2Fdocker run -it --rm --name n8n -p 5678:5678 \
-e HTTP_PROXY=http://GATEWAY_IP:PORT \
-e HTTPS_PROXY=http://GATEWAY_IP:PORT \
-e NO_PROXY=localhost,127.0.0.1,postgres,api.openai.com,api.anthropic.com,.googleapis.com \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8nservices:
n8n:
image: docker.n8n.io/n8nio/n8n
ports:
- "5678:5678"
environment:
- HTTPS_PROXY=http://GATEWAY_IP:PORT
- HTTP_PROXY=http://GATEWAY_IP:PORT
- NO_PROXY=localhost,127.0.0.1,postgres,redis,api.openai.com
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:Batching
Items per Batch: 10
Batch Interval (ms): 1000
Timeout: 30000
Settings tab → Retry On Fail: on, Max Tries: 3, Wait Between Tries: 2000
# 10 new requests per second. If each takes ~3 s, about 30 are in flight:
# inside 40 threads with room for retries.n8n Cloud vs self-hosted: what works with which proxy
Rotating and residential gateways accept connections only from authorized IPs. n8n’s own docs say n8n Cloud can’t guarantee static source IPs and publish a list of addresses and ranges that Cloud traffic may come from. Two problems follow. The list can change, so a workflow that works today can start failing. And it’s one list for all of n8n Cloud, so authorizing those IPs would let other people’s workflows use your threads. Residential packages also allow only one authorized IP.
- n8n Cloud: use private dedicated proxies with
http://USERNAME:PASSWORD@PROXY_IP:PORTin the node’s Proxy option. They’re static USA IPs, used only by you, up to 100 concurrent threads. - Self-hosted on a VPS: any Storm product works. Authorize the VPS IP and use rotating or residential gateways without credentials.
- Self-hosted at home: works with IP authorization if you authorize a dynamic DNS hostname, or use dedicated proxies with user:pass.
If your scraping workflows must stay on n8n Cloud but you want rotating IPs, a small fixed-IP VPS running self-hosted n8n just for those workflows is the cleanest route. More background in the IP authentication guide.
Node option or environment variables?
n8n reads HTTP_PROXY, HTTPS_PROXY, ALL_PROXY and NO_PROXY on self-hosted instances and applies them to HTTP traffic from all nodes. Lowercase versions win if both cases are set. The Proxy option on an HTTP Request node overrides the variables for that node.
That “all nodes” part is the catch. With the variables set, your Slack, Google Sheets, OpenAI and webhook-calling nodes also go through the gateway. They use threads from your plan, an API may flag sign-ins from changing IPs, and an AI agent that makes several model calls per step can quietly eat a third of a small plan.
- Prefer the node option when only a few HTTP Request nodes scrape. Everything else keeps your server’s own IP.
- Use the variables when most of the instance’s traffic should be proxied, and list everything else in
NO_PROXY:localhost, your database and Redis hostnames, and the AI and SaaS APIs you call.
After changing variables, restart the container; running processes don’t pick them up.
How Batching controls concurrency in the HTTP Request node
When an HTTP Request node gets many items, it builds one request per item. Without batching, n8n starts them all without waiting for answers. 500 rows from a Google Sheet means up to 500 requests at the same moment. On a 40-thread plan most of them queue, time out or get reset.
The Batching option changes the start rate, not a hard cap. Items per Batch requests start, n8n waits Batch Interval (ms), then starts the next batch, whether or not the earlier ones have answered. So the number in flight is roughly items per batch × seconds per response ÷ interval in seconds.
- Fast pages (~1 s): 30 per batch, 1,000 ms interval ≈ 30 in flight on a 40-thread plan.
- Slow pages (~4 s): 10 per batch, 1,000 ms ≈ 40 in flight, which is the whole plan. Drop to 8.
- Google results: a quarter of your threads at most. On 40 threads, 3 per batch with a 1,000 ms interval keeps you near 10 if responses take about 3 seconds.
Several workflows running at once share the same plan, so add them up. The threads guide explains how connections are counted.
Which gateway and plan for n8n workflows
- Price checks, listings, public pages: rotating, Main gateway: a new IP per request. 40 threads ($39/mo) suits most n8n instances; 80 threads ($59) if several scraping workflows overlap. See rotating proxy plans.
- Multi-step flows (log in with one request, fetch with the next): the 3-minute (USA) or 15-minute gateway so both requests leave from the same IP.
- Sites that block datacenter IPs: residential ports. Each port is one IP that changes every 5 minutes at fixed times; give each scraping workflow its own port.
- n8n Cloud or anything that must log in to the same account every day: dedicated proxies.
Bandwidth is unlimited on every plan, so pulling full HTML into an AI node for summarizing doesn’t cost extra. For heavier AI crawling with a headless browser, see the AI browser agent guide and the LLM scraping guide.
Common errors and fixes
ECONNRESET)The gateway accepted the connection and reset it: the n8n server’s IP isn’t authorized, it was saved under 15 minutes ago, or you’re on n8n Cloud. Storm rotating and residential gateways reset unauthorized connections; they don’t answer with a 407.ECONNREFUSED)Wrong gateway IP or port, or the server’s firewall blocks outbound traffic on that port. Copy the gateway again from the member area.http:// prefix, so n8n ignored it, or the option was added to a different node. Use the full URL http://GATEWAY_IP:PORT.407 Proxy Authentication RequiredOn a dedicated proxy the username or password is wrong or has unencoded special characters. On rotating or residential gateways a 407 comes from another proxy, often an HTTPS_PROXY variable set on the host.NO_PROXY and restart, or remove the variables and use the node option only.https://. Use http://GATEWAY_IP:PORT; the target site still uses HTTPS inside the tunnel.FAQ
Can I use Storm rotating proxies on n8n Cloud?
Not reliably. Rotating and residential gateways authorize by IP, and n8n Cloud sends traffic from changing, shared IPs. Use private dedicated proxies with http://USERNAME:PASSWORD@PROXY_IP:PORT, or run self-hosted n8n on a fixed-IP server for the scraping workflows.
Where is the proxy setting in the n8n HTTP Request node?
Under Options at the bottom of the node: Add Option → Proxy. It accepts a full URL such as http://GATEWAY_IP:PORT and overrides any proxy environment variables for that node.
Do HTTP_PROXY and HTTPS_PROXY affect AI Agent and OpenAI nodes?
Yes. n8n applies them to HTTP traffic from all nodes. Add the AI provider’s hostname (for example api.openai.com) to NO_PROXY if you only want scraping traffic proxied.
Does the n8n HTTP Request node support SOCKS5?
You don’t need it with Storm: our gateways are HTTP(S) proxies, not SOCKS. Enter an http:// URL, which carries both http and https sites.
How do I get a new IP on every request in n8n?
Use the Main rotating gateway in the Proxy option. Each request from the node opens a new connection, which gets a new IP. For the same IP across a few steps, use the 3-minute or 15-minute gateway instead.
Can I start small and upgrade later?
Yes. Start with 40 rotating threads or 5 dedicated proxies; in the member area you can move to a bigger or smaller plan in one click, and the unused part of the current plan is credited. The smallest package of each type has a 24-hour money-back guarantee on your first order.
Still have questions? Contact us here. A real person answers.
Related guides
Tool facts checked against the official documentation (October 2026): n8n docs: HTTP Request node · n8n docs: Deployment environment variables (HTTP_PROXY, HTTPS_PROXY, NO_PROXY) · n8n docs: n8n Cloud IP addresses · n8n docs: Docker installation · n8n source: HTTP Request node options. Storm Proxies facts: our plans page and refund policy.
Unlimited bandwidth. One flat monthly price.
Access is live the moment you pay, and the smallest package of each proxy type has a 24-hour money-back guarantee on your first order.