Setup guide
Postman proxy settings, with Newman
Postman keeps two proxy settings apart: the proxy the app itself needs to reach the internet, and the proxy it sends your API requests through. HOST and PORT belong in the second. The labels below follow Postman’s documentation for the desktop app. Newman, the command-line collection runner, was tested against a local proxy.
Before you start
- The Postman desktop app. Postman’s documentation says the default proxy cannot be configured in the web app, and these steps describe the desktop version.
- Node.js with npx for the Newman step. npx downloads Newman the first time it runs.
- HOST, PORT, USERNAME and PASSWORD from your service page.
Your connection details
Sign in to the dashboard and open the service you bought. Its page shows the host, port, username and password for that service. There is no single ProxyPanda address to remember, so copy them from there each time. The code in these guides uses the placeholders below; replace each one with your own value.
- HOST
- The proxy address for this service, exactly as the service page shows it.
- PORT
- The port to connect to. Copy it with the host, since it can differ from one service to the next.
- USERNAME
- Your proxy login. It is separate from the email you use for the dashboard.
- PASSWORD
- Copy it in full. On residential, the options you choose in the dashboard are added to the end of the password, so a password typed from memory loses them.
You can skip the username and password by adding the IP address you connect from to the service’s allowlist. Then only HOST and PORT go into your code.
The examples use HTTP, which reaches https sites through an encrypted tunnel. SOCKS5 works too: residential ports accept both, and ISP and datacenter proxies switch protocol in the dashboard.
Steps
Open the Proxy tab
Click the Settings icon in the header, choose Settings, and open the Proxy tab. Your proxy goes under Proxy configurations for sending requests. Default proxy configuration, higher up, is meant for a proxy your own network already forces on you.
Turn on a custom proxy configuration
Switch on Use custom proxy configuration. Under Use proxy for, keep HTTP and HTTPS both selected. Set Proxy server to HTTP, type HOST with no http:// in front of it, and PORT beside it. Turn on Proxy auth and fill in USERNAME and PASSWORD.
Settings › Proxy Use custom proxy configuration: On Use proxy for: HTTP, HTTPS Proxy server: HTTP HOST PORT Proxy auth: On Username: USERNAME Password: PASSWORD Proxy bypass: (leave empty)Leave Use system proxy off
Postman’s documentation says the custom proxy wins when both toggles are on, and keeping the system one off removes any doubt about which carried a request. Proxy bypass takes a comma-separated list of hosts that should skip the proxy, such as an API running on localhost.
Send a test request
Create a GET request to https://api.ipify.org?format=json and send it. The ip field in the response is the address the site saw. Switch Use custom proxy configuration off, send once more, and the address should change back to your own.
Run the collection through the proxy with Newman
Newman does not read the app’s proxy settings. Its documentation lists HTTP_PROXY, HTTPS_PROXY and NO_PROXY instead. Export the collection from Postman as a JSON file and run it with the variable set; --verbose prints each response body, so the ip field shows in the terminal. Percent-encode any @, : or / in the password, since it sits inside a URL here.
terminal export HTTPS_PROXY="http://USERNAME:PASSWORD@HOST:PORT" npx newman run ip-check.postman_collection.json --verbose unset HTTPS_PROXY
Rotating and sticky IPs
Newman opened a new CONNECT tunnel for every request in testing: three iterations with -n 3 produced three tunnels. On residential with Randomize IP, each request in a run can therefore arrive from a different address.
When a collection signs in and then calls endpoints that expect the same client, use Sticky IP, or an ISP or datacenter IP, so the whole run keeps one address.
How the desktop app reuses connections is not documented. Send the ipify request a few times in a row and compare the addresses before relying on either behaviour.
Common errors and fixes
Requests still leave from your own address
Postman’s documentation notes that when http_proxy, https_proxy, HTTP_PROXY or HTTPS_PROXY are set in the operating system, the app follows the system proxy and ignores its own proxy settings. Remove those variables, or point them at your proxy, then restart Postman.
The proxy answers 407 Proxy Authentication Required
Proxy auth is off, or the login differs from the service page. Turn Proxy auth on and paste USERNAME and PASSWORD again, with no spaces at either end.
Newman: tunneling socket could not be established, cause=connect ECONNREFUSED
Newman found nothing listening at HOST:PORT. Compare the variable with the service page and check that the service is still active.
Newman stops with Error: Unknown object type "asyncfunction"
In testing, Newman 6.2.2 crashed with this message when the proxy rejected a wrong password with 407. It reads like a bug in your collection, but the fix is the login: copy it again and percent-encode special characters in the variable.
A Postman setting talks about capturing traffic
Postman also has a built-in proxy for capturing requests that other apps send. It is a separate feature and takes no part in sending your requests through HOST and PORT.
Which line to pick
Postman is for testing APIs, so traffic stays small and any line will do. Datacenter IPs cost least for checking how an API answers from another address. Use residential to see what a home connection gets, and an ISP IP when a test account must stay on one fixed address.
Other setup guides
Not sure what a word means? The glossary explains it in plain English.
Stuck on a step?
Paste the command and the error into Discord, with your password taken out. People there have met most of these errors before.