LinkedIn Company Data Extractor: Firmographics + Social Signals
Pricing
Pay per usage
LinkedIn Company Data Extractor: Firmographics + Social Signals
Scrapes public LinkedIn company pages. Live-saves results per URL. Starts with user-selected proxy (or direct), falls back to Apify Residential if blocked, and keeps it.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Scrapium
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
LinkedIn Company Data Extractor (Firmographics + Social Signals)
Turns a list of public LinkedIn company page URLs into structured records — firmographics, follower count, and (optionally) employee previews, related pages, and recent posts with engagement counts. Built for enrichment pipelines, ICP scoring, and lead lists, not for one-off browsing.
How it works
For each URL, the actor:
- Requests the public company page (no login, no cookies).
- Reads the page's embedded JSON-LD
Organizationnode for the core facts LinkedIn publishes structurally (name, description, address, employee count, website, logo). - Falls back to HTML parsing for fields LinkedIn only renders visually (industry, size, headquarters text, founding year, specialties, follower count, employee/related-page previews, posts).
- Normalizes everything into one flat schema and pushes the row to the dataset immediately — you don't wait for the whole batch to finish to see results.
- Retries failed requests with backoff, and escalates to Apify's Residential proxy group automatically if it detects a block (HTTP 403/407/429/999 or an authwall redirect).
URLs are queued through an Apify Request Queue, so duplicate URLs are skipped automatically and runs can resume cleanly if interrupted.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
companyUrls | array (required) | — | One or more linkedin.com/company/<slug> URLs. |
scrapeMode | "essentials" | "complete" | "complete" | See below. |
includeEngagementMetrics | boolean | true | Attaches like/comment/share counts to posts. Only matters in complete mode. |
maxPostsPerCompany | integer (0–50) | 10 | Cap on posts kept per company. |
flattenListFields | boolean | false | Collapse nested arrays/objects into delimited strings — see Output. |
politeDelayMs | integer (0–10000) | 0 | Jittered delay before each request, to spread out traffic on large runs. |
retryLimit | integer (1–10) | 3 | Attempts per URL before it's recorded as failed. |
requestTimeoutSeconds | integer (5–120) | 30 | Per-request timeout. |
maxConcurrency | integer (1–20) | 3 | URLs processed in parallel. |
proxyConfiguration | object | — | Optional. Leave empty to start direct; the actor switches to Residential on its own if blocked. |
Scrape modes
essentials— firmographics + follower count only. No employee, related-page, or post scraping. Use this when you just need company facts for enrichment; it's faster and produces smaller dataset rows.complete— everythingessentialsreturns, plusemployeePreview,relatedCompanies, andrecentPosts(with engagement metrics if enabled).
Output
Each dataset row corresponds to one input URL, whether it succeeded or failed.
| Field | Description |
|---|---|
sourceUrl, linkedinSlug | The input URL and its normalized /company/<slug> identifier. |
scrapeSuccessful, errorMessage | Outcome of the scrape; errorMessage is empty on success. |
companyName, about, tagline | Name, description, and slogan. |
hqLocation | { city, state, country }. |
industryCategory, companySizeRange, foundedYear, headquartersText, organizationType | Firmographic detail fields. |
employeeCountOnLinkedIn, followerCount | LinkedIn's reported employee count and follower count. |
websiteUrl, websiteDomain, logoUrl | Company website (raw + bare domain) and logo. |
specialtyKeywords | List of specialty tags. |
relatedCompanies, relatedCompanyCount | Public "similar pages" list and its size. |
employeePreview, employeePreviewCount | Small public sample of employees (name, title, profile/photo URL). |
recentPosts, recentPostCount | Recent posts with likeCount/commentCount/shareCount when available. |
scrapedAt | UTC timestamp the row was produced. |
When flattenListFields is true, hqLocation, specialtyKeywords, relatedCompanies, employeePreview, and recentPosts are written as single delimited text strings instead of arrays/objects — pick this if you're exporting straight to CSV/Excel and don't want nested JSON in a cell.
Reliability & rate limiting
- Proxy fallback: starts direct (or on your configured proxy) and switches every subsequent request in a worker to Apify Residential the moment it sees a block-style response. No manual intervention needed mid-run.
- User-agent rotation: each request picks from a pool of current desktop user agents rather than reusing one fixed string.
- Politeness delay:
politeDelayMsadds a randomized (jittered) pause before requests, useful for large batches where you'd rather trade a bit of speed for a lower block rate. - Retries with backoff: failed requests retry up to
retryLimittimes with exponential backoff (capped at 10s) before the URL is recorded as failed — it's never silently dropped.
Typical uses
- Enriching lead/account lists with industry, size, HQ, and specialties for ICP scoring.
- Tracking follower growth and post engagement across a set of competitors.
- Validating headcount and location before an outbound campaign.
- Building a firmographic layer for a CRM or data warehouse via
linkedinSlug/websiteDomainjoin keys.
Limitations
- Public pages only — no login, no Sales Navigator, no Recruiter data.
employeePreviewandrelatedCompaniesreflect whatever LinkedIn renders publicly on the page (typically a small sample), not a full employee directory.followerCountis parsed from page metadata rather than a dedicated API field; it returns0if LinkedIn doesn't render it for a given page.
Compliance note
This actor only reads pages that are publicly accessible without authentication. Whether scraping LinkedIn is appropriate for your use case depends on your jurisdiction, purpose, and LinkedIn's Terms of Service — this isn't legal advice, and you're responsible for using the data lawfully and respecting applicable privacy regulations (e.g., GDPR/CCPA).