We’ve made a change. Scrapinghub is now Zyte! 
smart proxy manager

Smart rotating proxies (formerly Crawlera)

Forget about proxy lists.
We manage hundreds of thousands of proxies, so you don't have to

Try freeGo enterprise

How we can help

smart proxy manager

Smart Proxy Manager
(formerly Crawlera)

The world's preeminent rotating proxy network ensures your web data is delivered quickly and reliably. So you can focus on extracting data, not juggling proxies.

Smart Proxy Manager selects the best proxies to keep your crawl healthy. We handle retries, and apply rotation and fingerprinting logic to maximize your success rates.

Try free
rotating proxy enterprise

Zyte Data API


Avoid complex banning with Zyte Data API. A single API with smart browser functionality and browser rendering, it easily handles antibots that target the browser layer.

Our API technology with human-like behavior enables you to get the valuable web data you need, hassle free. Starting at $100 per 40k requests. Learn more.



Try free

Go Enterprise

Scale up with enterprise proxy or advanced antiban solutions to meet any web data extraction challenge with personalized onboarding, SLAs, 24/7 priority support, and more.

Talk to us

Trusted by:

mercado libre
warner music group
Smart pricing

Pricing built for businesses of all sizes


per month
50K requests per month included
Additional requests at $10 per 10K
50 concurrent requests
per month
200K requests per month included
Additional requests at $49 per 100K
50 concurrent requests


per month
2.5M requests per month included
Additional requests at $149 per 1m
200 concurrent requests


per month
Custom amount of requests
Custom request concurrency
IP whitelisting
Dedicated account manager
Custom proxy locations
Custom crawling time-window
24/7 priority support
Personalized onboarding
Guaranteed capacity

All packages come with...

24/5 support
Automatic proxy rotation
Automatic retries
Automatic proxy optimization
Identify as web browser
Reporting and visualizations
Docs and knowledge base
Support and sessions support
Headless browser support
Cookie management
Configurable browser profiles
Non-obvious ban detection
Why Zyte proxy management

Smart proxy rotation service

Highest success rates

Try free

Our industry-leading rotating proxy network is built on our own sophisticated anti-ban algorithms, with request throttling and hundreds of heuristics to ensure industry-leading success rates.

success rate

Smart Proxy Manager scales effortlessly with any project requirement, right up to billions of requests per month. Upgrading is easy at any time. And our crawl consultants are on hand to help you achieve your goals and get the most out of our proxy solutions.

+11 Billion
successful requests per month

Results focused

You only pay for successful requests delivered. With no charges for underused IPs or engineer hours to monitor and rotate your proxies.

Try free

Battle tested

We built it. And we use it every day. Our 100+ developer team trusts Smart Proxy Manager and its smart rotating proxy managed logic to deliver accurate, reliable web data to Zyte customers, including Fortune 500 companies with stringent SLA requirements.

Try free

We get you

At Zyte, we speak your language. Our web data extraction and smart rotating proxy solutions are built for developers by developers who understand your pain points..

