← Back to Blog

Apify Actors with Their Own Proxies: When a Custom Pool is Cheaper than Built-in Apify Proxy

We compare the cost of the built-in Apify Proxy and a custom proxy pool for actors. We show at what scraping volumes a custom proxy saves budget and how to connect it.

📅November 2, 2026

If you are running actors on Apify for scraping Wildberries, Ozon, Amazon, or Google Maps, sooner or later the question arises: should you pay for the built-in Apify Proxy or connect your own pool of IP addresses? At large volumes, the cost difference can amount to tens of thousands of rubles per month. In this article, we will discuss how traffic pricing is calculated in Apify, when your own proxy is more advantageous, and how to technically connect it to the actor — with code examples.

What are Apify Actors and Why Do They Need Proxies

Apify is a platform for running ready-made scrapers (actors) without the need to set up your own infrastructure. The Apify Store has hundreds of ready-made actors: Amazon parsers, Google Maps Scraper, Instagram Scraper, actors for collecting product cards from Wildberries and Ozon. Most of them require proxies because target sites quickly ban the IP addresses of Apify's data centers during mass requests.

Proxies in the actor solve three tasks: they bypass geo-restrictions (for example, you need to collect prices specifically for the "Moscow" region on Wildberries), reduce the frequency of CAPTCHAs and temporary bans, and also distribute the load among multiple IPs, simulating the behavior of regular users rather than a bot. Without proxies, most actors for scraping marketplaces either won't start at all, or will collect data with errors after just a couple of minutes of operation.

Apify has a built-in solution — Apify Proxy, which connects with a single line of code. This is convenient for starting out, but there is a nuance: payment is made for traffic per GB, and with regular or large-scale scraping, the bill quickly rises. This is why experienced users of the platform increasingly connect their own proxies to actors instead of the built-in ones.

How the Built-in Apify Proxy Works and Its Pricing

Apify Proxy offers three types of IPs: data center, residential (via partner pools), and Google SERP proxies for scraping search results. The connection is very simple — you just need to specify the parameter useApifyProxy: true in the actor's configuration, and the platform will automatically rotate IPs for each request or session.

The problem lies in the payment model: the traffic of residential proxies within Apify is charged by gigabytes, and the price per GB for the built-in solution is usually higher than that of direct proxy suppliers because Apify adds its markup for integration and pool management. For small test runs (a couple of thousand requests per month), this is not critical. But if the actor operates in monitoring mode — for example, scraping prices on Wildberries every hour for 5000 SKUs — the traffic consumption grows exponentially, and the built-in proxy becomes the most expensive item in the project's budget, even surpassing the cost of the Apify plan itself.

An additional nuance: the built-in Apify pool is shared among all clients of the platform. This means that the IP addresses may already be "exposed" by other users scraping the same sites. This increases the risk of CAPTCHAs and bans, especially on marketplaces with strict anti-bot protection, such as Ozon and Avito.

When Your Own Proxy Pool is Cheaper: Calculations

To understand when switching to your own proxy is justified, you need to compare two variables: the cost of traffic with Apify Proxy and the cost of an equivalent volume from a direct proxy supplier, plus the time spent on integration and maintaining your own pool.

Practice shows three scenarios:

  • One-time scraping (up to 1 GB of traffic per month) — the built-in Apify Proxy is more advantageous: there is no point in spending time setting up your own pool for a small one-time data collection.
  • Regular monitoring (5–50 GB per month) — the breaking point. Here it is worth calculating: if the actor works daily and collects product cards from Wildberries or Ozon, the traffic consumption with the built-in proxy grows faster than with your own pool with a fixed cost per IP or an unlimited plan.
  • Industrial scraping (over 50 GB per month, dozens of actors, multiple sources) — your own pool is almost always cheaper because there is an opportunity to negotiate a direct price for traffic or for the number of IPs, without the markup of the intermediary platform.

A simple calculation example: if an actor processes 10,000 product cards daily, and each page weighs an average of 300 KB considering images and scripts (without optimizing resource loading), it accumulates about 90 GB of traffic per month. With the Apify Proxy rate for residential traffic, the total amount often exceeds the cost of an equivalent volume from a third-party proxy supplier by one and a half to two times. If the actor is configured to block the loading of images and external scripts (which is easy to do through the Puppeteer/Playwright configuration), the actual weight of the traffic decreases significantly, and the savings from switching to your own proxy become even more noticeable.

What Type of Proxy to Connect to Actors

The choice of proxy type directly depends on which site the actor is scraping and how sensitive it is to bot traffic.

Proxy Type When to Use in Apify Risk of Blocking
Data Center Proxies Scraping sites without strict anti-bot protection, API-like sources, static catalogs High on marketplaces with protection
Residential Proxies Wildberries, Ozon, Amazon, Google Maps Scraper — sites that detect data center IPs Low with proper rotation
Mobile Proxies Scraping social networks (Instagram, TikTok) through Apify actors, where maximum "cleanliness" of IP is required Minimal

For scraping marketplaces like Wildberries and Ozon, the optimal choice is residential proxies, as they use real IPs from home providers and rarely fall under strict anti-bot filters. For less protected sources (RSS, open catalogs, corporate websites) data center IPs are sufficient — they are cheaper and faster.

