LinkedIn Fresh Profile Data Scraper
Pricing
from $10.00 / 1,000 linkedin profile scrapeds
LinkedIn Fresh Profile Data Scraper
Scrape public LinkedIn profile data from profile URLs or handles: name, about, location, followers, affiliated organizations, education, articles, and recent posts, with optional company-page enrichment. Provider-backed via ScrapeCreators and SociaVault; no LinkedIn login or cookies.
Pricing
from $10.00 / 1,000 linkedin profile scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
Turn a LinkedIn profile URL or handle into one public profile record for recruiters, CRM enrichment, and AI agents. Each row includes name, about, location, follower count, affiliated organizations, education, published articles, and recent posts when LinkedIn exposes them on the public page. Optional company-page enrichment adds industry, website, employee count, and headquarters. No LinkedIn login or cookies.
This Actor reads the same public JSON-LD view you get in an incognito browser. It does not return login-only job titles, skills, certifications, emails, or phone numbers. For those logged-in fields, no cookieless provider in this stack exposes them.
Best fit for this Actor
- Enrich a list of known
/in/profile URLs into structured people records for a CRM or ATS. - Attach recent public posts and published LinkedIn articles to a person record.
- Add the current company's public LinkedIn page (industry, headcount, website) when
enrichCompanyis true.
To search for profiles by keyword, use LinkedIn Profile Search Scraper. For emails, use LinkedIn Profile Email Scraper. For a leaner identity-only row, use LinkedIn Profile Details Scraper.
Practical scenario
A recruiting coordinator pastes https://www.linkedin.com/in/williamhgates/ and satyanadella. The run returns one row per person: name, Seattle/Redmond location, follower counts, Gates Foundation / Microsoft as affiliated organizations, Harvard education dates when public, recent posts, and Pulse articles. A missing handle finishes SUCCEEDED with a NOT_FOUND row and no profile-scraped charge. The coordinator exports CSV into the ATS and routes company-page enrichment to a second run when they need industry and headcount.
Quick start input
{"profileUrls": ["https://www.linkedin.com/in/williamhgates/"],"maxProfiles": 10,"enrichCompany": false,"outputMode": "full","providerOrder": "scrapecreators-first"}
profileUrls accepts full /in/ URLs, locale hosts such as uk.linkedin.com/in/..., or a bare handle. One unique profile produces one dataset row.
Input reference
| Field | Type | What it controls |
|---|---|---|
profileUrls | array | Required person URLs or handles. Example: https://www.linkedin.com/in/williamhgates/. Max 100. Company, post, and Sales Navigator URLs are out of scope. |
maxProfiles | integer | Cap on unique profiles processed. Default 50, max 100. |
enrichCompany | boolean | Fetch the current company's public LinkedIn page. Default false. Adds $0.02 per successful enrich. |
outputMode | enum | full (default) or compact (first 3 of each list). |
providerOrder | enum | scrapecreators-first (default) or sociavault-first. |
maxConcurrency | integer | Parallel profile fetches. Default 2, max 5. |
includeRawData | boolean | Attach raw provider JSON under rawProfile. Default false. |
What data you receive
One dataset item is one LinkedIn person.
{"profileUrl": "https://www.linkedin.com/in/williamhgates/","publicId": "williamhgates","fullName": "Bill Gates","about": "Chair of the Gates Foundation. Founder of Breakthrough Energy. Co-founder of Microsoft.","location": "Seattle, Washington, United States","followerCount": 40588779,"currentCompanyName": "Gates Foundation","currentCompanyUrl": "https://www.linkedin.com/company/gates-foundation","experience": [{ "company": "Gates Foundation", "companyUrl": "https://www.linkedin.com/company/gates-foundation" }],"education": [{ "school": "Harvard University", "startDate": "1973", "endDate": "1975" }],"recentPosts": [{ "title": "Suriname is officially malaria-free.", "publishedAt": "2026-08-20T23:49:40.110Z" }],"outcome": "OK","provider": "scrapecreators","scrapedAt": "2026-08-21T07:00:00.000Z"}
| Field | Meaning |
|---|---|
experience[] | Affiliated organizations from LinkedIn's public structured data. Dates appear when JSON-LD includes them. Per-role job titles are not in this public view. |
recentPosts[] | Public posts LinkedIn lists on the profile, with URL and timestamp. |
outcome | OK is billed. NOT_FOUND is an honest empty/private public page with no profile-scraped charge. |
companyIndustry / companyEmployeeCount | Present only when enrichCompany succeeded. |
OUTPUT and RUN_SUMMARY in the default key-value store hold outcome, itemsPushed, and chargedEventCounts.
Use through the API
curl -X POST "https://api.apify.com/v2/acts/khadinakbar~linkedin-fresh-profile-data-scraper/runs" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"profileUrls":["https://www.linkedin.com/in/williamhgates/"]}'
Download rows as JSON, CSV, Excel, or HTML from the Dataset tab.
Use with AI agents through Apify MCP
Scrape public LinkedIn profile data for https://www.linkedin.com/in/williamhgates/ and satyanadella. Return fullName, location, currentCompanyName, followerCount, recentPosts titles, outcome, and provider.
Connect via https://mcp.apify.com. Read OUTPUT.outcome and itemsPushed to confirm whether the dataset contains OK rows, a NOT_FOUND row, or a valid empty result.
Connect the workflow
- Discover unknown people first with LinkedIn Profile Search Scraper, then pass those profile URLs here.
- For verified emails on the same people, continue with LinkedIn Profile Email Scraper.
- For company-only pages without a person URL, use a LinkedIn company Actor rather than this one.
Pricing
Pay per event plus platform usage. Confirm current event prices on the live Pricing tab; that tab is the source of truth if this page ever lags.
apify-actor-start: $0.00005 per runprofile-scraped: $0.01 perOKrowcompany-enriched: $0.02 per successfully enriched company page
A one-profile run without company enrich is about $0.01 in result events plus a few seconds of Apify platform usage. NOT_FOUND rows have no profile-scraped charge. Provider credits are paid by the Actor owner.
How it works
- Normalize and deduplicate
/in/URLs and handles. - Fetch the public profile from ScrapeCreators, then SociaVault if needed.
- Map JSON-LD organizations, education, articles, and recent posts into a flat row.
- Optionally fetch the current company's public LinkedIn page.
- Charge
profile-scrapedonly after a usable public record, then write the row.
Private or missing profiles return HTTP 404 not_found from the providers and finish SUCCEEDED with NOT_FOUND / VALID_EMPTY.
Best results
- Pass person profile URLs or handles. Keep company pages, posts, and Sales Navigator URLs for those Actors.
- Use
fullName,currentCompanyName,location, andrecentPostsas the decision fields. Treatexperience[].companyas an affiliated organization, not a job title. - Keep
maxConcurrencyat 2 unless you are batching many URLs. - A typo handle finishes
SUCCEEDEDwith aNOT_FOUNDrow and noprofile-scrapedcharge.
Builder's note
I found that ScrapeCreators GET /v1/linkedin/profile and SociaVault GET /v1/scrape/linkedin/profile return LinkedIn's public JSON-LD on a well-known public profile: name, about, location, followers, affiliated organizations, education dates, articles, and recent posts. In my testing the live payload matched the vendor docs for this public view. Company enrich is a second call to /v1/linkedin/company because the person payload carries the company name and URL. My goal is a useful CRM identity-plus-activity row from that public page.
Legal and responsible use
Use this Actor on public LinkedIn data you are authorized to process, follow applicable law and LinkedIn's terms, and keep the output in your own compliance workflow. This Actor is independent of LinkedIn and does not log into LinkedIn.
Issues and feature requests: use the Actor Issues tab on Apify.