Apify Proxy enables usage of Apify's IP address pool from acts, web browsers or any other HTTP proxy-enabled applications. The proxy supports HTTP as well as other protocols like HTTPS and FTP. To use the proxy, you need to have an Apify account.

The proxy automatically rotates the IP addresses. For each request, the proxy takes the list of all IP addresses available to the user and randomly picks one of the addresses. It is possible to force the proxy to reuse the picked IP address for multiple requests - see the session parameter in the Username parameters section for more details.


The following table shows proxy configuration parameters.

Proxy type HTTP
Port 8000
Username Specifies parameters of the proxy connection - see the Username parameters section below for details.
Password Proxy password, it can be found on the Proxy page in the app.
URL http://<username>:<password>

WARNING: The proxy password is not encrypted, therefore there is a chance it might be sniffed on the network by third parties. You should not connect to the proxy from insecure networks!

Username parameters

Proxy username is used to specify various parameters for the proxy connection. For example, the username can look as follows:


The following table describes the available parameters:

groups Specifies which groups of IP addresses should be used. For example: groups-SHADER+DEFAULT. By default, the proxy uses the the default group which only contains IP addresses from the Amazon AWS range.
session If specified, all proxied requests with the same session identifier are routed through the same IP address. For example: session-rand123456. If the IP address is no longer available, another one will be picked. By default, each proxied request is assigned a randomly picked IP address. The session string can only only contain numbers (0-9) and letters (a-z or A-Z), and the maximum length is 50 characters!

If you don't want to specify any proxy parameters and use the default values, set the username to:



To view the status of the proxy connection and description of potential errors, open the following URL:

To test that your requests are proxied and rotate the IP addresses, you might use the following API end-point:


This example shows how to use the Apify Proxy from an Actor act together with headless Chrome / Puppeteer:

const Apify = require('apify');

Apify.main(async () => {
    console.log('Launching Puppeteer...');
    const browser = await Apify.launchPuppeteer({
        proxyUrl: `http://auto:${process.env.APIFY_PROXY_PASSWORD}`

    console.log('Opening page...');
    const page = await browser.newPage();
    await page.goto('');

    const html = await page.content();