The Decodo vs Bright Data decision used to be a budget call.

On July 7, 2026, Bright Data closed new residential access to anyone without a registered company and a corporate email.

That one rule settles it for a lot of readers. Solo developers can't get Bright Data residential IPs at all, so price never comes up.

For teams that do qualify, the gap is still wide. 100 GB a month costs $275 on Decodo and at least $700 on Bright Data at list rates.

Disclosure: Roundproxies sells residential proxies, so we compete with both. Every number below comes from each provider's public pricing and docs as of October 2026, or from Proxyway's 2026 benchmark.

If you're weighing a budget provider instead, our Decodo vs IPRoyal comparison covers that pairing.

Decodo vs Bright Data: the core difference

The main difference between Decodo and Bright Data is access and price. Decodo sells its 115M-IP residential pool self-serve to individuals and teams from $4/GB, while Bright Data gates its 400M-IP pool behind company-only KYC at $8/GB list. For solo developers and mid-size scrapers, Decodo is the better choice. For procurement-heavy enterprises, go with Bright Data.

Both sell residential, ISP, and datacenter proxies with targeting down to ZIP code.

The differences you'll feel are who can buy, what a gigabyte costs at your volume, and how long a sticky IP survives an idle scraper.

Side-by-side comparison

Decodo wins on price and access; Bright Data wins on advertised pool size and session idle tolerance.

Dimension Decodo Bright Data
Residential pool (claimed) 115M+ IPs, 195+ locations 400M+ "monthly" IPs, 195 countries
Proxy types Residential, ISP, mobile, datacenter Residential, ISP, datacenter (mobile ended April 2026)
Residential entry price $4/GB pay-as-you-go $8/GB pay-as-you-go ($4 for 3 months with coupon)
Lowest published rate $2/GB on the 1 TB, $2,000 plan $5/GB on the $1,999 plan; custom past 1 TB
Who can buy residential Individuals and companies Verified registered companies only
Sticky sessions 1 to 1,440 min, default 10 Held while active, 5-min idle timeout
Session ID format Any string Letters and digits only
Geo-targeting Continent, country, state, city, ZIP, ASN Country, state, city, ZIP, ASN
SOCKS5 Yes, via gate.decodo.com:7000 Through Proxy Manager
Trial 3 days, 100 MB, or a 14-day refund Free trial, but no residential before KYC

Pool sizes are each provider's own claim.

Bright Data counts "monthly" IPs, meaning unique addresses seen over a month, which is a different thing from how many are online when your job runs.

Bright Data now sells residential IPs to verified companies only

Since July 7, 2026, every new Bright Data residential zone needs a human-reviewed KYC approval, and only registered companies qualify.

Bright Data's network-access docs are blunt about it. Accounts on Gmail, Outlook, or iCloud addresses aren't eligible, and personal or hobby projects aren't approved.

You also can't start KYC from trial or playground mode. You add real funds, submit a company registration document, and wait; the docs promise a status update within 48 hours.

The compliance team may ask for a government ID or a short video call. If they ask, it's mandatory.

Approval is scoped to the use case you described. Requests to domains outside it come back as Access denied with the blocked category.

Zones created on or before July 7 keep working, so existing customers won't notice. New buyers will. Without KYC, you're limited to Bright Data's ISP and datacenter networks.

Decodo takes the opposite stance. Its license covers research, personal, and commercial use.

It runs an ID check (through Stripe Identity, per its privacy policy) only when it flags suspicious activity.

That's no free pass. Some Decodo reviews on Trustpilot describe identity checks that arrived after payment, so expect one if your traffic looks odd.

If you don't have a registered company, the comparison ends here. Pick Decodo or another self-serve provider.

Which is cheaper, Decodo or Bright Data?

Decodo is cheaper at every self-serve volume, by roughly 2x to 2.5x at list prices.

Decodo's residential plans run from $3.75/GB on 3 GB down to $2.75/GB on 100 GB. Enterprise tiers fall to $2/GB at 1 TB for $2,000 a month. Pay-as-you-go is $4/GB.

Bright Data lists $8/GB pay-as-you-go, then $7, $6, and $5/GB on its $499, $999, and $1,999 monthly plans.

