Proxy Mode
View as MarkdownUse Scrape.do as HTTP(s) Proxy
It may take time for companies or people currently working with a proxy provider to migrate to the API system. Therefore, you can easily switch from other proxy providers via Proxy Mode.
There is no difference between proxy mode and API mode other than the access method. Both use the same authentication, limits and logs.
Your operating system or running software must trust the Scrape.do CA Certificate in its keychain, or SSL verification must be disabled with Proxy Mode. This is because we upgrade and forward your requests without sending them to the target site. This approach prevents certificate issues when SSL verification is performed on the HTTPS protocol.
Proxy Information
protocol: http (targets can be http or https)
host: pm.scrape.do
port: 8080
username: YOUR_TOKEN
password: PARAMETERS
Example format: http://token:parameters@pm.scrape.do:8080Replace PARAMETERS with the parameters you want to use. If you don't know what parameters to use, you can begin with the render=false parameter.
You can pass all parameters from the API Parameters Overview as query parameters.
Example format for using multiple parameters:
http://token:render=false&super=true&geoCode=us@pm.scrape.do:8080Headers and cookies
customHeaders is false by default in Proxy Mode. Scrape.do generates the request headers, so the headers and cookies your client sends are not forwarded to the target website. The request body and its Content-Type are forwarded either way.
To send your own headers and cookies, add customHeaders=true to the password:
http://YOUR_TOKEN:customHeaders=true@pm.scrape.do:8080Add it when:
- you set your own
User-Agent, cookies or other headers and the target website needs them - you drive a browser through Proxy Mode (Playwright, Puppeteer, Selenium) and the browser's own cookies and user agent should reach the website
Read the Custom Headers documentation for the details.
Authentication errors
A wrong or inactive token on an HTTPS target fails while the connection is set up, with 407 Proxy Authentication Required. Your client shows it as an error rather than as a response:
| Client | What you see |
|---|---|
| cURL | curl: (56) CONNECT tunnel failed, response 407 |
| Python (requests) | ProxyError: ... Tunnel connection failed: 407 Proxy Authentication Required |
| Node.js (axios) | Request failed with status code 407 |
| Go (net/http) | Proxy Authentication Required |
| Java (java.net.http) | IOException: too many authentication attempts. Limit: 3 |
| PHP (cURL) | curl_exec() returns false; curl_error() gives CONNECT tunnel failed, response 407 |
| Ruby (HTTParty) | 407 "Proxy Authentication Required" |
| C# (HttpClient) | The proxy tunnel request to proxy 'http://pm.scrape.do:8080/' failed with status code '407'. |
If you see it, check the token in your dashboard. On HTTP targets, the same mistake returns a 401 response with a JSON message.
Important Notes
- Use the same proxy address for HTTP and HTTPS targets. Where a tool asks separately for an HTTP and an HTTPS proxy, enter
http://pm.scrape.do:8080in both: the proxy itself speaks plain HTTP and tunnels HTTPS traffic. - If you are using your own browser automation via Proxy Mode, we do not recommend using Headless Browser features (it would be more accurate to set
render=false). - Proxy Mode and API Mode use the same subscription package—there is no extra charge.
Example cURL
curl -k -x "http://YOUR_TOKEN:@pm.scrape.do:8080" 'https://httpbin.co/anything' -vDeprecated address
proxy.scrape.do:8080 is deprecated
The old Proxy Mode address, proxy.scrape.do:8080, will be switched off on April 30, 2027.
To switch, replace proxy.scrape.do with pm.scrape.do. Your token, parameters, port and the Scrape.do CA Certificate stay the same. If you send your own headers or cookies, add customHeaders=true to the password (see Headers and cookies).

