TL;DR
Apify actors don't have to run on Apify's own proxy pool. Drop Proxyon URLs into the Custom proxies field in Console, or pass them to proxyUrls in the SDK, and the actor rotates through your IPs instead. Match datacenter or residential to the target, and keep the two proxy sources (custom vs Apify Proxy) separate, since the SDK won't let you mix them in one run.
Why Bring Your Own Proxies to Apify

Apify Proxy is convenient but managed. You don't pick the IPs, and you pay Apify's markup on the bandwidth. Custom proxies give you the pool, the geography, and the cost. If you already run residential or datacenter proxies elsewhere, routing actors through the same account means one bill instead of two.
Connect Proxyon in Apify Console

- Grab your host, port, username, and password from your Proxyon dashboard.
- Open your actor's Input and options tab, then the Proxy and browser configuration section.
- Switch the source to Custom proxies.
- Enter the URL as
http://username:password@host:port. - Save and start the run.
Connect Proxyon in the Apify SDK
import { Actor } from 'apify';
import { CheerioCrawler } from 'crawlee';
await Actor.init();
const proxyConfiguration = await Actor.createProxyConfiguration({
proxyUrls: [
'http://username:password@host1.proxyon.io:8000',
'http://username:password@host2.proxyon.io:8000',
],
});
const crawler = new CheerioCrawler({
proxyConfiguration,
async requestHandler({ $, request }) {
console.log(request.url, $('title').text());
},
});
await crawler.run(['https://example.com']);
await Actor.exit();Pass multiple URLs and the SDK rotates them round-robin. Use proxyConfiguration.newUrl(sessionId) if a session needs to keep the same IP. proxyUrls can't be combined with Apify Proxy's groups or countryCode options, it's one mode per run.
Also Read: Proxy Setup in Node.js
Choosing the Right Proxy Type

Datacenter proxies, from $1.50/IP, fit light targets: product feeds, public APIs, general scraping. Residential proxies, from $1.75/GB, fit sites that fingerprint hard, like social platforms or ticketing. Check pricing before committing an actor to residential at scale.
FAQ Section

Can I use Apify Proxy and Proxyon in the same actor run?
No. The SDK throws an error if proxyUrls and Apify Proxy's groups/countryCode are both set.
Does Proxyon work with Apify Console, not just the SDK?
Yes, paste your proxy URL into the Custom proxies field under Proxy and browser configuration.
Which proxy type should I use?
Datacenter for low-protection targets, residential for anything that checks fingerprints closely.
How do I keep the same IP across a session?
Use proxyConfiguration.newUrl(sessionId) with a consistent session ID.
Final Thoughts
Apify runs the actor. Proxyon supplies the IPs. Pick datacenter for cheap, high-volume jobs and residential for anything that fingerprints hard.