๐Ÿ”ฅ Linkedin Profile Scraper [Cheapst+ Fastest] avatar

๐Ÿ”ฅ Linkedin Profile Scraper [Cheapst+ Fastest]

Pricing

$19.99/month + usage

Go to Apify Store
๐Ÿ”ฅ Linkedin Profile Scraper [Cheapst+ Fastest]

๐Ÿ”ฅ Linkedin Profile Scraper [Cheapst+ Fastest]

LinkedIn Profile Scraper extracts public profile data at scale, including names, headlines, experiences, skills, education, and connections. Perfect for lead generation, recruitment, and market research. Get structured, reliable LinkedIn data quickly with customizable scraping options.

Pricing

$19.99/month + usage

Rating

3.2

(9)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

3

Bookmarked

275

Total users

4

Monthly active users

33 days

Issues response

7 days ago

Last modified

Share

LinkedIn Profile Scraper โ€” Credibility Score and Recommendation Data

Paste a public linkedin.com/in/ URL and get back structured JSON: name, location, experience and education, followers, connectionsCount, written recommendations, and a transparent 0-100 credibilityScore with a credibilityBand and full per-signal credibilityBreakdown. No LinkedIn login or session cookie is required โ€” everything comes from the public profile page. Start a run on Apify to see the fields on your own profile URLs.

What is LinkedIn Profile & Credibility Analysis Scraper?

LinkedIn Profile & Credibility Analysis Scraper is an Apify Actor that scrapes public LinkedIn profiles and layers a documented credibility score and recommendation analysis on top of the raw profile data. It runs anonymously โ€” no LinkedIn account, password, or li_at session cookie is needed, since it fetches the logged-out public page rather than the authenticated LinkedIn app. It's built for recruiters and candidate-vetting teams, sales and lead-qualification teams, trust-and-safety reviewers, and developers building enrichment or RAG pipelines around people data.

What LinkedIn profile data is publicly available to scrape?

A logged-out visitor to a linkedin.com/in/ page already sees a person's name, headline, location, photo, follower count, experience, education, projects, and rendered recommendations. A few things stay gated behind a login, sometimes a connection:

Data categoryPublicly availableRestricted (login required)
Name, about, location, photoYesโ€”
Experience & education historyYesโ€”
Follower countYesโ€”
Recommendations receivedYes, when renderedโ€”
Recommendations givenโ€”Not distinguishable anonymously
Full connections listโ€”Login + connection
Contact info (email, phone)โ€”Login required
Verified-identity badgeโ€”Login required

LinkedIn Profile & Credibility Analysis Scraper only returns publicly visible data โ€” nothing behind a login wall.

What data can I extract with LinkedIn Profile & Credibility Analysis Scraper?

The Actor returns identity and career data for the profile, plus a credibility score, recommendation analytics, and secondary sections like projects and similar profiles.

FieldDescription
nameFull name on the profile
imageProfile photo URL
locationCity/region shown on the profile
aboutBio / summary text
experienceRoles: organization name, URL, location, role description
educationSchools: name, URL, start/end dates
projectsName, date range, description, contributors
followersFollower count
connectionsRaw connections text, e.g. "500+ connections"
connectionsCountConnections parsed to an integer (or null)
credibilityScoreComposite 0-100 score
credibilityBandMinimal / Low / Moderate / High / Very High
credibilityBreakdownPoints per signal: recommendations, network, experience, education, content, completeness
recommendationsWritten recommendations: recommender name, link, photo, text
recommendationAnalyticscount, matchedCount, hasRecommendations, averageLength, distinctRecommenders, received, given, keywordsMatched
recentPosts / activityRecent posts/activity: title, type, link, image
articlesPublished articles: headline, author, date, body excerpt
publicationsPublication name and URL
similarProfiles"People also viewed" profiles: name, link, location, image
scrapedAtISO-8601 UTC scrape timestamp
successWhether the profile was retrieved and parsed

๐Ÿค– Add-on: Need additional LinkedIn data?

This Actor covers people profiles. For the companies those people work at, pair it with LinkedIn Company Scraper & Open Jobs Finder or LinkedIn Company About Scraper. To go from a company to its staff and their contact details, see LinkedIn Company Employees : AI & Lead Enrichment Scraper and LinkedIn B2B Emails Scraper: Verified Email Finder. For a person's public posts instead of their profile, use LinkedIn Post Scraper.