Try free
Automatic healthy IP selection & rotation
bullet point
Extensive knowledge base
bullet point
User browser simulation
bullet point
Universal HTTP proxy interface
bullet point
Anti-ban management
bullet point
Residential IPs available
import requests
response = requests.get(
        "http": "http://{}:@proxy.zyte.com:8011/".format(APIKEY),
use GuzzleHttp\Client;

$client = new Client();
$response = $client->get('http://example.com', [
    'proxy' => 'http://APIKEY:@proxy.zyte.com:8011'
echo $response->getBody();
require 'curb'
request = Curl::Easy.new("http://example") do |curl|
    curl.proxy_url = "proxy.zyte.com:8011"
    curl.proxypwd = "APIKEY:"
puts request.body_str
var request = require('request');
    uri: 'http://example.com',
    proxy: 'APIKEY:@proxy.zyte.com:8011'
}, function callback(error, response, body) {
import java.io.File;
import javax.net.ssl.SSLContext;
import org.apache.http.HttpHeaders;
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.AuthCache;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
import org.apache.http.impl.auth.BasicScheme;
import org.apache.http.impl.client.BasicAuthCache;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.ssl.SSLContexts;
import org.apache.http.util.EntityUtils;

public class ClientProxyAuthentication {

    public static void main(String[] args) throws Exception {
        // Trust own CA and all self-signed certs
        SSLContext sslcontext = SSLContexts.custom()
                .loadTrustMaterial(new File("/path/to/jre/lib/security/cacerts"),
                                   new TrustSelfSignedStrategy())

        // Allow TLSv1.2 protocol only
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                sslcontext, new String[] {"TLSv1.2"},
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
                new AuthScope("proxy.zyte.com", 8011),
                new UsernamePasswordCredentials("", ""));
        try (CloseableHttpClient httpclient = HttpClients.custom()
                .build()) {
            HttpHost target = new HttpHost("example.com", 443, "https");
            HttpHost proxy = new HttpHost("proxy.zyte.com", 8011);

            AuthCache authCache = new BasicAuthCache();

            BasicScheme basicAuth = new BasicScheme();
                    new BasicHeader(HttpHeaders.PROXY_AUTHENTICATE,
                                    "Basic realm=\"Zyte\""));
            authCache.put(proxy, basicAuth);

            HttpClientContext ctx = HttpClientContext.create();

            RequestConfig config = RequestConfig.custom()
            HttpGet httpget = new HttpGet("/");

            try (CloseableHttpResponse response = httpclient.execute(
                target, httpget, ctx)) {
using System;
using System.IO;
using System.Net;

namespace ProxyRequest
    class MainClass
        public static void Main (string[] args)
            var myProxy = new WebProxy("proxy.zyte.com:8011");
            myProxy.Credentials = new NetworkCredential(APIKEY, "");
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://example.com");
            request.Proxy = myProxy;
            request.PreAuthenticate = true;
            WebResponse response = request.GetResponse();
            Stream dataStream = response.GetResponseStream();
            var reader = new StreamReader(dataStream);


$ curl http://example.com \
      -U APIKEY: \
      -x proxy.zyte.com:8011
Simple back-connecting API

We support the programming languages you love and use

Smart Proxy Manager gives developers the flexibility to turn their ideas into reality and the support to scale them into production.

With a simple back connecting API that integrates seamlessly into your workflow, we take the hassle of proxy management and free up valuable time. So you can focus on driving value out of web data.

Ready to get started?

Transparent pricing, efficient data

Learn about Pricing

Data Extraction and how we can help you

Learn more
We've got the answers

Frequently asked questions

Can I choose IPs in specific locations?

Yes, we can allocate IPs based on the locations you choose. You can otherwise leave the automatic IP proxy rotation down to us wholly to us, where our proprietary algorithms will choose the best IPs to get you the successful requests.

How many proxies do you offer?

It’s in the order of hundreds of thousands. But we have reserves as well depending on the requirements of our customers. We grow the pool as needed.

Do you offer a free trial?

Yes. We offer a free trial of our smart rotating proxy service for 14 days or 10,000 requests (whichever comes first). Customers interested in an Enterprise Free Trial should contact us.

Can I cancel my subscription at any time?

Yes, you may cancel your subscription at any time.

I already have proxies. How will Zyte Smart Proxy Manager help me on top of what I'm already doing?

Smart Proxy Manager (formerly Crawlera) is focused on delivering successful responses without any hassle for the end-user. The internal algorithm deals with bans, manages multiple proxy providers, rotates proxies and handles throttling automatically, among other features. It allows your technical team to focus on data only and not proxies.

Can I use Smart Proxy Manager with my own crawler without using Scrapy, Scrapy Cloud or any other Zyte service?

Definitely. Smart Proxy Manager is a standalone service that can be used with any crawler or HTTP client, independently of the rest of the Zyte platform.

How will dedicated residential proxies help my web scraping project?

Dedicated residential proxies are great at helping gather data from domains with stricter thresholds towards bots and tasks that require location-specific IPs. But not all web scraping projects need residential proxies. Most of the times smart rotating datacenter IP proxies work just the same and give the cost benefit. In these cases, all you need is a smart IP rotation service like Zyte Smart Proxy Manager.

What are proxies?

When you start extracting data from the web on a small scale you might not need proxies to make successful requests and get the data. But, as you scale your project because you need to extract more records or more frequently, you will experience issues. Or the site you're trying to reach might display different content depending on the region. So these are the two cases when you need to start using a proxy solution. Learn more about proxies here.