TL;DR

LinkedIn's User Agreement bars scraping tools, public data included, and says it applies to account holders and visitors alike. LinkedIn's Sales Navigator help page says one search shows at most 2,500 lead results, and the "50 profiles a day" figure comes from scraping vendors, not from LinkedIn. hiQ v. LinkedIn ended in December 2022 with a $500,000 consent judgment against the scraper. A public profile page holds no email address, so the address comes from a separate lookup step.

LinkedIn scraping is software that copies profile, company or search data from LinkedIn into rows.

A plain request to a public LinkedIn profile, made without logging in, returns a real page. In a test of four well-known profiles, all four returned HTTP 200. The Bill Gates page held his name, headline, location, About section, three dated roles, two schools and a follower count. That was about 29,000 characters of visible text.

A search of the raw HTML for anything shaped like an email address found nothing in any of the four pages. The "Contact Info" link sat behind a sign-in panel. A request for a people search URL went the other way. It redirected to the login page, and so did a request for a company's people page.

Those results cover most of how LinkedIn scraping works: public pages are readable, contact details are not on them, and search needs a login. What is left is whose session sends the request, how many results come back, and which rulebook you accept. This guide takes them in that order.

What a scrape can read on each kind of LinkedIn page

What a tool can read depends on the page and on whether a login is involved. The table sums up what the test and LinkedIn's help pages show.

PageHow a scraper reaches itWhat it returnsCap LinkedIn states
Public profileA logged-out request worked in the testHeader block, dated roles, schools. No emailNo number published for the daily profile-view limit
Free LinkedIn people searchNeeds a login (redirect in the test)Names and profiles within your network250 results or 25 pages per search
Sales Navigator lead searchNeeds a Sales Navigator login, or a tool's account-less modeFiltered lead lists2,500 results across 100 pages
Sales Navigator account searchSame as aboveFiltered company lists1,000 results across 40 pages
Email addressNot on the pageNothing in the public HTMLDirect connections see it by default; each member can widen or hide it

For LinkedIn data scraping, the split sets what each kind of tool can reach. A tool that reads public URLs to scrape LinkedIn profiles gets the top block of each page. It also needs a list of profile URLs before it can start. A tool that reads search results needs a login, because search sits behind one.

Public pages are also uneven. A separate run of the same kind of test got HTTP 999 refusals on two of four requests. Expect different results from other networks and on other days.

To repeat the test, load one public profile while logged out and save the page. Then search the saved file for anything shaped like an email address.

grep -o -E '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[a-z]{2,}' profile.html

The pattern can match LinkedIn's own tracking and image strings. Filter those out before you read the result. The test above found no address once they were removed.

Whose session sends the request

Whether a request carries a session decides what a tool can read, whose account takes the throttle, and which rules reach you. LinkedIn web scraping comes in four common set-ups.

  1. A browser extension runs inside your logged-in browser and reads the pages you open, so it reaches whatever your account can see. The requests come from your account.
  2. A cloud tool that asks for your session cookie replays it from the vendor's servers. It can run searches while your laptop is off, but the requests still carry your identity.
  3. An account-less mode takes your LinkedIn login out of the path. You still supply the search to run.
  4. A scraping API fetches logged-out pages. It reads what the logged-out test returned and cannot run a search, because search URLs redirect to the login page.

In the first two set-ups, the account that carries the requests is yours, so a restriction lands on it. In the last two, no login of yours is in the path. That changes who feels a limit, though the terms cover the data either way.

LinkedIn's User Agreement, in force since 3 November 2025, bars software, scripts, robots, crawlers and browser plugins that scrape or copy the Services, profiles included. Section 8.2 also covers information obtained through third parties such as data aggregators, so data bought from a scraper sits inside the same clause.

Its first bullet names copying cookies as a way of using another's account. A third bullet bars bypassing access controls or use limits, with search results and profiles as examples. Read that one before you plan around any cap.

WizLeads sells a Sales Navigator scraper that runs in two modes. Connected mode uses your own Sales Navigator account.

