LinkedIn Company Scraper — Public Company Data
Pricing
Pay per usage
LinkedIn Company Scraper — Public Company Data
Scrape LinkedIn company pages without login. Extract company name, industry, headquarters, size, founded year, type, specialties, website, description, follower count, employee count, recent posts, and logo. Google search fallback for company discovery by name or industry.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 minutes ago
Last modified
Categories
Share
LinkedIn Company Scraper
Scrape LinkedIn company pages for public company data without login. Extract company name, industry, headquarters, size, founded year, type, specialties, website, description, follower count, employees on LinkedIn, recent posts, and logo URL.
Use Cases
- B2B Prospecting — Build targeted lists of companies by industry, size, or location for outbound sales campaigns.
- Market Research — Analyze competitor landscapes, industry trends, and company growth patterns at scale.
- Competitive Intelligence — Monitor competitors' LinkedIn presence, follower growth, recent activity, and employee counts.
- Lead Generation — Find companies matching your ideal customer profile (ICP) with enriched firmographic data.
- Investment Research — Screen companies by size, industry, and growth indicators for deal sourcing.
- Recruitment — Identify target companies for talent sourcing based on industry, size, and location.
- Sales Enablement — Enrich CRM records with up-to-date LinkedIn company data for better targeting.
Features
- Scrapes public LinkedIn company pages (no login or cookies needed)
- Multiple extraction strategies with automatic fallback:
- Embedded JSON parsing (highest fidelity)
- LD+JSON structured data (schema.org)
- Meta tag extraction (og:, twitter:)
- DOM parsing with CSS selectors
- Google search discovery — find companies by name, industry, or keywords using
site:linkedin.com/company/dorking - Bing search as backup discovery engine
- 14 rotating user agents for anti-bot evasion
- Company size filtering — filter results by employee count range
- Deduplication by LinkedIn company slug
- Recent post extraction — latest company posts with engagement metrics
- Proxy support — residential proxies recommended for reliability
- Pay-per-event pricing — only charged for successfully scraped companies ($0.005/company)
Output Data
Each scraped company includes:
| Field | Type | Description |
|---|---|---|
companyName | String | Official company name |
linkedinUrl | String | Full LinkedIn company page URL |
companySlug | String | LinkedIn URL slug (e.g., "microsoft") |
industry | String | Primary industry |
headquarters | String | HQ location (city, state, country) |
companySize | String | Employee count range (e.g., "10,001+ employees") |
founded | String | Year founded |
type | String | Company type (Public, Private, Nonprofit, etc.) |
specialties | Array | List of company specialties |
website | String | Company website URL |
websiteDomain | String | Extracted domain from website |
description | String | Company description/overview |
followers | Number | LinkedIn follower count |
employeesOnLinkedIn | Number | Number of employees on LinkedIn |
logoUrl | String | Company logo image URL |
recentPosts | Array | Recent company posts with text, date, likes, comments |
recentPostCount | Number | Number of recent posts extracted |
source | String | How the company was found (direct, google_search, bing_search) |
scrapedAt | String | ISO timestamp of when data was scraped |
extractionStrategies | Array | Which strategies successfully extracted data |
Input Examples
Scrape specific companies by URL
{"companyUrls": ["https://www.linkedin.com/company/microsoft","https://www.linkedin.com/company/google","apple","meta-platforms"],"maxResults": 10}
Search for companies by name
{"searchQuery": "artificial intelligence startup","maxResults": 50}
Search with industry and size filter
{"searchQuery": "fintech","industry": "financial services","companySize": "51-200","maxResults": 100}
Full configuration
{"companyUrls": ["https://www.linkedin.com/company/stripe"],"searchQuery": "payment processing","industry": "technology","companySize": "201-500","maxResults": 200,"maxConcurrency": 2,"requestDelay": 5,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Tips for Best Results
- Use residential proxies — LinkedIn aggressively blocks datacenter IPs. Residential proxies dramatically improve success rates.
- Keep concurrency low — 1-2 concurrent requests is recommended. LinkedIn rate-limits aggressively.
- Set reasonable delays — 5-10 second delays between requests help avoid blocks.
- Combine URLs and search — Provide known company URLs for guaranteed scraping, plus search queries for discovery.
- Start small — Test with 5-10 companies before running large batches to verify proxy and settings work.
Company Size Filter Options
| Value | Description |
|---|---|
any | No filtering (all sizes) |
1-10 | Micro businesses |
11-50 | Small businesses |
51-200 | Medium businesses |
201-500 | Mid-market |
501-1000 | Upper mid-market |
1001-5000 | Large companies |
5001-10000 | Enterprise |
10001+ | Large enterprise |
Limitations
- Scrapes public data only — no login, no private profiles, no authentication
- LinkedIn may show limited data on public company pages (auth wall)
- Google search discovery is limited by Google's rate limiting
- Very new or small companies may have minimal LinkedIn data
- Results depend on LinkedIn's public page structure, which can change
Cost
This actor uses pay-per-event pricing:
- $0.005 per company successfully scraped
- No charge for failed scrapes, blocked pages, or search discovery
- No monthly fees — pay only for what you use
Legal Notice
This actor scrapes only publicly available information from LinkedIn company pages. It does not log in, bypass authentication, or access private data. Users are responsible for complying with LinkedIn's Terms of Service and applicable laws (GDPR, CCPA, etc.) when using scraped data.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/linkedin-company-scraper").call(run_input={"searchTerm": "linkedin company","maxResults": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item.get('title', item.get('name', 'N/A'))}")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/linkedin-company-scraper').call({searchTerm: 'linkedin company',maxResults: 50});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => console.log(item.title || item.name || 'N/A'));