Those plans are minimum commitments; usage bills against your balance at the plan rate.

The pricing page shows half those rates, because the RESIGB50 coupon cuts 50% for three months. The plan cards also show coupon-doubled traffic: 141, 332, and 798 GB.

At list rates, my math puts those plans at roughly 71, 166, and 400 GB. Budget for month four, when the coupon ends.

Monthly traffic Decodo Bright Data, list Bright Data, first 3 months
10 GB $35 (10 GB plan) $80 (pay-as-you-go) $40
100 GB $275 (100 GB plan) $700 ($499 plan at $7/GB, topped up) $400 (pay-as-you-go)
1 TB $2,000 (enterprise plan) Custom quote Custom quote

Both meters count more than the HTML you keep.

Bright Data bills request and response headers plus both bodies. Decodo bills uploads and downloads, and its docs say 403, 404, and 503 responses count.

So a blocked request costs money on either network. That's why the benchmark below prices per good page instead of per gigabyte.

Leftover traffic expires on both, and Bright Data's commitment resets on the 1st of each month.

Decodo's subscription traffic is gone at renewal, but its pay-as-you-go gigabytes stay valid for 12 months.

Two Decodo quirks: you can't run pay-as-you-go and a subscription at the same time, and the 14-day refund doesn't apply if you used the free trial.

Pool size: why 400M vs 115M settles nothing

Advertised pool size doesn't predict your success rate, because neither number tells you how many clean IPs you'll reach in your target country today.

Bright Data's 400M is a monthly count. Decodo's 115M is also its own claim. our own 2026 Proxy Market Research measured what pools return instead.

In that test, Decodo's US pool returned 961,218 unique IPs from 1.2 million requests, the most of 13 providers. Its global infrastructure success rate was 99.92% at 0.53 seconds.

Bright Data didn't take part in the 2026 report. Any "2026" success rate for Bright Data, including the 98.96% on Decodo's own comparison page, doesn't come from that year's test.

On real targets, the gap between decent networks shrinks. Proxyway's median success rate against Amazon, Google, and Instagram was 74.43%, with Decodo among the providers near 80%.

Use benchmarks to build a shortlist. The numbers that decide the purchase are yours, and the script below collects them.

For a wider checklist, see how to test proxies before you buy.

Sticky sessions behave differently on each network

Decodo sessions are time-boxed and rotate after about 60 seconds of inactivity; Bright Data sessions hold while traffic flows, with a 5-minute idle timeout.

On Decodo, you add session-<id> and sessionduration-<minutes> to the username. Duration runs from 1 to 1,440 minutes and defaults to 10.

Proxyway's report lists Decodo as auto-rotating after 60 seconds idle. A scraper that waits 90 seconds between checkout steps lands on a new IP mid-flow.

On Bright Data, you add -session-<id>. The IP holds while requests keep coming. After 5 idle minutes, or if any other username parameter changes, you get a random peer.

Bright Data also supports -const. With it, a lost peer returns HTTP 502 instead of a silent IP swap, which is what you want for login flows.

The session ID is the trap. Bright Data's docs say IDs must be alphanumeric, and a hyphen or asterisk causes errors. Decodo accepts any string.

These two builders produce working URLs for each network. Requests takes either one through its proxies argument unchanged.

from urllib.parse import quote

def decodo_url(user, pw, country=None, city=None, session=None, minutes=10):
    parts = [f"user-{user}"]
    if country:
        parts.append(f"country-{country}")
    if city:
        parts.append(f"city-{city}")  # underscores, e.g. new_york
    if session:
        parts += [f"session-{session}", f"sessionduration-{minutes}"]  # 1-1440
    return f"http://{quote('-'.join(parts))}:{quote(pw, safe='')}@gate.decodo.com:7000"

def brightdata_url(customer, zone, pw, country=None, session=None):
    parts = [f"brd-customer-{customer}", f"zone-{zone}"]
    if country:
        parts.append(f"country-{country}")
    if session:
        parts.append(f"session-{session}")  # letters and digits only
    return f"http://{quote('-'.join(parts))}:{quote(pw, safe='')}@brd.superproxy.io:33335"

