Bright Data vs Oxylabs pricing: success-based billing vs bandwidth billing—what’s cheaper if our block rate is high?
RAG Retrieval & Web Search APIs

Bright Data vs Oxylabs pricing: success-based billing vs bandwidth billing—what’s cheaper if our block rate is high?

7 min read

Quick Answer: If your block rate is high, success-based billing (like Bright Data’s “pay only for successful delivery”) is almost always cheaper and more predictable than bandwidth-based pricing. With bandwidth billing, you pay for every GB used—including retries, blocked attempts, and failed sessions—so your effective cost per usable record climbs fast as blocks increase.

Why This Matters

When you’re scraping at scale—or powering AI agents that constantly hit public websites—your biggest cost driver isn’t just list price per GB or per IP. It’s how your pricing model behaves under failure: CAPTCHAs, blocks, unexpected layout changes, and geo-specific throttling.

If you’re on a pure bandwidth plan and your block rate spikes, you keep paying for traffic that never turns into usable data. With success-based pricing, failed attempts are Bright Data’s problem, not an unpredictable line item on your invoice.

Key Benefits:

  • Cost predictability under stress: You know your “price per successful result” up front, even when sites become more aggressive with blocks.
  • Incentives aligned with reliability: Success-based billing pushes the provider to optimize unblocking, retries, and routing—not you.
  • Less engineering firefighting: You spend less time building proxy waterfalls, tuning retry logic, and explaining budget overruns when block rates jump.

Core Concepts & Key Points

ConceptDefinitionWhy it's important
Success-based billingA pricing model where you pay only for successfully delivered results (e.g., per 1K records or per successful request), not for failed attempts or discarded bandwidth.Shields you from the cost of high block rates, retries, and errors—critical for scraping in adversarial environments.
Bandwidth-based billingA model (common with proxy networks like Oxylabs) where you pay per GB of traffic, regardless of whether requests are blocked, time out, or fail to return usable data.Looks cheap at low block rates, but effective cost per usable record rises sharply as blocks and retries increase.
Effective cost per result (ECPR)Total monthly spend divided by the number of usable records you actually ingest into your pipeline.This is the metric that truly matters for your budget and ROI—pricing models should be compared on ECPR, not list price alone.

How It Works (Step-by-Step)

At a high block rate, the question isn’t “who is cheaper on paper?” but “who charges me for waste?” Here’s how to think about it in practice.

  1. Define your target: usable records, not GBs

    • For most teams, the goal is “X million structured records per month,” not “Y TB of traffic.”
    • With Bright Data’s success-based models (e.g., SERP API priced per 1K results), your unit is the record or successful response, delivered in JSON/NDJSON/CSV—not bytes.
    • With Oxylabs-style bandwidth billing, your unit is GB, regardless of how many of those bytes end up in your data warehouse.
  2. Model cost under a realistic block rate

    Let’s simplify with a concrete example:

    • You need 1,000,000 usable records per month.
    • Your environment is aggressive: 40–60% of first attempts get blocked, triggering retries, CAPTCHAs, and IP rotations.

    Success-based scenario (Bright Data-style):

    • Pricing (illustrative, based on SERP API reference):
      • $1.5 / 1K results on pay-as-you-go
      • $1.3 / 1K results at ~$499/mo
      • $1.1 / 1K results at ~$999/mo
    • For 1,000,000 results at $1.3 / 1K:
      • Cost = 1,000 x $1.3 = $1,300
      • Whether each result took 1 request or 5 attempts with CAPTCHAs is abstracted away; Bright Data absorbs the unblocking overhead.

    Bandwidth-based scenario (Oxylabs-style):

    • You pay per GB, not per successful result.
    • If block rate is high, you send:
      • More initial attempts per URL
      • More retries per block
      • More overhead traffic: browser fingerprints, JS rendering, larger responses
    • Even if advertised GB price looks competitive, your effective GB consumption per usable record rises with each block and retry.

    Result: Any time your block rate is high or unstable, your effective cost per 1M usable records under bandwidth billing can quietly double or triple versus what you expected, because you’re footing the bill for failed traffic.

  3. Translate it into Effective Cost Per Result (ECPR)

    The clean way to compare Bright Data vs Oxylabs is to normalize on ECPR:

    • ECPR = Total Spend / Usable Records

    For success-based billing:

    • ECPR ≈ List price per 1K results, adjusted for your volume tier.
    • Blocks, CAPTCHAs, and retries are internalized in that number.

    For bandwidth-based billing:

    • ECPR = (GB price × Total GB, including failures) / Usable Records.
    • If blocks force you from 1 to 3 attempts per URL, ECPR can easily 2–3x with no change in nominal GB pricing.

    In a high-block environment, success-based ECPR tends to stay flat. Bandwidth-based ECPR tends to drift upward over time as sites become harder to crawl.