Account-less mode needs no Sales Navigator seat. It still starts from a Sales Navigator search URL that you supply. That mode moves the requests off your account, and section 8.2 still covers the data.

The official API: what it returns

The official route is closed to most people. Microsoft's Profile API page says the API is restricted to developers LinkedIn approves. The basic permission returns the name, photo, headline and vanity name of the member who signed in. Another member's profile needs a Person ID, which comes only through certain limited-access APIs and depends on that member's privacy settings.

Microsoft's Sales API documentation adds that LinkedIn is not accepting new partners for the Sales Navigator API.

The caps, in the order you hit them

Free accounts meet the Commercial Use Limit first. It applies to people search, and LinkedIn publishes no number for it. LinkedIn's help page says it cannot show how many searches or views you have left and cannot lift the limit on request. The allowance resets at midnight PST on the 1st of each month.

Profile searches, People Also Viewed and the People tab of company pages count toward it. A name search from the top box, the Connections page and job search do not.

Free search also shows at most 250 results, or 25 pages, per search.

The next cap is the Data Security Limit on profile views. LinkedIn's help page on it says the limit is calculated daily and applies to views of people who are not your connections. It names the activity it reads as "hiring, prospecting, or scraping".

It publishes no number and says it cannot show the views you have left. Your 1st-degree connections stay visible.

The structural cap comes last. LinkedIn's Sales Navigator help page on search limits says you can view up to 2,500 lead results across 100 pages, or 1,000 account results across 40 pages, whatever the total match count says. The page gives one figure and names no plan that raises it. Another help page sets saved leads at 1,000 per list and 10,000 in total.

LinkedIn is not fully consistent here. The search-limits page says its cap applies in Sales Navigator and on LinkedIn.com, yet it gives only the Sales Navigator figures. The help page on free search gives 250 results. Treat 250 as the free-account figure and 2,500 as the Sales Navigator one.

The workaround is to cut one big search into smaller ones that each return fewer than 2,500 results. A target of 10,000 leads needs at least four searches. Filters such as region, headcount band and industry are the usual cuts.

The "50 profiles a day" figure

A figure of about 50 profiles a day per user circulates in vendor material. Scrapingdog's blog post on LinkedIn web scraping stated it, in its summary and in its text, and named no LinkedIn source.

LinkedIn confirms a limit exists, publishes no threshold and says it cannot show how many views remain. Read any flat daily number as a vendor's estimate. A quota built on it protects nothing LinkedIn has promised.

What the law decided

The case people cite is hiQ v. LinkedIn. The April 2022 opinion was an early step, and the dates below show what came after.

  • 14 June 2021: The Supreme Court vacated the Ninth Circuit's 2019 judgment and sent the case back in light of Van Buren.
  • 18 April 2022: The Ninth Circuit affirmed the preliminary injunction on "serious questions", in an opinion that says it did not resolve the dispute definitively.
  • 1 August 2022: The district court dissolved the injunction, 105 days later, because hiQ no longer had an ongoing business.
  • 27 October 2022: The court signed a summary-judgment order on the contract claim.
  • 4 November 2022: That order was filed on the public docket.
  • 8 December 2022: The court entered a $500,000 consent judgment against hiQ, with a permanent injunction on hiQ and the parties it reaches.

The whole case ended 234 days after the April opinion. The October order held that hiQ breached the User Agreement through its turkers' fake identities. It also said hiQ breached it through its own scraping, though it left hiQ's waiver and estoppel defences on the scraping claim for trial.

The access-law question went hiQ's way only as a serious question, at an early stage. The panel doubted that the federal computer-access statute fits a public page that asks for no authorization from anyone, where one person or bot is refused. It did not decide the point finally.

The contract question did not go hiQ's way. Contract is the rulebook LinkedIn relies on: the User Agreement says it applies to Members and Visitors, and it lists section 8.2 among the terms that survive termination.

Whether that reaches a logged-out visitor who never made an account is not settled. In January 2024, in Meta v. Bright Data, the same district judge held that Meta's terms did not bar logged-off scraping of public data, on terms that had dropped a clause binding non-members. LinkedIn's User Agreement still names Visitors.