The password gets URL-encoded, so an @ or : in it won't break the proxy string.

Copy Bright Data's customer ID, zone name, and port from your zone's access details; some newer doc pages show port 44445.

This check shows when each network drops your session. The idle gaps straddle Decodo's 60-second and Bright Data's 5-minute thresholds.

import re
import secrets
import time

import requests

def session_id(prefix="job"):
    # Bright Data rejects "-" and other symbols in session IDs. Decodo doesn't care.
    return re.sub(r"[^A-Za-z0-9]", "", prefix) + secrets.token_hex(4)

def sticky_check(proxy_url, idle_gaps=(0, 30, 90, 330)):
    proxies = {"http": proxy_url, "https": proxy_url}
    ips = []
    for gap in idle_gaps:
        time.sleep(gap)  # simulate a scraper that pauses between steps
        r = requests.get("https://api.ipify.org", proxies=proxies, timeout=30)
        ips.append(r.text.strip())
        print(f"idle {gap:>3}s -> {ips[-1]}")
    return len(set(ips)) == 1

Based on the documented thresholds, Decodo should change IP at the 90-second gap and Bright Data at 330 seconds.

Residential peers also drop offline on their own, so run it a few times before drawing conclusions.

If sticky vs rotating sessions are new to you, start with how rotating proxies work.

Benchmark Decodo vs Bright Data on your own targets

Run the same URL list through both networks and compare cost per 1,000 good pages, since both bill blocked responses.

Decodo's trial gives you 100 MB for three days. Bright Data's residential leg needs KYC first, which means a funded account, so plan that run for your first paid week.

Put 200 to 500 URLs from your real target in targets.txt. Mix easy pages with the ones that block you today.

It's the same idea as Proxyway's open-source performance-test script, pointed at your targets instead of a CDN.

The runner counts a page as good only when it returns 200 and contains a marker you choose. Every response body counts toward traffic, blocked ones included.

import statistics
import time

import requests

def run(proxy_url, urls, marker=None):
    proxies = {"http": proxy_url, "https": proxy_url}
    ok, latencies, body_bytes = 0, [], 0
    for url in urls:
        start = time.perf_counter()
        try:
            r = requests.get(url, proxies=proxies, timeout=(10, 30))
        except requests.RequestException:
            continue  # connection failures count as misses
        body_bytes += len(r.content)  # blocked pages cost bytes too
        if r.status_code == 200 and (marker is None or marker in r.text):
            ok += 1
            latencies.append(time.perf_counter() - start)
    p50 = statistics.median(latencies) if latencies else float("nan")
    return {"ok": ok, "total": len(urls), "p50": p50, "gb": body_bytes / 1e9}

Treat len(r.content) as a rough figure. It measures decompressed bodies and skips headers and TLS overhead, which both providers meter, so reconcile it against each dashboard after the run.

This driver runs both networks and prints the number that decides it: dollars per 1,000 pages you can use.

from builders import brightdata_url, decodo_url
from harness import run

urls = [line.strip() for line in open("targets.txt") if line.strip()]
networks = {
    "decodo": (decodo_url("USER", "PASS", country="us"), 3.25),  # your plan's $/GB
    "brightdata": (brightdata_url("hl_xxx", "resi1", "PASS", country="us"), 7.00),
}
for name, (proxy, usd_per_gb) in networks.items():
    res = run(proxy, urls, marker="</html>")
    spend = res["gb"] * usd_per_gb
    per_1k = spend / res["ok"] * 1000 if res["ok"] else float("inf")
    print(f"{name:<11} {res['ok']}/{res['total']} ok  "
          f"p50 {res['p50']:.2f}s  ${per_1k:.2f} per 1k good pages")

Save the first two blocks as builders.py and harness.py. Use the rate you'll pay in month four, after the coupon ends.

The math is less dramatic than vendor pages suggest.

With similar page weights, a $7/GB network at 95% success only beats a $3.25/GB network that succeeds on fewer than 44% of pages.

What neither proxy network fixes

Neither provider rescues a scraper that gets flagged for its TLS fingerprint or headless browser, because the IP is one of several signals anti-bot systems score.

If both networks give you low success on the same URLs, stop comparing proxies.

