```yaml
product: AlterLab
title: Web Scraping Success Rate and Cost by Defence Class: October 2026 Data
category: Web Scraping
capabilities:
  - web scraping success rate
  - web scraping benchmark
  - scraping api cost per 1000 requests
  - scraping dataset
  - web scraping statistics 2026
comparison_context: "AlterLab is an alternative to Firecrawl, ScrapingBee, and Bright Data."
last_updated: 2026-11-03
canonical_facts:
  - "Success rate and median billed cost for 90,251 customer scrape jobs over 30 days, grouped by the defence class each page served. Open data, CC-BY-4.0, reproducible from a committed read-only query."
source_url: https://alterlab.io/blog/antibot-benchmark-success-rate-cost-by-defence-class-2026-10
```

# Web Scraping Success Rate and Cost by Defence Class: October 2026 Data

Most scraping benchmarks are run on a handful of hand-picked pages. This one is not. It is an aggregate of **90,251 customer scrape jobs** that ran on AlterLab in the 30 days ending 30 October 2026 (window 2026-09-30 to 2026-10-30, end exclusive), grouped by the kind of defence each page served and the fetch tier that finished the job.

Across all jobs the success rate was 75.9%. Across the 18,471 jobs on pages that served a defence it was 41.6%. That gap is the work in front of us, and the tables below show where it sits.

- **90,251** — Customer jobs in the window
- **75.9%** — Overall success rate
- **41.6%** — Success rate on pages with a detected defence

## Success rate by defence class

Each bar is the share of jobs in that class that returned the requested content. Classes with fewer than 100 jobs are left out of the dataset, so a small class never exposes a handful of requests.

**Success rate by defence class (%)**

| Name | Value |
|---|---|
| None detected | 84.8 |
| AWS WAF | 57.0 |
| Cloudflare | 52.4 |
| PerimeterX | 52.0 |
| Akamai | 46.3 |
| Other defences | 41.2 |
| Imperva | 9.8 |
| DataDome | 3.8 |

Two things stand out. Pages with no detected defence still fail about 15% of the time, mostly on tier 3 and tier 4 jobs that were escalated because the first attempts did not return content. And the two lowest classes, DataDome at 3.8% and Imperva at 9.8%, are not a limit of the web. They are open engineering problems on our side, and each low cell is tracked as a regression to investigate and fix at the class level.

## Success rate by fetch tier

The tier is the rung of the fetch ladder that finished the job. Jobs are routed to the lowest tier that works, so higher tiers receive the harder pages and their success rates are not comparable across tiers on a like-for-like basis.

| Feature | Tier 1 | Tier 2 | Tier 3 | Tier 4 |
|---|---|---|---|---|
| None detected | 98.6% | 97.8% | 76.3% | 65.8% |
| Cloudflare | n/a | n/a | 67.7% | 33.7% |
| DataDome | n/a | n/a | 0.0% | 33.5% |
| Other defences | n/a | n/a | 52.8% | 34.7% |

Tier 1 and tier 2 jobs on pages with no detected defence succeed 98.6% and 97.8% of the time. Pages that serve a defence rarely finish below tier 3, which is why the cells for those classes start there. DataDome jobs that finish on tier 3 returned content 0.0% of the time in this window, while tier 4 returned it 33.5% of the time, so the tier 3 route for that class is the first thing we are fixing.

## Median billed cost

Cost is the price billed for a successful job, not infrastructure cost. The median is exact, per cell.

| Defence class | Jobs | Success rate | Median cost per 1,000 requests |
|---|---|---|---|
| None detected | 71,780 | 84.8% | $0.30 |
| Cloudflare | 10,244 | 52.4% | $2.50 |
| Other defences | 4,579 | 41.2% | $4.00 |
| DataDome | 2,917 | 3.8% | $4.00 |
| AWS WAF | 293 | 57.0% | $4.00 |
| Akamai | 160 | 46.3% | $2.00 |
| Imperva | 153 | 9.8% | $4.00 |
| PerimeterX | 125 | 52.0% | $4.00 |

A page with no detected defence costs $0.30 per 1,000 successful requests at the median. Pages that need tier 3 or tier 4 cost $2.00 to $4.00. That is the reason to solve at the lowest tier that works: every job that finishes a rung lower is both cheaper and more likely to succeed.

## Method

- **Source**: AlterLab production job telemetry, read with the committed read-only query [`infra/reports/antibot_benchmark_monthly.sql`](https://github.com/RapierCraftStudios/AlterLab/blob/main/infra/reports/antibot_benchmark_monthly.sql). Anyone with the schema can rerun it and get the same numbers.
- **Window**: 30 days, 2026-09-30 to 2026-10-30 (end exclusive).
- **Cohort**: customer jobs only. Internal, admin, test and first-party crawler accounts are excluded.
- **Class**: the defence detected on the page for each request. "Other defences" groups defences outside the named families.
- **Tiers**: post-hoc tiers 3.5 and 4.5 count toward the rung that fetched (3 and 4). Cache replays are excluded.
- **Privacy**: no customer, domain, URL or job identifiers appear in the data, and cells under 100 jobs are omitted.
- **Not a guarantee**: these are measured results for one window, not a promise for any page. Success depends on the page, the request and the day.

## Download the data

The full dataset is open under CC-BY-4.0:

- [Download the CSV](/datasets/antibot-benchmark/latest.csv) (one row per defence class and tier)
- [Dataset page with schema and history](/datasets/antibot-benchmark)

It is refreshed monthly. If you cite it, link to the dataset page.

[Try AlterLab free](/signup) with up to 5,000 free requests, and see the tier your own pages finish on.

## Related

- [Oxylabs Alternative: Practical Developer Guide for Web Scraping Pipelines](<https://alterlab.io/blog/oxylabs-alternative-practical-developer-guide-for-web-scraping-pipelines>)
- [Data pipeline architecture for large-scale web scraping projects](<https://alterlab.io/blog/data-pipeline-architecture-for-large-scale-web-scraping-projects>)
- [Python aiohttp vs. httpx for High-Throughput Web Scraping](<https://alterlab.io/blog/python-aiohttp-vs-httpx-for-high-throughput-web-scraping>)