LinkedIn Company About Scraper With Lead & Contact Enrichment
Pricing
Pay per usage
LinkedIn Company About Scraper With Lead & Contact Enrichment
Scrape detailed company info from LinkedIn with the LinkedIn Company About Scraper. Extract descriptions, industry, size, headquarters, specialties, and founding details. Ideal for market research, competitor analysis, and business insights. Fast, accurate, and scalable for any company.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Share
LinkedIn Company Scraper — Firmographics and Decision-Maker Leads
LinkedIn Company About Scraper With Lead & Contact Enrichment reads any list of LinkedIn company URLs or usernames and returns structured firmographics — industry, headcount, founded year, headquarters, follower count — plus the company's own public decision-maker leads preview: real names and profile links, never guessed placeholders. An optional AI layer scores each company against your ICP. Every response is structured JSON, ready to pass directly to an LLM, load into a CRM, or feed a monitoring pipeline. No LinkedIn login is required to run it.
What is LinkedIn Company About Scraper With Lead & Contact Enrichment?
It's a batch scraper for LinkedIn's guest /company/<name>/about page: give it a list of company URLs or bare usernames and it returns one structured row per company. Its differentiator is the decision-maker leads preview — the real, unblurred names and LinkedIn profile links that a company's own About page displays to visitors, filtered so that LinkedIn's login-gated "LinkedIn Member" placeholder cards are never shipped as fake leads. No LinkedIn account, login, or cookies are required — it reads the public guest page with a real headless Chromium browser.
- Full firmographics: industry, organization type, specialties, founded year, employee range, follower count
- Structured headquarters (city, state, country, postal code) instead of a single text blob
- Decision-maker leads preview with name and LinkedIn profile link per person, capped per company
- Optional, opt-in AI ICP-fit and lead-quality scoring across 7 AI providers (bring your own API key)
- Accepts LinkedIn company URLs or bare usernames, batched in a single run
- Residential-proxy auto-fallback when LinkedIn blocks the guest request
What data can you get with LinkedIn Company About Scraper With Lead & Contact Enrichment?
Each run returns one JSON row per company covering firmographics, location, media links, decision-maker leads, and (optionally) AI lead scoring.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Firmographics | company_name, category, organizationType, specialties, foundedYear, number_employees, employeeCountMin, employeeCountMax, followerCount, associated_members, tagline, description | Industry research, TAM sizing |
| Identity & location | linkedin_url, companyUrn, domain, hasPubliclyListedWebsite, location, hqCity, hqState, hqCountry, hqPostalCode | Territory mapping, CRM record matching |
| Media & outreach links | logoUrl, coverImageUrl, jobsSearchUrl | Sales collateral, hiring-signal research |
| Decision-maker leads | decisionMakerLeadsCount, decisionMakerLeads (name, profileUrl, imageUrl) | Sales prospecting, outreach targeting |
| AI ICP & lead scoring (opt-in) | icpFitScore, leadQualityTier, aiIndustryClassification, aiKeyTopics, aiSentiment, aiReasoning, aiModelUsed, aiError | Lead prioritization |
| Run metadata | success, scraped_at | Pipeline QA, change-monitoring |
Decision-maker leads
decisionMakerLeads mirrors the company's own "People to explore" preview block on its About page — the same block any visitor sees. LinkedIn renders most of those cards blurred and login-gated behind a generic "LinkedIn Member" placeholder for guests; this scraper strips that block out entirely and only ever emits the handful of cards LinkedIn itself leaves unblurred. There is no name-guessing, no domain-plus-name email pattern generation, and no job title (LinkedIn's guest markup does not render one for these cards, so the field is omitted rather than shipped as a permanently-empty column). Each entry looks like:
{"decisionMakerLeadsCount": 1,"decisionMakerLeads": [{ "name": "Satya Nadella", "profileUrl": "https://www.linkedin.com/in/satyanadella", "imageUrl": "https://media.licdn.com/dms/image/..." }]}
Real coverage varies per company and per fetch — some companies show zero unblurred cards, others show a handful — because the underlying page itself varies, not because of a scraper limitation.
AI ICP and lead-quality scoring
When enableAiLeadScoring is turned on, the company's own description, specialties, and firmographics are sent to your chosen AI provider (Anthropic, OpenAI, Google, xAI, DeepSeek, Perplexity, or Mistral) alongside your free-text ICP criteria. The model returns an icpFitScore (0-100), a leadQualityTier (Hot/Warm/Cold), an industry classification, key topics, sentiment, and a short reasoning string. It is off by default, requires your own API key, and on any failure (missing key, network error, bad model output) the AI fields are left null with aiError populated rather than a fabricated score.
How does LinkedIn Company About Scraper With Lead & Contact Enrichment differ from the official LinkedIn API?
LinkedIn's own Marketing API only exposes Company Page data to a developer app that has been reviewed and approved into the LinkedIn Marketing API Program, and even then, organization-level read access (r_organization_admin/rw_organization_admin) is restricted to Company Pages the authenticated member already administers — not arbitrary third-party companies (LinkedIn Marketing API documentation, Microsoft Learn, accessed 2026-07).
| Feature | LinkedIn Marketing API | LinkedIn Company About Scraper With Lead & Contact Enrichment |
|---|---|---|
| Which companies you can query | Only Company Pages the authenticated member administers | Any public LinkedIn company page you supply a URL or username for |
| Access requirement | Developer app reviewed into the Marketing API Program, plus 3-legged OAuth consent from a page admin | No app review, no OAuth, no LinkedIn login |
| Decision-maker/people data | Not exposed by the API | Parsed from the page's own public "People to explore" preview |
| Setup time | App registration, review, OAuth flow, role assignment | Add company URLs and start the run |
The official API is the right tool when you already manage the Company Page in question and need first-party analytics or posting rights. This scraper is the right tool when you need public data about other companies — prospects, competitors, or acquisition targets — that you don't administer.
How to scrape LinkedIn with LinkedIn Company About Scraper With Lead & Contact Enrichment?
- Open the Actor's page in Apify Console and click Try for free (or Start, if already added to your account).
- Add one or more entries to
leadTargets— a full LinkedIn company URL (https://www.linkedin.com/company/microsoft) or a bare username (google). No field is technically required by the input schema, but the run does nothing without at least one target. - Adjust the real query controls:
includeDecisionMakerPreview/maxDecisionMakerLeadsfor the leads preview,enableAiLeadScoring/icpCriteria/aiModel/aiApiKeyfor AI scoring, andleadProxySettingsfor proxy behavior. - Click Start and let the run process each company in turn.
- Download results as JSON, CSV, Excel, or any format Apify's dataset export supports, or read them back over the API.
Example run input:
{"leadTargets": ["https://www.linkedin.com/company/microsoft", "google", "apple"],"includeDecisionMakerPreview": true,"maxDecisionMakerLeads": 5}
How to run multiple companies in one job
leadTargets accepts an array, so a single run processes every company in the list sequentially — mix full URLs and bare usernames freely. There is no separate batch-upload step or fixed array-size cap in the input schema; the practical ceiling is your own Apify run time and memory, not a hardcoded limit in the Actor.
⬇️ Input
All 10 input parameters are optional — the schema declares zero required fields.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
leadTargets | No | array | LinkedIn company URLs or bare usernames to qualify as leads. Also accepts the base actor's original startUrls key. | ["https://www.linkedin.com/company/microsoft", "google"] |
includeDecisionMakerPreview | No | boolean | Parse the About page's own public decision-maker preview into leads. Default true. | true |
maxDecisionMakerLeads | No | integer | Cap on decision-maker leads emitted per company (0-10). Default 10. | 10 |
enableAiLeadScoring | No | boolean | Turn on AI ICP & lead-quality scoring. Default false. | false |
icpCriteria | No | string | Free text describing your target buyer. Used only when AI scoring is enabled. | "B2B SaaS, 50-500 employees, US-based" |
aiModel | No | string (enum) | AI model to use for scoring; provider is auto-detected from the name prefix. Default claude-haiku-4-5. | "claude-haiku-4-5" |
aiApiKey | No | string (secret) | Your own API key for the selected AI provider. Falls back to a matching environment variable if left blank. | "" |
fetchRetries | No | integer | Retry attempts per company page before giving up. Default 3. | 3 |
fetchDelaySeconds | No | integer | Base delay before each company fetch. Default 2. | 2 |
leadProxySettings | No | object (proxy) | Proxy configuration. Also accepts the base actor's original proxyConfiguration key. | { "useApifyProxy": false } |
Example JSON input:
{"leadTargets": ["https://www.linkedin.com/company/microsoft", "google", "apple"],"includeDecisionMakerPreview": true,"maxDecisionMakerLeads": 10,"enableAiLeadScoring": true,"icpCriteria": "B2B SaaS companies, 50-500 employees, US-based, Series A-C","aiModel": "claude-haiku-4-5","aiApiKey": "","fetchRetries": 3,"fetchDelaySeconds": 2,"leadProxySettings": { "useApifyProxy": false }}
Common pitfall: maxDecisionMakerLeads only caps how many unblurred leads are emitted — it does not force more leads to appear. If a company's About page only shows one unblurred card, you'll get one lead regardless of the cap. Similarly, filling in icpCriteria or aiModel has no effect unless enableAiLeadScoring is also set to true.
⬆️ Output
Output is one typed, normalized JSON object per company, pushed to the Actor's dataset (36 fields per row, listed above). Export it as JSON, CSV, Excel, or via the Apify API in any format the platform supports.
Scraped results
[{"company_name": "Microsoft","linkedin_url": "https://www.linkedin.com/company/microsoft","companyUrn": "1035","domain": "https://news.microsoft.com","hasPubliclyListedWebsite": true,"category": "Software Development","organizationType": "Public Company","specialties": ["Business Software", "Developer Tools", "Cloud Computing"],"foundedYear": 1975,"number_employees": "10,001+ employees","employeeCountMin": 10001,"employeeCountMax": null,"followerCount": 24800000,"associated_members": "1,234,567","location": "Redmond, Washington","hqCity": "Redmond","hqState": "Washington","hqCountry": "US","hqPostalCode": "98052","tagline": "Empowering every person and organization on the planet to achieve more.","logoUrl": "https://media.licdn.com/dms/image/.../company-logo_400_400/...","coverImageUrl": "https://media.licdn.com/dms/image/.../image-scale_191_1128/...","jobsSearchUrl": "https://www.linkedin.com/jobs/search?f_C=1035","decisionMakerLeadsCount": 1,"decisionMakerLeads": [{ "name": "Satya Nadella", "profileUrl": "https://www.linkedin.com/in/satyanadella", "imageUrl": "https://media.licdn.com/dms/image/..." }],"description": "Every company has a mission. What's ours? To empower every person...","icpFitScore": null,"leadQualityTier": null,"aiIndustryClassification": null,"aiKeyTopics": [],"aiSentiment": null,"aiReasoning": null,"aiModelUsed": null,"aiError": null,"success": true,"scraped_at": "2026-07-25T10:00:00.000000"},{"company_name": "Google","linkedin_url": "https://www.linkedin.com/company/google","companyUrn": "1441","domain": "https://www.google.com","hasPubliclyListedWebsite": true,"category": "Software Development","organizationType": "Public Company","specialties": ["search", "ads", "mobile", "android", "online video", "machine learning"],"foundedYear": 1998,"number_employees": "10,001+ employees","employeeCountMin": 10001,"employeeCountMax": null,"followerCount": 33900000,"associated_members": "950,000","location": "Mountain View, California","hqCity": "Mountain View","hqState": "California","hqCountry": "US","hqPostalCode": "94043","tagline": "Organizing the world's information.","logoUrl": "https://media.licdn.com/dms/image/.../company-logo_400_400/...","coverImageUrl": "https://media.licdn.com/dms/image/.../image-scale_191_1128/...","jobsSearchUrl": "https://www.linkedin.com/jobs/search?f_C=1441","decisionMakerLeadsCount": 0,"decisionMakerLeads": [],"description": "A problem isn't truly solved until it's solved for all...","icpFitScore": null,"leadQualityTier": null,"aiIndustryClassification": null,"aiKeyTopics": [],"aiSentiment": null,"aiReasoning": null,"aiModelUsed": null,"aiError": null,"success": true,"scraped_at": "2026-07-25T10:00:01.000000"},{"company_name": "Apple","linkedin_url": "https://www.linkedin.com/company/apple","companyUrn": "162479","domain": "https://www.apple.com/careers","hasPubliclyListedWebsite": true,"category": "Computers and Electronics Manufacturing","organizationType": "Public Company","specialties": [],"foundedYear": 1976,"number_employees": "10,001+ employees","employeeCountMin": 10001,"employeeCountMax": null,"followerCount": 18700000,"associated_members": "700,000","location": "Cupertino, California","hqCity": "Cupertino","hqState": "California","hqCountry": "US","hqPostalCode": "95014","tagline": null,"logoUrl": "https://media.licdn.com/dms/image/.../company-logo_400_400/...","coverImageUrl": "https://media.licdn.com/dms/image/.../image-scale_191_1128/...","jobsSearchUrl": "https://www.linkedin.com/jobs/search?f_C=162479","decisionMakerLeadsCount": 1,"decisionMakerLeads": [{ "name": "Tim Cook", "profileUrl": "https://www.linkedin.com/in/tim-cook-8b3a4a12", "imageUrl": "https://media.licdn.com/dms/image/..." }],"description": "We believe that we're on the face of the earth to make great products...","icpFitScore": null,"leadQualityTier": null,"aiIndustryClassification": null,"aiKeyTopics": [],"aiSentiment": null,"aiReasoning": null,"aiModelUsed": null,"aiError": null,"success": true,"scraped_at": "2026-07-25T10:00:02.000000"}]
How can I use the data extracted with LinkedIn Company About Scraper With Lead & Contact Enrichment?
- B2B sales and SDR teams: turn a target-account list into a working lead list — pull
decisionMakerLeadsfor warm outreach targets andjobsSearchUrlto spot hiring signals worth mentioning in a first message. - AI engineers and LLM developers: an agent takes a company name, calls this Actor, and grounds its answer in the real
description,specialties, and firmographic fields instead of an outdated training-data snapshot. - Market and competitive researchers: batch a set of competitor
leadTargetsand comparefollowerCount,number_employees, andspecialtiesacross runs to track relative growth and positioning. - RevOps and lead-scoring teams: enable
enableAiLeadScoringwith your ownicpCriteriato get anicpFitScoreandleadQualityTierper company before handing the list to sales.
How do you monitor a company's LinkedIn presence over time?
Monitoring means running the same leadTargets list on a schedule and diffing the response against the previous run to catch what actually changed, instead of re-reading every company's About page by hand. Because every row carries scraped_at, you can timestamp each snapshot and compare specific fields between runs rather than the whole object.
The fields worth diffing depend on what you're tracking. For account growth, watch followerCount and employeeCountMin/employeeCountMax — a jump in either is a real signal a company is scaling. For outreach timing, watch decisionMakerLeadsCount and decisionMakerLeads — a newly unblurred name is a fresh, named contact that wasn't reachable last run. For positioning shifts, watch specialties, tagline, and description — companies update these when they pivot or launch something new. If AI scoring is enabled, icpFitScore and leadQualityTier are worth re-checking too, since a company's own description can change enough between runs to move its tier.
A typical workflow: schedule a run across your target-account list, store each run's dataset (dated by scraped_at), diff the new run against the last stored one on the fields above, and alert only on the deltas that matter rather than the entire row. Apify's built-in Scheduler can trigger this Actor on a recurring interval and deliver each run's dataset to your storage or webhook of choice, so the polling loop itself doesn't need to live in your own infrastructure.
Integrate LinkedIn Company About Scraper With Lead & Contact Enrichment and automate your workflow
LinkedIn Company About Scraper With Lead & Contact Enrichment works with any language or tool that can send an HTTP request.
REST API with Python
import requestsTOKEN = "YOUR_APIFY_TOKEN"ACTOR = "Scrapier~linkedin-company-about-scraper-with-lead-contact-enrichment"resp = requests.post(f"https://api.apify.com/v2/acts/{ACTOR}/run-sync-get-dataset-items",params={"token": TOKEN},json={"leadTargets": ["https://www.linkedin.com/company/microsoft", "google"]},)resp.raise_for_status()companies = resp.json()for row in companies:print(row["company_name"], row["decisionMakerLeadsCount"])
MCP for query-grounded AI agents
This Actor is reachable through Apify's MCP server, which exposes any Apify Actor as a callable tool to an MCP-compatible client. Register it with:
$npx @apify/actors-mcp-server --tools actors,docs,Scrapier/linkedin-company-about-scraper-with-lead-contact-enrichment
An agent (Claude, or any MCP client) then calls the tool with a company list, receives the structured JSON rows back, and grounds its answer in the real firmographic and lead data instead of guessing.
Scheduled monitoring and delivery
Use Apify's Scheduler to run this Actor on a recurring interval against a saved leadTargets list, and configure a webhook on run completion to push each new dataset to your own endpoint or storage — no polling loop required on your side.
Is it legal to scrape LinkedIn company data?
Scraping publicly visible LinkedIn company pages is generally lawful in most jurisdictions, and this Actor only returns what any signed-out visitor to a company's About page can already see — no login, no cookies, no authenticated access. Because decisionMakerLeads contains real individuals' names and public profile links, that portion of the output is personal data under GDPR and similar regimes, so if you store or process it for EU/UK-connected individuals you should have a lawful basis and honor deletion requests. Firmographic fields (industry, headcount, headquarters) are business data governed more by LinkedIn's own Terms of Service than by data-protection law. Scraping for one-off research carries a different risk profile than storing bulk personal data for outreach at scale. Consult your legal team for commercial use cases involving bulk data storage or automated outreach.
Frequently asked questions
Do I need a LinkedIn account or cookies to use this scraper?
No. It reads LinkedIn's public guest company page with a real headless browser — no login, no cookies, no authenticated session.
How does the lead & contact enrichment actually work?
It parses the same guest HTML the base scraper already fetches (no extra request) for the About page's own "People to explore" preview, strips out LinkedIn's login-gated blurred-content placeholder cards, and keeps only the names and profile links LinkedIn itself leaves visible to guests. Nothing is guessed or pattern-generated — there is no email address in the output.
Does this scraper guess or generate email addresses?
No. There is no name-plus-domain email-pattern guessing anywhere in the code — only genuinely displayed contact signals (domain, decisionMakerLeads) are returned, and unavailable fields come back null rather than a fabricated guess.
Is AI ICP and lead-quality scoring on by default?
No. enableAiLeadScoring defaults to false. Turn it on and supply aiApiKey (or set a matching provider environment variable) to get icpFitScore, leadQualityTier, and the other AI fields populated.
How many companies can I process in one run?
The input schema places no fixed cap on the leadTargets array — every company you list is processed in the same run, one after another. The practical ceiling is your own Apify run time and memory, not a hardcoded limit in the Actor.
How does this scraper handle LinkedIn's anti-bot measures?
It fetches pages with a real headless Chromium browser via Playwright to reduce LinkedIn's HTTP 999 anti-bot response, retries failed fetches (fetchRetries, default 3) with a randomized backoff delay, and automatically falls back to a residential proxy if a request is blocked with a 403, 429, or 999 status.
Will my existing input JSON with startUrls or proxyConfiguration still work?
Yes. This variant reads its own leadTargets/leadProxySettings/fetchRetries/fetchDelaySeconds keys but falls back to the original startUrls, proxyConfiguration, maxRetries, and requestDelay keys if the new ones aren't present.
Does this scraper work with Claude, ChatGPT, and AI agent frameworks?
Yes. It's reachable through Apify's MCP server (npx @apify/actors-mcp-server --tools actors,docs,Scrapier/linkedin-company-about-scraper-with-lead-contact-enrichment) for MCP-compatible clients, and callable as a plain HTTP endpoint from any agent framework that can make a REST call.
How do I monitor a company's LinkedIn presence over time?
Schedule the same leadTargets list to run on a recurring interval with Apify's Scheduler, store each run's dataset, and diff fields like followerCount, employeeCountMin/employeeCountMax, and decisionMakerLeadsCount against the previous run to catch growth or new contacts.
Can I use this without managing proxies or LinkedIn credentials?
Yes. No LinkedIn login or cookies are needed at all, and by default the Actor runs without any proxy; if LinkedIn blocks the guest request, it automatically escalates to a residential proxy on your Apify account without any extra configuration from you.
Your feedback
Found a bug or a field that doesn't match what's on the actual LinkedIn About page? Let us know through the Actor's Issues tab on Apify Console, or leave a review on the Store listing. Reports like these are what keep the parsing logic in sync with LinkedIn's markup.