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.
| Source | Plain requests (curl) | Headless Chromium | From | |
|---|---|---|---|---|
| No proxy (datacenter) | 0 / 5HTTP 999 | 0 / 5HTTP 999 | $0 | |
![]() | 0 / 5HTTP 404 | 0 / 5HTTP 404 | $6/GB | See Oxylabs pricing |
![]() | not tested | not tested | $8.4/GB | See Bright Data pricing |
![]() | 0 / 5HTTP 404 | 0 / 5HTTP 404 | $2/GB | See Decodo pricing |
![]() | 0 / 5HTTP 404 | 0 / 5HTTP 404 | $5/GB | See 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
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.
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.
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.
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.
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.
| Provider | Pool | Locations | Targeting | Sessions | Trial | Entry price | |
|---|---|---|---|---|---|---|---|
![]() | 100M+ | 195 countries | City · ASN | Rotating and sticky | None on self-service | $6/GBStarter 5 GB, $30/mo, cancel any time | See Oxylabs pricing |
![]() | 72M+ | 195 countries | City · ASN · ZIP | Rotating and sticky | Free trial for verified businesses | $8.4/GBPay as you go, no commitment | See Bright Data pricing |
![]() | 115M+ | 195+ locations | City · ZIP · ASN | Rotating and sticky (minutes to days) | 3-day trial, 100 MB | $2/GBPay as you go $4/GB, plans from $2/GB | See Decodo pricing |
![]() | 155M+ | 195+ locations | City · ISP | Rotating and sticky, custom length | 3-day trial, 400 MB, $1.99 | $5/GBPay as you go $5/GB, $3/GB on $200/mo plan | See 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.




