🎓 LinkedIn Profile Scraper: Education History ✅ No Cookies
Pricing
from $3.00 / 1,000 profiles
🎓 LinkedIn Profile Scraper: Education History ✅ No Cookies
Scrape public LinkedIn profiles without login or cookies. Get name, location, employer, full education history with dates, followers, recent posts and articles, plus 20+ similar profiles per person.
Pricing
from $3.00 / 1,000 profiles
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
0
Bookmarked
65
Total users
7
Monthly active users
12 days ago
Last modified
Categories
Share
LinkedIn profile scraper: profiles, education, posts and similar profiles
Paste LinkedIn profile URLs or usernames. Get one clean row per person: name, location, employer, education history, follower count, recent posts and articles.
From $3 per 1,000 profiles. No login, no cookies, no browser, no proxy setup.
Blocked and not-found profiles are never charged.
Why this scraper?
- 🔓 No account, ever. You don't hand over cookies and we don't run a login. Nothing to get your LinkedIn account restricted.
- 🎓 Full education history, not just the top line. LinkedIn hides most school names from logged-out visitors but still publishes the dates. Most scrapers return one school. This one returns every entry, including the dated ones.
- 🕸️ 20+ similar profiles on every row. LinkedIn's own "Other similar profiles" block, so one seed person expands into a whole network.
- 📰 Recent posts and articles with reaction counts, in the same row as the profile. No second actor, no second bill.
- 💸 You only pay for profiles you actually get. Rate-limited or missing profiles come back as error rows and cost nothing.
- ⚡ Fast and cheap by design. Plain HTTP on datacenter proxies. No browser to boot, no residential bandwidth to burn.
What data can you extract?
| Field | Notes |
|---|---|
name | Full name |
headline | Professional headline, as shown to logged-out visitors |
location, countryCode | City / region, and ISO country |
photoUrl | Full-size profile photo |
profileBadge | LinkedIn's own badge line, e.g. "Creator, Top Voice" |
followerCount | Exact follower number |
currentCompany, currentCompanyUrl | Current employer and its LinkedIn page |
education[] | School, LinkedIn school page, start and end year |
awards[], languages[] | As published on the profile |
websites[] | Real destination URLs, already unwrapped from LinkedIn's redirect |
recentPosts[] | Text, URL, date, reaction count |
recentArticles[] | Headline, URL, date, reaction count, cover image |
similarProfiles[] | Usernames from "Other similar profiles" |
How much does the LinkedIn Profile Scraper cost?
Pay per profile. Two charges only: a small fee when a run starts, and one charge per profile delivered.
| Per 1,000 profiles | Run start | |
|---|---|---|
| Free plan | $4.00 | $0.02 |
| Starter | $3.50 | $0.01 |
| Scale | $3.50 | $0.0075 |
| Business and above | $3.00 | $0.005 |
Apify's $5 free monthly credit covers roughly 1,250 profiles. A $29 balance on Starter covers about 8,285.
Nothing else is billed. Error rows, duplicate inputs and profiles that LinkedIn refused are all free.
How to scrape LinkedIn profiles: step by step
- Click Try for free and open the actor.
- Paste profile URLs or usernames into Profile URLs or Usernames. Both forms work, and mixing them is fine.
- Optionally set Max Results to cap the run, or leave it at 0 for everything you pasted.
- Click Start.
- Download the results as JSON, CSV, Excel, or pull them from the API.
Input
Paste a full URL or just the username. Duplicates are removed before anything is fetched, so the same person listed twice is only charged once.
{"profiles": ["https://www.linkedin.com/in/williamhgates","https://uk.linkedin.com/in/satyanadella","reidhoffman"],"maxResults": 0,"maxConcurrency": 6}
| Field | Type | Default | What it does |
|---|---|---|---|
profiles | array | required | Profile URLs or usernames. Country subdomains like uk.linkedin.com are fine. |
maxResults | integer | 0 | Stop after this many profiles. 0 means no cap. |
maxConcurrency | integer | 6 | How many profiles to fetch at once. Higher is not always faster: LinkedIn rate-limits per IP. |
Output
One row per profile. A real row from a live run:
{"recordType": "profile","publicIdentifier": "bill-cronin-5490492","linkedinUrl": "https://www.linkedin.com/in/bill-cronin-5490492","name": "Bill Cronin","headline": "A seasoned professional with proven experience in business development, marketing…","location": "Odessa, Florida, United States","countryCode": "US","photoUrl": "https://media.licdn.com/dms/image/v2/D4E03AQGYTneXVJiSjQ/profile-displayphoto-shrink_200_200/…","profileBadge": null,"followerCount": 10812,"currentCompany": "Pasco Economic Development Council","currentCompanyUrl": "https://www.linkedin.com/company/pasco-economic-development-council","education": [{"school": "Harvard Kennedy School Executive Education","linkedinUrl": "https://www.linkedin.com/school/hksexeced/","startYear": null,"endYear": 2025},{ "school": null, "linkedinUrl": null, "startYear": 1984, "endYear": 1990 },{ "school": null, "linkedinUrl": null, "startYear": 1985, "endYear": 1987 }],"awards": [],"languages": ["Mandarin", "Thai"],"websites": ["http://ontheroadtobangkok.blogspot.com/"],"recentPosts": [{"text": "Bienvenue Monin!","url": "https://www.linkedin.com/posts/bill-cronin-5490492_monin-to-open-manufacturing-facility-in-city-activity-7482917587614511104-dusi","publishedAt": "2026-07-14T22:02:58.755Z","reactions": 44}],"recentArticles": [],"similarProfiles": ["bobbyclark", "josephrrusso", "matthew-swift-8ba7529", "davidgreeley"],"scrapedAt": "2026-08-28T16:57:37.839Z"}
A profile we could not deliver comes back as an error row instead. These are free:
{"recordType": "error","publicIdentifier": "zzz-no-such-person","linkedinUrl": "https://www.linkedin.com/in/zzz-no-such-person","error": "Could not retrieve this profile: either LinkedIn blocked the request, or no public profile exists at this URL.","scrapedAt": "2026-08-28T16:57:41.002Z"}
Filter on recordType to keep the two apart.
Use cases
- Lead enrichment. Turn a list of profile URLs into names, employers, locations and follower counts for your CRM.
- Recruiting research. Map who studied where and when, and who LinkedIn considers similar to a candidate you like.
- Network expansion. Feed
similarProfilesback in as input and grow a seed list into a whole segment. - Influencer and creator scouting. Rank people by follower count and see what they actually posted, with reaction counts.
- Competitor talent tracking. Watch who is publishing and how their audience responds.
Limitations
Worth knowing before you buy. LinkedIn shows logged-out visitors far less than logged-in ones, and this actor never logs in.
- No job titles, skills, endorsements, certifications, emails or phone numbers. LinkedIn does not publish these to logged-out visitors at all.
- Only the current employer. Past positions and employment dates are not available publicly.
- The headline is truncated by LinkedIn, not by us. Logged-out visitors get a shortened version ending in
…. - Some education entries have
school: null. LinkedIn hides the institution name from logged-out visitors but still publishes the dates. We keep those entries because the timeline is real data. Most scrapers drop them. - Large batches return some profiles as errors. LinkedIn rate-limits per IP, so a run of several hundred will have a share come back blocked. Those rows are free. Split very large lists across runs for the best hit rate.
- A missing profile and a blocked one look identical. LinkedIn returns the same response for both, so the error message names both possibilities.
Frequently asked questions
Do I need a LinkedIn account or cookies?
No. This actor only reads pages that are visible to anyone on the open web. You never supply cookies, and no account is used, so there is nothing to get restricted.
Why is the headline cut off?
That is LinkedIn's doing. The public page shows a shortened headline with a "see more" button that opens a sign-in prompt rather than the rest of the text. The full version is only visible to logged-in members.
Why do some education entries have no school name?
LinkedIn hides most institution names from logged-out visitors but still publishes the start and end years. We return those entries with school: null rather than throwing them away, so you keep the real timeline and the correct number of schools.
Why did some profiles come back as errors?
LinkedIn limits how many profiles one IP can request in a short window. In a large batch some will be refused. Those rows are not charged. Running a smaller batch, or splitting a big list across several runs, raises the hit rate.
Is it legal to scrape LinkedIn?
Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only touches publicly accessible pages, but how you use the output is on you.
Apify's full breakdown: Is web scraping legal?.
How much does the LinkedIn Profile Scraper cost?
From $3 per 1,000 profiles on Business and above, $4 per 1,000 on the free plan, plus a small run-start fee. Blocked profiles, duplicates and error rows are free.
Can I integrate it with other tools?
Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.
Full list: Apify integrations.
Can I use it with the Apify API?
Yes. Every run is available via the Apify REST API:
curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~linkedin-profile-scraper/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profiles": ["https://www.linkedin.com/in/williamhgates"]}'
Docs: Apify API reference.
Can I use it through an MCP Server?
Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call this scraper. Setup: Apify MCP docs.
Your feedback
Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.