LinkedIn's robots.txt opens with a notice that automated access without permission is strictly prohibited and names whitelist-crawl@linkedin.com for permission to crawl.

LinkedIn's Service Terms, dated 6 August 2026, add a second limit for Sales Navigator. They allow it for sales, prospecting or business development and bar recruiting, talent sourcing and hiring uses. A scraper pointed at recruiting breaks that term too.

Privacy law and email law apply once you hold the data and contact the people on it. This is a description of published documents, not legal advice.

What LinkedIn says happens to accounts

LinkedIn does not allow scraping. Section 8.2 of the User Agreement bars any software, script, robot or browser plugin used "to scrape or copy the Services, including profiles and other data from the Services". LinkedIn's help page on prohibited software says members who use such tools "risk having their accounts restricted or shut down", and that the tools themselves may stop working without notice. The page names no safe volume.

The email is a separate step

LinkedIn's help page on email visibility says a member's primary email is visible by default to direct connections, to people in the member's email contacts, and, through approved apps such as Outlook, to connections who link those apps. Each member can change that setting, from "Only visible to me" to "Anyone on LinkedIn". The logged-out test agrees on the public page: no email appeared in the HTML of any of the four profiles. A scraped list therefore arrives with a name, a role and a company, and a blank where the email should be.

Enrichment fills the blank. A name and a company domain go into a lookup, and an address comes back or it does not.

The lookup is the step with its own bill, which is why a scraping price and an email price should be read apart. A price per lead that does not say whether an email is included describes a different product from one that does, so compare tools on the whole job.

How to scrape LinkedIn within the limits: a six-step workflow

  1. Build the search in Sales Navigator before you open any tool. Filters are where the precision comes from, and a list that needs cleaning afterwards costs more than the scrape did.
  2. Read the result count. Under 2,500, run it. Over, tighten the filters or split the search.
  3. Choose whose session sends the requests before you choose a vendor. That choice decides which account takes the load and which terms you accept.
  4. Keep the use to sales prospecting. The Service Terms bar recruiting.
  5. Add emails, and check each address's verification status before you treat it as valid.
  6. Suppress before you send: current customers, open deals, past unsubscribes and anyone a teammate already contacted. For contacts in the EU, the UK or Canada, read the email and privacy rules that apply before the first send. A public profile is not consent to marketing email, and the email list guide linked above covers those rules.

Steps 1 and 2 happen before any credit is spent, and they decide how the run goes.

Where WizLeads fits

WizLeads' people search takes Sales Navigator search or list URLs. It does not take free LinkedIn search, posts, engagers or company-employee pages. Saved lists, saved searches and 1st-degree filters need a connected account.

A connected result costs 1 credit and an account-less result costs 2, so 5,000 leads cost 5,000 or 10,000 credits. A 5,000-lead task takes 15 to 20 minutes, and the raw people export has 42 columns.

Smart Link Splitting, on the Agency plan and above, checks the lead count and splits a search that passes the cap into chunks of 2,000 results or less, so you never lose results.

WizLeads also sells LinkedIn Company Followers scrapes at 3 credits per follower, and LinkedIn Group Members scrapes. Its REST API covers Sales Navigator people and company searches.

The Freelancer plan costs $39 for 10,000 credits. That buys 10,000 connected leads, 5,000 account-less leads or 3,333 work emails found. Email lookups hold 3 credits per row while a task runs and release them for rows with no email when it completes, so a lookup job that size runs in batches.

The free tier gives 500 credits once. New accounts pay $1 for the first month and then get 20% off for life, shown after login.

Pick the session model first

Decide whose session sends the request first, because that sets which account takes the load and which terms you accept. Then size every search under 2,500 results. Treat the User Agreement as the rule that binds your account, not the April 2022 appeals opinion. Budget the email step on its own line.

To compare tools on that choice, see the twelve LinkedIn scrapers compared. For the legal question, Is LinkedIn scraping legal takes the rulebooks one at a time.