Scraping Indeed: only one combination worked

Indeed · measured · dated

Scraping Indeed: only one combination worked

Indeed sits behind Cloudflare. A plain request was refused from every source we tried, including three residential proxy networks. A headless browser from a datacenter address was refused too. The job cards arrived only when a real browser ran through a residential address, and that is the whole finding.

Latest run

Tested
10 Sep 2026
Targets
9real sites
Providers
3+ datacenter baseline
Baseline pass rate
15 / 45no proxy

Quick answer

Browser plus residential address, or nothing

Five requests per source per method to an Indeed job search page. A pass requires the real job cards in the response.

Last tested 10 Sep 2026 · next run Oct 2026
SourcePlain requests (curl)Headless ChromiumFrom
No proxy (datacenter)0 / 5HTTP 4030 / 5HTTP 403$0
0 / 5HTTP 4034 / 5$6/GBSee Oxylabs pricing
not testednot tested$8.4/GBSee Bright Data pricing
0 / 5HTTP 4034 / 5$2/GBSee Decodo pricing
0 / 5HTTP 4035 / 5$5/GBSee SOAX pricing

Five requests per source per method against Indeed, measured 10 Sep 2026 (plain) and 10 Sep 2026 (browser). The reason shown is what the site returned.

What happened

Neither half works alone

Plain requests: refused everywhere

Status 403 from the datacenter address and from all three residential networks. Cloudflare’s challenge is served as a page, and a client with no JavaScript engine can never complete it. The address type made no difference at this stage, which is why a proxy alone does not solve this target.

Browser from a datacenter address: refused

The same headless Chromium that succeeded through a residential proxy was refused five times out of five when it came from our hosting-company address. The challenge was offered but the result was not accepted.

Browser through a residential address: it opened

The challenge resolved on its own within a few seconds and the job cards arrived. One provider passed all five attempts and two passed four of five. No CAPTCHA solving service, no stealth plugin, no fingerprint patching.

Why the pair matters

Cloudflare weighs several signals together. A trusted address without a JavaScript engine cannot pass the test; an untrusted address that passes the test is still refused. Only both together clear the bar, and that is the clearest argument in our whole test for paying for a residential proxy on top of running a browser.

If you are building this

What we would do to collect Indeed pages

  • Budget for both, or do not start. A residential proxy alone will not work and a browser alone will not work. The cost is the proxy traffic plus the CPU to run browsers, and on this target that is the price of entry.
  • Count the traffic, not the requests. A browser moved roughly ten times the bytes of a plain request in our runs. On per-gigabyte pricing that is the number that decides your bill, so block images, fonts and media as we did.
  • Expect misses and retry through a new address. Two of the three providers passed four attempts out of five. A failed challenge is normal; treat it as a retry with a fresh exit address rather than an error.
  • Give the challenge time. Our runs waited up to fifteen seconds after load for either the job cards or the challenge to resolve. A scraper that gives up after two seconds will record a block that was about to become a page.
  • Watch for the silent failure. Cloudflare can return a full-size page with no job cards in it. Check for the content you need, never for status 200; that rule is why our numbers differ from comparisons that count responses.

Method

How this was measured

The same script and server as every other number on this site.

Raw results
5 requestsper target per provider, each from a different exit IP. Pass rate is how many of the 5 brought back the real page.
9 targetsthe sites people actually scrape: retail, real estate, jobs, search. Picked for their bot defences.
Content, not statusa 200 with no results is a failure. Every response is checked for a marker only the real page has.
Monthlyrerun on the same day each month from the same server. Old results stay published, dated.

The target is an Indeed job search page, requested five times per source. Plain requests carry the headers of a current desktop Chrome and no JavaScript engine. Browser requests use a headless Chromium through the same proxy, each in a fresh browser context so no cookie or challenge result carries over, waiting up to fifteen seconds for job cards or for the challenge to resolve. No CAPTCHA solving service and no anti-detection plugins were used. The two runs were made on different days, which is stated in the table.

Providers

What the working combination costs

List prices for the providers whose addresses cleared the challenge. Full results across all nine targets are on the front page.

ProviderPoolLocationsTargetingSessionsTrialEntry price
100M+195 countriesCity · ASNRotating and stickyNone on self-service$6/GBStarter 5 GB, $30/mo, cancel any timeSee Oxylabs pricing
72M+195 countriesCity · ASN · ZIPRotating and stickyFree trial for verified businesses$8.4/GBPay as you go, no commitmentSee Bright Data pricing
115M+195+ locationsCity · ZIP · ASNRotating and sticky (minutes to days)3-day trial, 100 MB$2/GBPay as you go $4/GB, plans from $2/GBSee Decodo pricing
155M+195+ locationsCity · ISPRotating and sticky, custom length3-day trial, 400 MB, $1.99$5/GBPay as you go $5/GB, $3/GB on $200/mo planSee SOAX pricing

We earn a commission if you buy through the pricing links. It does not change the numbers: the test script, the target list and the raw results are public, and providers do not see results before you do.

Best in our testOxylabs · from $6/GBSee pricing