LinkedIn People Search Scraper
Pricing
from $3.00 / 1,000 results
LinkedIn People Search Scraper
Search LinkedIn for people by name, title, or keyword. Filter by location, company, school, or connection degree. Returns profile URLs, headlines, and contact details.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Share
Search LinkedIn for people by name, job title, keyword, or any combination. Filter results by location, company, school, and connection degree. Returns structured profile data including name, headline, location, connection degree, profile URL, and profile picture.
What It Does
This actor calls LinkedIn's Voyager search API (the same API your browser uses) with your session cookie to return people search results. It supports pagination to retrieve up to 100 profiles per run.
Key capabilities:
- Search by any keyword: name, title, skills, company, industry
- Filter by connection degree (1st, 2nd, 3rd+)
- Append location, company, or school terms to refine results
- Returns profile URLs, headlines, locations, connection degree, and profile pictures
- Deduplicates results across pages
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | Yes | Keywords to search for. E.g. "software engineer", "John Smith", "product manager Google" |
cookie | String | Yes | Your LinkedIn session cookie. See Cookie Setup below |
location | String | No | Location to filter by. E.g. "San Francisco Bay Area", "United Kingdom" |
currentCompany | String | No | Filter by current company name. E.g. "Google", "Microsoft" |
pastCompany | String | No | Filter by past company name |
school | String | No | Filter by school/university. E.g. "Stanford University", "MIT" |
connectionDegree | Select | No | Filter by connection degree: Any / 1st degree / 2nd degree / 3rd+ degree |
maxResults | Number | No | Maximum number of profiles to return (1–100, default: 25) |
proxyConfiguration | Object | No | Apify proxy configuration (optional) |
Output
Each profile in the dataset contains:
| Field | Type | Description |
|---|---|---|
name | String | Full name of the person |
headline | String | Professional headline / job title |
location | String | Location shown on LinkedIn profile |
connectionDegree | String | Connection degree to your account ("1st", "2nd", "3rd+") |
profileUrl | String | Full LinkedIn profile URL |
profilePicture | String | Profile picture URL (when available) |
mutualConnections | String | Mutual connections text (e.g. "5 mutual connections") |
scrapedAt | String | ISO 8601 UTC timestamp of when the record was scraped |
Example Output
[{"name": "Alice Johnson","headline": "Senior Software Engineer at Stripe","location": "San Francisco Bay Area","connectionDegree": "2nd","profileUrl": "https://www.linkedin.com/in/alicejohnson/","profilePicture": "https://media.licdn.com/dms/image/C4E03AQ.../200_200/photo.jpg","mutualConnections": "12 mutual connections","scrapedAt": "2026-06-08T12:00:00+00:00"},{"name": "Bob Williams","headline": "Product Manager at Notion","location": "New York City Metropolitan Area","connectionDegree": "3rd+","profileUrl": "https://www.linkedin.com/in/bobwilliams/","scrapedAt": "2026-06-08T12:00:01+00:00"}]
Cookie Setup
LinkedIn requires authentication for search. The actor uses your existing LinkedIn session cookie — your credentials are never sent anywhere except LinkedIn's own servers.
Method 1: Copy the li_at token (simplest)
- Open linkedin.com and sign in
- Open DevTools (F12 or Cmd+Option+I)
- Go to Application → Cookies →
https://www.linkedin.com - Find the cookie named
li_at - Copy the Value column
- Paste it into the
cookiefield
Method 2: Export full cookie JSON (more reliable)
- Install the EditThisCookie browser extension
- Visit linkedin.com while signed in
- Click the extension icon → Export (copies a JSON array to clipboard)
- Paste the full JSON array into the
cookiefield
The actor accepts either format automatically.
Important: Your cookie is a sensitive credential. Use
isSecret: truein Apify UI (the field is already marked secret in this actor's schema). Never share yourli_attoken.
Filter Combinations with Examples
Search by keyword + location
{"searchQuery": "data scientist","cookie": "<your cookie>","location": "London"}
Find 1st-degree connections at a specific company
{"searchQuery": "product manager","cookie": "<your cookie>","currentCompany": "Airbnb","connectionDegree": "F"}
Find alumni from a school
{"searchQuery": "software engineer","cookie": "<your cookie>","school": "MIT"}
Narrow 2nd-degree connections by location and company
{"searchQuery": "VP Engineering","cookie": "<your cookie>","location": "New York","currentCompany": "Goldman Sachs","connectionDegree": "S"}
Search for a specific person
{"searchQuery": "John Smith product manager","cookie": "<your cookie>","maxResults": 10}
Notes and Limitations
- Authentication required: LinkedIn search is only accessible to logged-in users. The actor requires a valid
li_atsession cookie. - Results vary by account: LinkedIn personalises search results based on your network, location, and account type. Identical searches from different accounts may return different results.
- Connection degree filter: Filtering by connection degree (1st, 2nd, 3rd+) uses LinkedIn's native
networkfilter and respects your actual network graph. - Rate limiting: The actor paces requests with 2–5 second delays to avoid triggering LinkedIn's rate limits. For large result sets (100 profiles), expect runs of 3–5 minutes.
- Maximum results: LinkedIn's Voyager search API supports a maximum of 1,000 results per query (100 pages × 10 per page). This actor is capped at 100 for reliability.
- Cookie expiry: LinkedIn session cookies typically expire after 1 year, but LinkedIn may invalidate them sooner. If you get an auth error, refresh your cookie.
- Location / company filters: These terms are appended to the keyword search because LinkedIn's blended search API does not accept separate structured filter parameters for them (unlike the dedicated
/peoplesearch endpoint which requires entity IDs). Results are highly accurate for well-known company names and locations.
FAQs
Q: Does this store or share my LinkedIn cookie? A: No. Your cookie is used only to authenticate requests to LinkedIn's API during the run. It is stored in Apify's encrypted input store and is marked as a secret field (not shown in logs).
Q: Will LinkedIn detect or block this scraper?
A: The actor uses LinkedIn's official Voyager API (the same endpoints your browser uses) and paces requests to avoid rate limits. However, very aggressive usage from a single account may trigger LinkedIn's abuse detection. Use reasonable maxResults values and don't run multiple concurrent instances on the same account.
Q: Can I scrape profiles without a cookie? A: No. LinkedIn's people search requires authentication. Without a valid session cookie, all search API calls return 401.
Q: Why is connectionDegree empty for some profiles?
A: LinkedIn only shows connection degree for profiles that appear in your network graph. Profiles outside your network (e.g. some 3rd-degree connections) may not have a degree badge.
Q: Why do some profiles not have a profile picture? A: LinkedIn users can set their profile picture to be visible only to connections. The actor extracts the picture URL when it is returned by the search API; it does not attempt to access pictures restricted to connections.
Q: Can I search for people at a specific company?
A: Yes — use the currentCompany filter for current employees or pastCompany for alumni. For best results, use the exact company name as it appears on LinkedIn.
Q: What is the difference between connection degree values?
A: F = 1st degree (direct connections), S = 2nd degree (connections of connections), O = 3rd degree and beyond. Leave blank to search all degrees.
Data Source
This actor uses LinkedIn's Voyager API — the private JSON API that powers LinkedIn's web application. It is the same data source your browser accesses when you perform a people search on linkedin.com.
Explore the rest of the LinkedIn suite
Need a different LinkedIn surface? Pair this actor with any of the others in the LinkedIn Suite — all published under the same publisher and built to share the same cookie format and output conventions.
| Actor | What it scrapes |
|---|---|
| LinkedIn Comments Scraper | All comments + reply threads on a post |
| LinkedIn Company Employees Scraper | Employee list for any company (by URN) |
| LinkedIn Company Info Scraper | Company About page (size, HQ, industry, specialties) |
| LinkedIn Company Posts Scraper | Posts published from a company page |
| LinkedIn Events Scraper | Events by keyword/URL with full event detail |
| LinkedIn Hashtag Posts Scraper | Posts ranked under a #hashtag |
| LinkedIn Jobs Scraper | Job listings via the public jobs-guest API |
| LinkedIn Jobs Scraper Ultra | Same as jobs-scraper + full detail enrichment |
| LinkedIn Learning Courses Scraper | LinkedIn Learning course catalog by keyword |
| LinkedIn Post Reactions Scraper | Reactors on a post (name, headline, reaction type) |
| LinkedIn Post Scraper | Full post (text, media, engagement counts, author) |
| LinkedIn Post Search Scraper | Posts matching a keyword (with date/author/network filters) |
| LinkedIn Profile Posts Scraper | All posts/reposts/articles for one profile |
| LinkedIn Profile Scraper | Public profile fields (name, headline, positions, education, skills) |
| LinkedIn Profile Scraper Pro | Profile fields + extras (recommendations, organizations, languages) |
| LinkedIn Profile Scraper Pro Ultra | Pro + premium fields (contact info, followers list when allowed) |
| LinkedIn Profile Scraper Ultra | Profile + the full upstream dash-120 surface |
| LinkedIn Profile Search by Name | Search profiles by person name (great for matching CSVs of names) |
| LinkedIn Schools Alumni Scraper | Alumni list for any LinkedIn school page |
| LinkedIn Top Content Scraper | Trending / top-engagement posts by topic |
| LinkedIn User Activity Scraper | Reactions + comments + posts feed for one profile |
All actors share the same cookie input format (plain li_at OR full cookies JSON array) and the same omit-empty output convention.