Check headers, TLS, and browser fingerprints first; our guide on why your web scraper gets blocked goes through each signal.

Both companies sell unblocker and scraping APIs to cover that gap. I left them out on purpose. This comparison covers raw proxies you drive with your own code.

Proxy types, targeting, and protocols

Decodo now has the broader proxy lineup, since Bright Data dropped mobile proxies in April 2026.

Proxyway reported the shutdown, and Bright Data's proxy menu now lists residential, ISP, and datacenter only. Comparisons that still credit Bright Data with mobile carrier targeting are out of date.

Decodo still sells mobile proxies, with 10M+ IPs across 160+ locations according to its product pages.

Residential targeting is close. Both go down to city, ZIP, and ASN. Decodo adds continent-level selection; Bright Data's pricing page lists country through ZIP targeting as free.

For SOCKS5, Decodo works only through gate.decodo.com:7000, with location set in the username. Country endpoints like us.decodo.com don't accept SOCKS5. Bright Data lists SOCKS5 support through its Proxy Manager.

When Decodo wins

Decodo wins for anyone without a registered company, and for most teams buying under a few hundred gigabytes a month.

  • You're a solo developer or freelancer. Bright Data won't approve personal projects for residential access.
  • You spend under $1,000 a month. At 100 GB, $275 against $700 isn't close, and the gap holds at every published tier.
  • Your jobs are bursty. Pay-as-you-go traffic stays valid for 12 months, so a quiet month doesn't burn money.
  • You need mobile IPs. Bright Data doesn't sell them anymore.
  • You want to test before paying. The 3-day trial covers residential without paperwork.

When Bright Data wins

Bright Data wins when long idle sessions, vendor paperwork, or an existing KYC approval matter more than the per-GB rate.

  • Your flows sit idle between steps. A 5-minute idle window beats Decodo's 60 seconds for human-paced, multi-step sessions.
  • You want sticky sessions that fail loudly. The -const flag returns a 502 instead of quietly swapping your IP.
  • Your security team has a checklist. Bright Data publishes ISO 27001, SOC, and GDPR material. Decodo holds ISO/IEC 27001:2022 too, so compare against the exact documents your reviewer wants.
  • You already passed KYC. Zones created before July 7 keep working with no new paperwork.
  • You'll spend $1,999 a month or more. Past 1 TB, Bright Data prices per GB through sales, and a committed contract changes the math in the tables above.

The verdict

Pick Decodo unless you have a specific reason to pick Bright Data.

For most scraping jobs, Decodo posted the second-best residential success rate in Proxyway's 2026 test, costs well under half of Bright Data's list price, and needs no company paperwork.

Bright Data earns its premium in a narrower case: a registered company, sessions that idle for minutes, and a budget that can absorb roughly 2.5x the per-GB rate.

If neither fits, our list of Bright Data alternatives covers more self-serve options.

FAQ

Is Decodo the same as Smartproxy?

Yes. Smartproxy rebranded to Decodo in April 2025. Existing Smartproxy accounts and endpoints kept working, and decodo.com is now the official domain.

Can I use Bright Data residential proxies as an individual?

No. New Bright Data residential zones created after July 7, 2026 require KYC approval, and only registered companies qualify. Individuals can still use its ISP and datacenter proxies without KYC.

Is Decodo cheaper than Bright Data?

Yes, at every published self-serve tier. Decodo charges $275 for 100 GB a month; Bright Data lists $8/GB pay-as-you-go and $7/GB on its $499 plan. Its 50% coupon lasts three months.

Does Bright Data still sell mobile proxies?

No. Proxyway reported that Bright Data discontinued mobile proxies in April 2026, and its proxy menu now lists residential, ISP, and datacenter only. Decodo still sells mobile proxies.

Which is faster, Decodo or Bright Data?

There's no current head-to-head result. Decodo averaged 0.53 seconds and 99.92% success in Proxyway's 2026 benchmark, but Bright Data didn't take part. Test both on your own URLs.

Wrapping up

Decodo is the default pick for self-serve residential scraping. Bright Data residential is now a company-only purchase.

Run the benchmark against 200 of your own URLs before you commit to a plan on either side. Price the result per 1,000 good pages, then decide.