Rayobyte vs Geonode vs Webshare

Rayobyte vs Geonode vs Webshare for Scrapy

The three providers compared for Scrapy: request.meta proxies, a routing middleware across providers, Webshare list rotation, Rayobyte's unblocker as a proxy, Geonode's crawl APIs and concurrency.

By Team of Monkeys Editorial Updated 3 min read Affiliate disclosure

This guide contains affiliate links to Geonode, Webshare and Rayobyte. If you buy through them we may earn a commission, at no extra cost to you.

Scrapy: Rayobyte, Geonode, Webshare illustration showing Scrapy spider connecting through Compare to Items, covering middleware, routing 3jdej38j4

Scrapy on all three

Set request.meta["proxy"] to a proxy URL from any of the three. A small middleware can route each domain to a different provider:

python
ROUTES = {"easy.example": "ws", "hard.example": "gn", "impossible.example": "ry_unblock"}

class Router:
    def process_request(self, request, spider):
        host = urlparse(request.url).hostname or ""
        request.meta.setdefault("proxy", PROXIES[ROUTES.get(host, "ws")])
Setting up rotating proxies in Scrapy, part of a longer Scrapy tutorial series. Video: CodersLegacy on YouTube

See Scrapy proxies and Rayobyte with Scrapy.

Differences

RayobyteGeonodeWebshare
Fits Scrapy's proxy modelProxies and Web UnblockerProxies (API as URL calls)Proxies
Easy sitesRotating datacenterRotating datacenterLists
Site discoveryYour spidersMap and Crawl APIsYour spiders
Our editorial team, hard at work on your proxy questions (animated GIF) 3jdej38j4
Our editorial team, hard at work on your proxy questions. GIF via Tenor

Picking

Webshare lists for easy domains, Geonode residential for protected ones at modest volume, Rayobyte's Web Unblocker for the impossible few. Keep per-IP concurrency low on lists.

Residential tip: If you only add one provider to an existing setup, add the one that fills a gap: Rayobyte lists HTTP/3, SOCKS5 UDP and device OS targeting on its residential traffic, which few providers offer, plus US mobile proxies. More in using Rayobyte with Scrapy.

Settings that work with all three

python
CONCURRENT_REQUESTS = 64
CONCURRENT_REQUESTS_PER_DOMAIN = 8
DOWNLOAD_TIMEOUT = 30
RETRY_TIMES = 2
RETRY_HTTP_CODES = [403, 429, 500, 502, 503, 504]
AUTOTHROTTLE_ENABLED = True
A short overview of Rayobyte as an enterprise proxy provider. Video: Rayobyte (formerly Blazing SEO) on YouTube

Keep total concurrency under your plan's limits (Rayobyte's monthly plans allow one concurrent request per dollar), and keep per-IP concurrency low on Webshare lists, since many requests share each IP. See Rayobyte with Scrapy, Geonode with Scrapy and Webshare with Scrapy.

Handling JavaScript pages

Scrapy doesn't run JavaScript. For the few pages that need it, use scrapy-playwright with a provider's proxy in the launch options, or send those URLs to Geonode's Scraper API or Rayobyte's Scraping API and parse the returned HTML in your spider.

Strengths and watch-outs

ProviderBest forWatch out for
RayobyteEverything fits Scrapy's proxy model, including the unblockerPlan concurrency limits
GeonodeCheap residential for protected domainsManaged scraping is an API, not a proxy
WebshareCheap lists for broad crawlsKeep per-IP concurrency low

Proxy tip: To test the Geonode side of this comparison, a small residential balance from Geonode is enough, and it doesn't expire if you pause. See using Geonode with Scrapy for its full product range.

Bottom line

A routing middleware with three routes covers almost any Scrapy project.

For the bigger picture beyond our three partners, read our best proxies buyer's guide, and see cheap proxies for ways to cut cost per successful request. To understand the IP type behind this, read our residential proxies guide.

For head-to-head versions of this comparison, see Rayobyte vs Geonode for Scrapy, Rayobyte vs Webshare for Scrapy, Webshare vs Geonode for Scrapy.

Budget tip: If you want a cheap proxy to try this with, Webshare has a free plan with 10 datacenter proxies and 1 GB of bandwidth a month, no card required. Paid lists let you pick proxy count, bandwidth and location. See using Webshare with Scrapy.

Key takeaways

  • All three plug into request.meta["proxy"].
  • A routing middleware mixes providers per domain.
  • Rayobyte's unblocker fits Scrapy natively; Geonode adds crawl APIs.

FAQ

Do I need a rotation package?

Not with gateways; a small middleware handles Webshare lists.

Which is cheapest for big Scrapy crawls?

Webshare lists on lenient sites.

Can Scrapy call Geonode's API?

Yes, as normal requests to the API URL.

Can Scrapy use SOCKS5?

Not natively; use HTTP proxies with Scrapy on all three.

How do I keep one IP across paginated requests?

Pass a session ID through meta and reuse the same proxy URL with response.follow().

Can scrapy-playwright use these proxies?

Yes; pass the proxy in Playwright's launch or context options.

Sources and further reading

Independent references that back up the points above, from standards bodies, governments, universities and non-profits. They open in a new tab.

Affiliate disclosure: Team of Monkeys is an affiliate of Geonode, Webshare and Rayobyte. Links and banners marked as sponsored, and links to Geonode, Webshare and Rayobyte in the text, use our referral links, and we may earn a commission if you buy through them, at no extra cost to you. Our explanations and comparisons are written to be useful whichever provider you choose.

Editorial note: Proxy providers change their pools, features and prices often, so treat any figures here as typical ranges at the time of writing and confirm current terms with the provider before you buy.