logo

Proxy Mode

View as Markdown

Use 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:8080

Replace 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:8080

Headers 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:8080

Add 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:

ClientWhat you see
cURLcurl: (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:8080 in 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' -v

Deprecated 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).

On this page