Reproducible benchmark comparing Zenrows and Apify across 7 targets, run in June 2026.
Companion code for the Zenrows article Best Apify Alternative for Large-Scale Scraping.
| # | Target | Type | Zenrows score | Apify score |
|---|---|---|---|---|
| 1 | walmart.com product page | Protected | 100 | 7.5 |
| 2 | glassdoor.com company page | Protected | 99.5 | 11 |
| 3 | bayut.com property search | Protected | 100 | 35 |
| 4 | google.com SERP | Protected | 95 | 79 |
| 5 | ikea.com product page | Protected | 100 | 2.5 |
| 6 | news.ycombinator.com | Unprotected | 100 | 99.5 |
| 7 | docs.scrapy.org | Static documentation | 100 | 64.5 |
200 requests per target per tool. 2 requests/second. Concurrency: 2.
- HTTP status code (200 = success)
- Response time in milliseconds
- Whether the returned HTML contains a valid
<title>tag
apify/playwright-scraper — the most widely used general-purpose Playwright Actor on the Apify Store.
- Apify's pre-built marketplace Actors for specific sites (Instagram, Google Maps, LinkedIn). The test uses a general-purpose Actor only.
- Apify's scheduling, dataset storage, and monitoring features.
- Zenrows' Scraping Browser in a multi-step session workflow.
19th June 2026. Rerun results may differ as sites update their anti-bot configurations.
- Python 3.10+
- A Zenrows API key
- An Apify API token
git clone https://github.com/ZenRows/zenrows-vs-apify-benchmark.git
cd zenrows-vs-apify-benchmarkpython -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windowspip install -r requirements.txtexport ZENROWS_API_KEY=your_zenrows_api_key
export APIFY_API_TOKEN=your_apify_api_tokenpython run_benchmark.pyRaw per-request results are written to results/raw_<tool>_<timestamp>.csv. The aggregated
results used in the article are committed as Zenrowsresults.csv and apify_results.csv.