No KYC — no ID, no selfie, no documents. Pay in crypto: BTC, USDT, USDC, ETH, SOL, LTC
Language: English
Get started

Use case · AI data pipelines · multi-TB

Proxies for AI training data and LLM web corpora

Collecting public web data for models is now a regulated, measured and contested activity. This page covers the volume math, the 2026 rules on opt-outs, and a crawler pattern that respects them.

Last updated: · 8 min read

Quick answer

What are the best proxies for collecting AI training data at scale?

For multi-terabyte public-web corpora, use rotating residential proxies billed per GB with traffic that never expires, and a crawler that honours robots.txt and AI opt-outs. CrawlRelay sells residential traffic at $0.50/GB from 50 GB to 1 TB, as of October 2026: about 50 GB covers one million HTML pages. Paid in crypto, with no KYC.

AI data collection: key numbers

CrawlRelay price at volume$0.50/GB from 50 GB to 1 TB; traffic never expires
HTML-only pageTens of KB compressed; median HTML 22–35 KB (HTTP Archive Web Almanac 2025)
Fully rendered pageMedian 2,164 KB on mobile, 2,412 KB on desktop (same source)
1 million HTML pagesAbout 30–60 GB of proxy traffic
AI training in crawler traffic22% of crawler requests in spring 2025, 52% in June 2026 (Cloudflare)
Standard for crawl rulesrobots.txt, RFC 9309 (2022)

How much proxy traffic does an AI training corpus need?

Fetch HTML and text, not rendered pages, and the volume stays manageable. With 50 KB per compressed HTML page:

PagesHTML only (≈50 KB)Rendered (≈2 MB)
100,0005 GB200 GB
1 million50 GB2 TB
10 million500 GB20 TB
100 million5 TB200 TB

A headless browser multiplies traffic by about forty, so render only the pages whose text needs JavaScript. At CrawlRelay, 1 million HTML pages fit in the 50 GB plan ($25); 10 million fit in 500 GB ($250). Measure your own average with 1,000 real pages first; the bandwidth guide shows how.

Do I need proxies at all for AI training data?

Often not for the bulk of it. Before you crawl, check three cheaper sources:

  • Open crawls. Common Crawl publishes petabytes of web archives collected by its CCBot crawler.
  • Official dumps and APIs. Wikipedia, many governments, open-data portals and research repositories publish downloads and APIs with clear licences.
  • Licensed data. Publishers and platforms increasingly sell or license access, and Cloudflare's pay-per-crawl uses HTTP 402 to put a price on crawling.

Proxies earn their cost on the rest: fresh public pages that are not in open crawls, content that changes by country or city, and sites that serve different editions per region. Residential exits let you collect what a local visitor sees.

Which rules apply to AI data crawlers in 2026?

Four layers matter, from technical to legal:

  1. robots.txt (RFC 9309). The standard way a site says which paths automated clients may fetch. Parse it per site, apply the group for your crawler's user agent or for *, and do not cache it for more than 24 hours, as the RFC recommends.
  2. AI-specific signals. Cloudflare's Content Signals Policy adds ai-train, ai-input and search values in robots.txt; more than 3.8 million domains use Cloudflare's managed robots.txt. The IETF aipref working group is drafting a standard vocabulary, still without consensus in October 2026.
  3. EU text-and-data-mining opt-outs. Under the EU copyright rules for text and data mining and Article 53 of the AI Act, providers of general-purpose AI models must respect machine-readable rights reservations. In Kneschke v. LAION (Hamburg Higher Regional Court, 10 December 2025), LAION, a non-commercial research association, relied on the scientific-research exception, and a plain-language reservation was judged not machine-readable with 2021 technology; the court said this could change, and an appeal to the Federal Court of Justice was allowed. For a commercial crawler, treat plain-language reservations in terms of use as binding today.
  4. Personal data. The EDPB's Opinion 28/2024 says legitimate interest can be a legal basis for AI training, case by case, and the CNIL published recommendations on scraping for AI in June 2025.

This is not legal advice. Read our 2026 overview of web scraping law and ask counsel for your project.

How do I check robots.txt and AI training signals before I crawl?

Check both before you queue any URL of a site. The function below fetches robots.txt through the proxy, applies RFC 9309's rules for missing (4xx) and unreachable (5xx) files, and reads a Cloudflare-style Content-Signal line. It is deliberately simple: it applies any ai-train=no in the file to your crawler.

Python: robots.txt + Content-Signal check
import urllib.robotparser
from urllib.parse import urlsplit

import requests

PROXY = "http://USERNAME:[email protected]:7777"
PROXIES = {"http": PROXY, "https": PROXY}
USER_AGENT = "ExampleDataBot/1.0 (+https://example.com/bot)"
_rules = {}


def site_rules(url):
    """Robots rules and Content-Signal values for the site of url (cache them for 24 h at most)."""
    scheme, host = urlsplit(url)[:2]
    root = "%s://%s" % (scheme, host)
    if root not in _rules:
        try:
            r = requests.get(root + "/robots.txt", proxies=PROXIES, timeout=(10, 30),
                             headers={"User-Agent": USER_AGENT})
            status, text = r.status_code, r.text
        except requests.RequestException:
            status, text = 599, ""
        if 400 <= status < 500:
            lines = []  # RFC 9309: unavailable, crawling allowed
        elif status >= 500:
            lines = ["User-agent: *", "Disallow: /"]  # unreachable: assume complete disallow
        else:
            lines = text.splitlines()
        parser = urllib.robotparser.RobotFileParser()
        parser.parse(lines)
        signals = {}
        for line in lines:
            if line.lower().startswith("content-signal:"):
                for part in line.split(":", 1)[1].split(","):
                    key, _, value = part.strip().partition("=")
                    signals[key.strip().lower()] = value.strip().lower()
        _rules[root] = (parser, signals)
    return _rules[root]