How does LinkedIn Profile & Credibility Analysis Scraper differ from the official LinkedIn API?

LinkedIn's official API does not offer a general-purpose "look up any member's profile" endpoint to third parties. Per LinkedIn's own developer documentation, marketing-API access requires a developer app approved into LinkedIn's Marketing Developer Program, every call needs 3-legged OAuth consent from the specific member involved, and the closest profile-read permission (r_basicprofile) returns only the authenticated, consenting member's own name, photo, headline, and public URL โ€” not arbitrary third-party profiles (source: learn.microsoft.com/en-us/linkedin/marketing/getting-started, checked 2026-07-25).

FeatureLinkedIn official APILinkedIn Profile & Credibility Analysis Scraper
Access approvalRequires an app approved into LinkedIn's Partner/Marketing Developer ProgramNo approval โ€” runs directly on Apify
Whose profile you can readOnly the authenticated, consenting member (r_basicprofile)Any public linkedin.com/in/ profile by URL
Authentication3-legged OAuth, per-member consentNone โ€” no login, no session cookie
Access model3-legged only; 2-legged/client-credentials not available for these scopesSimple array-of-URLs input
Credibility / recommendation scoringNot providedBuilt-in credibilityScore, credibilityBand, recommendationAnalytics

Use the official API when you already have an approved partner app and only need data for members who've explicitly authorized it. Use this Actor when you need public profile and credibility data for people who haven't authorized your app.

How to use LinkedIn Profile & Credibility Analysis Scraper

Run it directly from its Apify Console listing โ€” no separate signup or API key beyond your Apify account.

  1. Open the Actor's page on Apify and click Start.
  2. Paste one or more public LinkedIn profile URLs into profileUrls โ€” this is the only field you need; everything else has a working default.
  3. Optionally set recommendationKeywords to keep only matching recommendations, or turn off includePeopleAlsoViewed / includeProjects to skip sections you don't need.
  4. Start the run.
  5. Download results as JSON, CSV, or Excel from the dataset, or read them via the API while the run is still in progress โ€” each profile is pushed as its own row in real time.

How to scale to bulk LinkedIn profile credibility analysis

profileUrls is a list field โ€” add every target profile to the same array and they're processed in order in one run; there's no separate "bulk mode" to enable. The schema places no hard cap on list length, but each profile that falls back to enableWaybackSaveFallback costs 30-60 seconds and that fallback is rate-limited to roughly 15 requests per minute per IP, so for large lists it's worth disabling that fallback or splitting the list across a few runs.

What can you do with LinkedIn profile credibility data?

  • A recruiter vetting a shortlist uses credibilityScore and the recommendations behind it to see which candidates have real written social proof before scheduling interviews.
  • A sales rep qualifying inbound leads uses connectionsCount and followers to prioritize outreach toward well-networked prospects.
  • A trust-and-safety reviewer screening inbound applications uses credibilityBand and the completeness signal (photo, about, location, at least one role) to flag thin, low-signal profiles for manual review.
  • A researcher studying a niche uses recommendationKeywords with recommendationAnalytics.matchedCount to find profiles specifically praised for a trait like "leadership" or "reliable."
  • An AI engineer builds a candidate-summarization agent that feeds about, experience, and recommendations text into a RAG pipeline or LLM prompt, using credibilityScore as structured context rather than free text the model has to interpret.

How does LinkedIn Profile & Credibility Analysis Scraper handle rate limits and blocking?