Common Mistakes to Avoid

  • Focusing only on list price per GB or per 1K results:

    Comparing “$X/GB vs $1.3 per 1K results” without modeling your actual block rate is misleading. Always model ECPR at realistic error rates, not theoretical perfect conditions.

  • Underestimating engineering and ops cost:

    With bandwidth-based billing, you usually need to:

    • Build and maintain proxy waterfalls
    • Handle IP rotation, browser fingerprinting, user agents, cookies, and retries
    • Implement your own CAPTCHA solving and JS rendering stack

    Those costs are real—even if they don’t show up on the vendor invoice. Under success-based APIs, a large portion of that unblocking stack is already baked into the price.

Real-World Example

When I was running public-web pipelines for a global pricing team, we had two modes:

  1. DIY proxy + bandwidth billing (similar to an Oxylabs configuration)
  2. Success-based APIs with unblocking included (similar to Bright Data’s SERP API / Web Scraper API with success billing)

On paper, the bandwidth plan looked cheaper per GB. In practice, our environment was hostile:

  • Dynamic, JS-heavy sites
  • Aggressive bot mitigation
  • Frequent layout changes and CAPTCHAs

As a result:

  • Our bandwidth usage per usable record kept climbing:
    • Multiple retries per URL
    • Extra JS rendering overhead
    • Constant IP rotation and fingerprint tweaks
  • Finance saw a growing gap between the monthly invoice and the actual number of records we ingested into Snowflake.
  • Every time a site hardened its defenses, we had to:
    • Roll out scrambling mitigations under time pressure
    • Accept a temporary drop in success rate
    • Absorb the cost of wasted GB during the firefight

When we flipped key workloads to a success-based, “pay only for successful delivery” model:

  • Our monthly spend became directly proportional to usable data, not experimentation and failures.
  • Our ops time dropped sharply—no chasing proxy pool regressions every time a site introduced a new bot-detection nuance.
  • For high-block domains, our ECPR ended up lower than the “cheaper” bandwidth plan once we included retries, wasted traffic, and engineering time.

Pro Tip: Run a 2–4 week A/B test on one high-block domain:

  • Route 50% of traffic through a success-based Bright Data endpoint (e.g., Web Scraper API or SERP API).
  • Route 50% through your existing bandwidth-based proxies.
    Track ECPR (total vendor spend / ingested records), engineering hours spent on firefighting, and time-to-fix when blocks spike. Decide based on those numbers—not list price alone.

Summary

If your block rate is high, success-based billing is usually cheaper and almost always more predictable than bandwidth-based proxy pricing. With Bright Data’s success-based model, you pay for successful results—delivered in structured formats like JSON, NDJSON, or CSV—rather than paying for every failed attempt, retry, or CAPTCHAs you hit.

Bandwidth billing can make sense for low-friction targets with low block rates and a strong in-house unblocking stack. But as soon as you’re scraping dynamic, adversarial public websites at scale, your real metric should be effective cost per usable record—and that’s where success-based pricing tends to win.

Next Step

Get Started