How to Connect Your Proxy to an Actor: Code and Setup

Most actors on Apify are built on Crawlee (formerly Apify SDK) and support passing your own list of proxies through the parameter proxyConfiguration. Instead of the built-in pool, you specify an array of your proxy addresses.

import { Actor } from 'apify';
import { CheerioCrawler, ProxyConfiguration } from 'crawlee';

await Actor.init();

// Passing own proxy list instead of useApifyProxy
const proxyConfiguration = new ProxyConfiguration({
    proxyUrls: [
        'http://user:[email protected]:12345',
        'http://user:[email protected]:12345',
        'http://user:[email protected]:12345',
    ],
});

const crawler = new CheerioCrawler({
    proxyConfiguration,
    maxRequestsPerCrawl: 5000,
    async requestHandler({ request, $, log }) {
        const title = $('title').text();
        log.info(`Scraped page: ${title}`);
        await Actor.pushData({ url: request.url, title });
    },
});

await crawler.run(['https://www.wildberries.ru/catalog/...']);
await Actor.exit();

If your proxy pool supports rotation on the provider's side (this is how most residential services work, including pools with session or request-based rotation), you only need to specify one endpoint with session parameters in the URL — then IP rotation will occur automatically without the need to manually list hundreds of addresses.

For actors in Python (for example, if you are running a custom script through the Apify SDK for Python), the connection looks similar:

import requests

proxies = {
    "http": "http://user:[email protected]:12345",
    "https": "http://user:[email protected]:12345",
}

response = requests.get(
    "https://www.ozon.ru/category/...",
    proxies=proxies,
    headers={"User-Agent": "Mozilla/5.0"},
    timeout=15
)

print(response.status_code)
print(response.text[:500])

An important point: when switching to your own proxy, make sure to set up session rotation and delays between requests manually — the built-in Apify Proxy did this automatically, but when connecting an external pool, the logic needs to be specified in the actor's code or in the crawler's configuration.

Comparison Table: Built-in vs Own Proxy

Criterion Apify Proxy (Built-in) Own Proxy Pool
Connection Speed One line of code, no setup Requires 15-30 minutes for integration
Cost at Low Volumes More advantageous Excessive for rare runs
Cost from 10-50 GB/month Increases proportionally to traffic More advantageous, often fixed model
"Cleanliness" of IP Pool Shared pool, possible overlaps with other clients Dedicated or rotating pool for your tasks
Geo-targeting Flexibility Limited set of countries/regions Choice of specific city/region for the marketplace
Control Over Rotation Automatic, no settings Configured manually for the required pattern

Use Cases: Scraping Marketplaces in Practice

Price Monitoring on Wildberries. Sellers tracking competitor prices for 3000-10000 SKUs several times a day usually start with the built-in Apify Proxy, but after the first month with a large bill for traffic, they switch to residential proxies tied to the region. This not only reduces costs but also allows them to see prices exactly as a buyer from a specific city would see them — which is critical, as Wildberries shows different prices depending on the warehouse and delivery region.

Collecting Product Cards on Ozon. Ozon actively uses behavioral analysis and quickly bans IPs for repetitive request patterns. An actor working through the shared Apify Proxy pool often encounters CAPTCHAs precisely because the same IPs are simultaneously used by other platform users for similar tasks. Switching to a dedicated pool of residential proxies with its own rotation logic and random delays between requests reduces the frequency of CAPTCHAs several times.

Scraping Google Maps and Reviews. For tasks where geo-specificity is not required (for example, collecting contact details of companies nationwide), it is often sufficient to use data center proxies — they are faster than residential ones and significantly cheaper at large volumes if the target site does not apply aggressive anti-bot protection.

Proxy Selection Checklist for Apify Projects

  • Calculate the actual traffic volume of the actor per month (requests × average page weight)
  • Compare this volume with the rate of the built-in Apify Proxy — if it exceeds 5-10 GB regularly, consider alternatives
  • Determine how sensitive the target site is to bots — marketplaces like Ozon require residential IPs
  • Check if geo-targeting to a specific region is needed (relevant for Wildberries and Ozon)
  • Set up session rotation and delays between requests manually when switching to an external pool
  • Disable loading unnecessary resources (images, fonts, trackers) in the actor — this will reduce traffic consumption regardless of the type of proxy
  • Test the pool on a small volume before switching all actors to the new configuration

Conclusion

The built-in Apify Proxy is a convenient start for one-time tasks and small test runs, but with regular or industrial scraping of marketplaces, its cost quickly exceeds the expenses for your own proxy pool. Switching requires a bit more setup at the start — specifying rotation, sessions, and proxy configuration in the actor's code — but pays off within the first month at volumes of 10-50 GB of traffic.

If your actors are collecting data from Wildberries, Ozon, or Amazon, consider using residential proxies — they provide a low risk of blocks and allow you to set the required region for accurate price display. For less protected sources without strict anti-bot measures, more budget-friendly data center proxies will suffice, and for scraping mobile applications and social networks through Apify actors, consider mobile proxies — they offer maximum "cleanliness" of IP with minimal risk of detection.