Each profile fetch runs through Apify Proxy, with the proxyConfiguration input defaulting to the RESIDENTIAL group (recommended for LinkedIn); if the configured proxy fails to initialize, the Actor automatically retries with a RESIDENTIAL proxy configuration. Every request uses a fresh proxy session per attempt and retries up to maxRetries times with exponential backoff plus random jitter between attempts. The Actor treats a defined set of LinkedIn response codes (401, 403, 404, 407, 408, 409, 410, 418, 429, 451, 503, and LinkedIn's anti-bot 999) as blocking signals, and also inspects the response URL and body for login-wall indicators. If direct fetches are still blocked after all retries, it falls through an optional fallback ladder: your own customFetcherUrlTemplate (a paid scraping API you supply), then an existing Wayback Machine snapshot, then a freshly triggered Wayback Save Page Now capture. If every path fails for a given profile, that profile produces no dataset row and is not charged โ€” it does not return fabricated data.

โฌ‡๏ธ Input

All 13 parameters are optional โ€” the Actor runs with profileUrls alone.

ParameterRequiredTypeDescriptionExample Value
profileUrlsNoarrayPublic LinkedIn profile links to scan (linkedin.com/in/...), one per line, processed in order. The base key urls is also accepted.["https://www.linkedin.com/in/timbakke/"]
computeCredibilityScoreNobooleanAdd credibilityScore (0-100) and credibilityBand to every profile. Default true.true
includeCredibilityBreakdownNobooleanInclude credibilityBreakdown โ€” the per-signal points behind the score. Default true.true
includeRecommendationsNobooleanExtract written recommendations and compute recommendationAnalytics. Default true.true
recommendationKeywordsNoarrayKeep only recommendations whose text contains any of these keywords (case-insensitive). Empty = keep all.["leadership", "reliable"]
includePeopleAlsoViewedNobooleanInclude the "People also viewed" similar-profiles list. Default true.true
includeProjectsNobooleanExtract the Projects section (name, dates, description, contributors). Default true.true
maxRetriesNointegerDirect-fetch attempts before falling back (1-15). Default 5.5
requestTimeoutSecsNointegerPer-request timeout in seconds (5-180). Default 30.30
customFetcherUrlTemplateNostringOptional 3rd-party scraping API URL template with a literal {url} placeholder. Leave empty to skip.""
enableWaybackFallbackNobooleanLook up an existing Wayback Machine snapshot if direct fetches are blocked. Default true.true
enableWaybackSaveFallbackNobooleanTrigger a fresh Wayback Save Page Now capture if no snapshot exists. Slow (30-60s) and rate-limited (~15/min); disable for large bulk runs. Default true.true
proxyConfigurationNoobjectApify Proxy (RESIDENTIAL recommended) or custom proxy URLs.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}

Example input

