Scraping LinkedIn: nothing we tested got in

LinkedIn · measured · dated

Scraping LinkedIn: nothing we tested got in

We sent the same requests to a public LinkedIn company page from a datacenter address, from three residential proxy networks, and from a headless browser through those same networks. Forty-five attempts, zero successes. This page exists because the honest result is worth more than a recommendation we cannot support.

Latest run

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

Quick answer

A proxy does not open LinkedIn

Five requests per source per method to a public company page, the kind a search engine indexes and anyone can read without logging in. A pass requires the real profile markup in the response.

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

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

What the responses were

Two refusals, and what each one means

999 from the datacenter address

LinkedIn’s own non-standard status code, used when it has decided the client is automated. It is not a rate limit and it does not clear by waiting. It arrived on every request from our hosting-company address.

404 through residential proxies

A public page that exists returned “not found”. This is the more interesting answer: LinkedIn serves a decoy to clients it does not trust rather than telling them they are blocked. A scraper that only checks the status code will record the page as gone.

The browser did not change it

A headless Chromium through the same residential networks got the same 404. On Zillow the browser made things worse and on Indeed it made them work; here it made no difference at all, which points at a decision made before any JavaScript runs.

What that suggests

LinkedIn is not filtering on address reputation, or a residential address would have helped. The signals available before the page is served are the TLS handshake, the header order and the absence of a session, and those are identical whether the request comes from a data centre or a home.

What this means if you are buying

Do not buy a proxy to scrape LinkedIn

We earn a commission when someone buys through this site, and this is the page where we tell you not to.

  • No provider on this site solves this target. Every one of them failed every attempt. If a comparison page tells you that provider X unlocks LinkedIn, ask for the measurement and the date.
  • A residential address is the wrong tool here. It is the right tool when the block is based on where the request comes from, which is the case on Zillow and not the case here. Buying one for this target is money spent on the wrong problem.
  • The official route exists and is boring. LinkedIn sells API access through its partner programmes, and for recruiting and sales data there are licensed datasets. Slower to set up, but it is the only route that does not break when they change a header check.
  • Consider whether you need LinkedIn at all. Company registries, job boards and company websites carry much of the same information without a fight. Our nine-target test shows which of those are collectable and at what cost.
  • If you scrape it anyway, know the terms. LinkedIn’s user agreement prohibits automated collection, and it has litigated the point. Public availability and permission are different things. This page is a measurement, not legal advice.

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 a public LinkedIn company 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 context. No login, no cookies and no session are used, because a logged-in scrape is a different activity with different rules. Status 404 is counted as a block on this target rather than a missing page, because the page loads normally in an ordinary browser; that decision is recorded in the test configuration so it can be checked.

Where proxies do help

The targets that did open

The same providers, the same week, different sites. Prices are list prices.

Full results
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