def may_collect_for_training(url):
    parser, signals = site_rules(url)
    return parser.can_fetch(USER_AGENT, url) and signals.get("ai-train") != "no"


print(may_collect_for_training("https://example.com/some/page"))

How do I handle personal data in a web corpus?

Collect less, then remove more. Under the GDPR and similar laws, public does not mean free to use: names, emails, phone numbers and profile pages are personal data wherever they appear.

  • Exclude by design. Skip profile, people-search and login-only areas, and sites whose main content is personal data.
  • Filter after collection. Detect and remove emails, phone numbers and identifiers before data reaches training.
  • Document your legal basis. The EDPB's Opinion 28/2024 and the CNIL's 2025 recommendations describe the balancing test for legitimate interest.
  • Honour objections. Keep a way to remove a site or a person from future crawls and from your stored data.

CrawlRelay's Acceptable Use Policy forbids collecting personal data in breach of the law that applies to it.

How should an AI data pipeline use the proxy?

  • One sub-user per crawl with a traffic cap, so a runaway job cannot drain the plan and each dataset has its own usage record.
  • Rotate for breadth. Independent pages leave through different exits; use sticky sessions only for paginated flows.
  • Cap per host. Two to four requests in flight per site, more only for large sites that answer fast. See the concurrency guide.
  • Fetch once. Deduplicate URLs, use If-Modified-Since on re-crawls, and store raw responses (for example as WARC) so you never pay twice for the same page.
  • Identify your crawler. A clear user agent with a contact URL lets site owners reach you instead of blocking you.

How much do proxies for AI training data cost?

From 50 GB to 1 TB, CrawlRelay residential traffic costs $0.50/GB, as of October 2026, and never expires. For multi-terabyte corpora, buy several 1 TB plans at the same rate.

Pipeline

100 GB

$50

$0.50/GB

  • ≈2 million HTML pages
  • Recurring data pipelines
  • Traffic does not expire
Choose 100 GB

Corpus

500 GB

$250

$0.50/GB

  • ≈10 million HTML pages
  • Multi-site corpora
  • Traffic does not expire
Choose 500 GB

Scale

1 TB

$500

$0.50/GB

  • ≈20 million HTML pages
  • AI training corpora; buy several for more
  • Traffic does not expire
Choose 1 TB

In every plan: Protocols: HTTP, HTTPS, SOCKS5 · Targeting: Country, city; US state and ZIP; ASN · Sessions: Rotating, or sticky up to 30 min · Traffic expiry: Does not expire

Prices in USD, as of 2026-10-13.

AI training data proxies: questions

It depends on the country, the content and how you collect it, and several cases are still open in October 2026. In the EU, text-and-data-mining exceptions apply unless the rights holder reserved them in a machine-readable way. Personal data needs a legal basis. This is not legal advice; read our 2026 overview.

Should my AI crawler use GPTBot's or CCBot's user agent?

No. Those names belong to OpenAI and Common Crawl, and sites use them to decide what those specific crawlers may fetch. Use your own user agent with a contact URL, and apply the robots.txt rules that match it or the * group. Impersonating another crawler breaks most sites' terms and our Acceptable Use Policy.

How many GB do I need to scrape one million pages?

About 30 to 60 GB for compressed HTML only, and around 2 TB if you render every page in a browser with images. At CrawlRelay, 50 GB costs $25. Measure 1,000 of your real pages before you buy, because page weight varies a lot by site.

Why use residential proxies instead of datacenter IPs for AI data?

Some sites serve different content by location, and residential exits reach the public edition that local visitors see. If a site filters hosting ranges to keep automated traffic out, a residential IP does not make that access permitted. For sites that welcome crawlers or offer dumps and APIs, you may not need a proxy at all; use residential traffic where it changes the result.

Does residential traffic expire if my crawl pauses?

No. Prepaid residential and rotating-mobile traffic never expires: unused GB stay on your account until you use them. A pipeline that pauses for weeks keeps its remaining gigabytes, which matters for training runs that crawl in bursts.

Sources (8)
  1. RFC 9309: Robots Exclusion Protocol — IETF (2022-09)
  2. Content Signals Policy — Cloudflare (2025-09-24)
  3. The agentic web (crawler traffic, June 2026) — Cloudflare (2026-09-30)
  4. Introducing pay per crawl — Cloudflare (2025-07-01)
  5. IETF AI Preferences (aipref) working group — IETF (2026-09-14)
  6. Higher Regional Court Hamburg confirms AI training was permitted (Kneschke v. LAION) — Bird & Bird (2025-12)
  7. EDPB weighs in on key questions on personal data in AI models — IAPP (2024-12-18)
  8. Web Almanac 2025: Page Weight — HTTP Archive (2026-01-15)

Build your corpus on non-expiring traffic

$0.50/GB from 50 GB to 1 TB.

From $0.50/GB · no KYC

Get started