{
"profileUrls": [
"https://www.linkedin.com/in/williamhgates/",
"https://www.linkedin.com/in/timbakke/"
],
"computeCredibilityScore": true,
"includeCredibilityBreakdown": true,
"includeRecommendations": true,
"recommendationKeywords": ["leadership", "reliable"],
"includePeopleAlsoViewed": true,
"includeProjects": true,
"maxRetries": 5,
"requestTimeoutSecs": 30,
"customFetcherUrlTemplate": "",
"enableWaybackFallback": true,
"enableWaybackSaveFallback": true,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

โฌ†๏ธ Output

Every scraped profile is pushed as one typed, normalized JSON dataset row, downloadable as JSON, CSV, or Excel. The dataset's default "Credibility overview" table view surfaces a curated 12-column subset (name, credibilityScore, credibilityBand, location, followers, connectionsCount, recommendationAnalytics.count, recommendationAnalytics.hasRecommendations, about, image, scrapedAt, success) โ€” the full row, documented below, carries every field the Actor writes.

FieldDescription
successWhether the profile was retrieved and parsed
partialtrue if no structured Person data was found and only meta-tag fallback fields were recovered
nameFull name
imageProfile photo URL
locationCity/region
followersFollower count
connectionsRaw connections text (e.g. "500+ connections")
connectionsCountConnections parsed to an integer, or null
aboutBio / summary text
experienceArray of roles: name, url, location, member.description
educationArray of schools: name, url, member.startDate, member.endDate
projectsArray: name, url, dateRange, description, contributors
recentPostsArray of recent posts: title, activityType, link, image
articlesArray of published articles: headline, author, datePublished, image, articleBody
activityArray of activity-feed items: title, activityType, link, image
publicationsArray: name, url
similarProfiles"People also viewed": link, name, location, image
recommendationsArray of written recommendations: name, link, image, text (keyword-filtered if recommendationKeywords is set)
recommendationAnalyticscount, matchedCount, hasRecommendations, averageLength, distinctRecommenders, received, given, keywordsMatched
credibilityScoreComposite 0-100 score, or null if scoring is off
credibilityBandMinimal / Low / Moderate / High / Very High, or null
credibilityBreakdownPoints and raw counts per signal: recommendations, network, experience, education, content, completeness
scrapedAtISO-8601 UTC timestamp of the scrape
errorPresent only when success is false; explains why (e.g. login wall)
sourcePresent only when a fallback path was used: custom_fetcher, wayback, or wayback_spn

Example output

{
"success": true,
"partial": false,
"name": "Jane Doe",
"image": "https://media.licdn.com/dms/image/example.jpg",
"location": "Austin, Texas, United States",
"followers": 12400,
"connections": "500+ connections",
"connectionsCount": 500,
"about": "Product leader focused on B2B SaaS growth.",
"experience": [
{ "name": "Acme Corp", "url": "https://www.linkedin.com/company/acme/", "location": "Austin, TX", "member": { "description": "VP of Product" } }
],
"education": [
{ "name": "University of Texas at Austin", "url": "https://www.linkedin.com/school/ut-austin/", "member": { "startDate": "2010", "endDate": "2014" } }
],
"projects": [],
"recentPosts": [],
"articles": [],
"activity": [],
"publications": [],
"similarProfiles": [
{ "link": "https://www.linkedin.com/in/johnsmith/", "name": "John Smith", "location": "Dallas, TX", "image": "https://media.licdn.com/dms/image/example2.jpg" }
],
"recommendations": [
{ "name": "Alex Rivera", "link": "https://www.linkedin.com/in/alexrivera/", "image": "https://media.licdn.com/dms/image/example3.jpg", "text": "Jane's leadership on our launch was exceptional." }
],
"recommendationAnalytics": {
"count": 3,
"matchedCount": 1,
"hasRecommendations": true,
"averageLength": 142,
"distinctRecommenders": 3,
"received": 1,
"given": null,
"keywordsMatched": ["leadership"]
},
"credibilityScore": 74,
"credibilityBand": "High",
"credibilityBreakdown": {
"recommendations": { "points": 15.0, "max": 25, "count": 3 },
"network": { "points": 20.0, "max": 20, "followers": 12400, "connections": 500 },
"experience": { "points": 20.0, "max": 20, "roles": 4 },
"education": { "points": 10.0, "max": 10, "schools": 1 },
"content": { "points": 3.0, "max": 15, "items": 1 },
"completeness": { "points": 10.0, "max": 10, "signals": 4 }
},
"scrapedAt": "2026-07-25T09:14:22Z"
}

How does it work?

The Actor requests each profile URL through Apify Proxy (residential IPs recommended), rotating a fresh session per attempt and retrying with exponential backoff and jitter if LinkedIn responds with a blocking status code or serves a login-wall page instead of the profile. It parses the returned HTML's embedded JSON-LD structured data (with an OpenGraph/meta-tag fallback when JSON-LD is missing) rather than relying on brittle CSS selectors tied to LinkedIn's current page markup, so the output schema stays stable across LinkedIn UI changes. If direct fetches keep failing, it can route through a scraping API you supply, or recover an archived copy of the page from the Wayback Machine. Only what's visible on the public, logged-out profile page is ever extracted or scored โ€” nothing behind LinkedIn's login wall is accessed or guessed at.

Integrations

LinkedIn Profile & Credibility Analysis Scraper runs on Apify, so it works with anything that can call the Apify API, plus Apify's no-code and AI-agent integrations.

Calling LinkedIn Profile & Credibility Analysis Scraper programmatically

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run_input = {
"profileUrls": ["https://www.linkedin.com/in/williamhgates/"],
"computeCredibilityScore": True,
}
run = client.actor("scraper-engine/linkedin-profile-credibility-analysis-scraper").call(run_input=run_input)
for profile in client.dataset(run["defaultDatasetId"]).iterate_items():
print(profile["name"], profile["credibilityScore"], profile["credibilityBand"])

Works in Go, Ruby, Node.js, cURL โ€” any language that can make an HTTP request.

MCP integration for AI agents

LinkedIn Profile & Credibility Analysis Scraper is reachable through Apify's hosted Actors MCP Server at https://mcp.apify.com. Add it as a remote MCP connector in Claude, Cursor, or another MCP-compatible client, authenticate with your Apify account, and select this Actor as an available tool. Once connected, an agent can pass in profileUrls, start a scoring run, and read the resulting credibility rows directly inside the conversation, without writing any custom integration code.

No-code tools (n8n, Make, LangChain)

In n8n, use the Apify node (or an HTTP Request node against the Apify API) pointed at this Actor's run endpoint. In Make, the Apify app's "Run an Actor" module accepts the same input JSON shown above. In LangChain or LlamaIndex, wrap the Apify API call in a custom tool so an agent can request a profile's credibility data and use the returned JSON as context.

Scraping publicly accessible LinkedIn profile data is generally lawful โ€” in the U.S., courts (including hiQ Labs v. LinkedIn) have found that accessing data a website makes publicly available, without logging in, does not by itself violate the Computer Fraud and Abuse Act. LinkedIn Profile & Credibility Analysis Scraper only returns data visible on the public, logged-out profile page. Because that data is personal data about identifiable individuals, storing or reusing it โ€” especially at scale โ€” brings it within the scope of the GDPR (if you or the data subjects are in the EU/UK) or the CCPA (for California residents), both of which require a lawful basis for processing and give individuals rights over their data. Consult legal counsel if your use case involves bulk storage of personal data.

Frequently asked questions

What LinkedIn profile fields does this scraper return?

The top fields are name, location, about, experience, and credibilityScore โ€” see What data can I extract for the full list.

Does this scraper require a LinkedIn account or login?

No. It fetches the public, logged-out linkedin.com/in/ page through Apify Proxy โ€” no LinkedIn account, password, or session cookie is used anywhere in the Actor.

Can I scrape multiple LinkedIn profiles in one run?

Yes. profileUrls accepts a list of URLs processed in order in a single run; the schema places no hard cap on how many you add, though very large lists take longer if the slower Wayback fallbacks are enabled.

What happens if a profile is private, deleted, or behind a login wall?

The Actor retries and works through its fallback ladder (custom fetcher, Wayback snapshot, Wayback Save Page Now); if none can recover a real profile page, that URL produces no dataset row at all and is not charged, rather than a row full of empty or guessed fields.

How is the credibility score actually calculated?

It's a deterministic, documented formula, not a black box: credibilityScore sums points from six weighted signals โ€” recommendations (25 max), network reach from followers and connections (20), experience/role count (20), education count (10), content/thought-leadership volume (15), and profile completeness (10) โ€” each computed directly from the fields in the output, visible in full via credibilityBreakdown. It's a transparency-first proxy for social proof and profile depth, not an identity-verification check: LinkedIn's own verified-identity badge isn't exposed on the public page and is never faked, and a heavily-populated fake profile could still score well since the formula scores data completeness and volume, not truthfulness.

What makes this different from a generic LinkedIn profile scraper?

Beyond raw profile fields, it adds the transparent credibilityScore/credibilityBreakdown, keyword-filterable recommendation extraction with recommendationAnalytics, and a fetch ladder (proxy โ†’ custom fetcher โ†’ Wayback snapshot โ†’ Wayback Save Page Now) that keeps returning results when LinkedIn blocks a direct request.

Does this scraper work with Claude, ChatGPT, and other AI agent tools?

Yes. It's reachable through Apify's hosted Actors MCP Server (https://mcp.apify.com) for MCP-compatible clients like Claude, and it's callable as a standard HTTP endpoint by any agent framework via the Apify API.

Does this scraper return data in a format LLMs can use directly?

Yes. Output is typed, normalized JSON with consistent field names across runs โ€” no HTML parsing or CSS selectors required. Pass it directly to an LLM prompt, index it into a vector store, or feed it to an agent tool.

What happens when LinkedIn changes its layout or anti-bot defenses?

The Actor parses JSON-LD structured data rather than brittle page selectors where possible, and is maintained to keep the output schema stable as LinkedIn's page changes; no specific update turnaround time is promised.

Can I use this without managing proxies or browser infrastructure?

Yes. Apify Proxy (with automatic RESIDENTIAL fallback) and the Wayback fallback ladder are built in โ€” you don't need to bring your own proxy pool unless you want a custom scraping API via customFetcherUrlTemplate.

Which fields work best for AI training data and RAG indexing?

For RAG, index the free-text fields โ€” about, experience[].member.description, and recommendations[].text โ€” for semantic search. For structured training data, credibilityScore, credibilityBand, connectionsCount, and recommendationAnalytics.count return as consistent typed primitives across every profile.

ScraperWhat it extracts
LinkedIn Company Scraper & Open Jobs FinderCompany firmographics, posts, employees, and open job postings
LinkedIn Company About ScraperCompany "About" page details
LinkedIn Company Employees : AI & Lead Enrichment ScraperEmployee lists with AI sentiment and lead enrichment
LinkedIn B2B Emails Scraper: Verified Email FinderVerified business emails grouped by company domain
LinkedIn Post ScraperLinkedIn post content and engagement data

Your feedback

Found a bug or a field missing? Let us know through the Actor's Issues tab on its Apify Store page, or message Scraper Engine support directly โ€” reports get reviewed and the Actor is updated accordingly.