LinkedIn Company Scraper โ NO COOKIES
Pricing
from $2.80 / 1,000 company enricheds
LinkedIn Company Scraper โ NO COOKIES
Enrich LinkedIn company URLs or domains into structured firmographic records: industry, employee count, revenue band, funding rounds, HQ, and full tech stack. Submit up to 5,000 inputs per run, one record each. Pay only for companies found; not-found and errors are free. No login needed.
Pricing
from $2.80 / 1,000 company enricheds
Rating
5.0
(1)
Developer
Atomus APIs
Maintained by CommunityActor stats
8
Bookmarked
20
Total users
4
Monthly active users
5 hours ago
Last modified
Categories
Share
LinkedIn Company Scraper
LinkedIn Company Scraper turns a LinkedIn company URL or a bare domain into a structured company record: industry, employee count, revenue band, funding history, HQ address, and full technology stack. Backed by a database of over 70 million companies, it returns one clean JSON record per input. No LinkedIn account, login, or cookies required.
Submit up to 5,000 companies in a single run, pay only for companies found (not-found and errors are always free), and get a predictable 1:1 mapping back to your input list.
๐ก More LinkedIn tools by Atomus: https://apify.com/atomus
What does this LinkedIn Company Scraper do?
Give it a list of LinkedIn company URLs or bare domains and it returns a structured JSON record for each one, ready to load into a CRM, spreadsheet, or AI agent.
| Feature | Description |
|---|---|
| ๐ข Deep firmographics | Industry, company type, founded year, employee count, revenue band, and HQ address. |
| ๐ฐ Funding history | Total funding raised and number of funding rounds in the summary, plus every individual round (type, amount, date) in the full record. |
| ๐งฐ Full technology stack | Every technology detected, categorized, plus a quick technologies_count in the summary. |
| ๐ Global office locations | Every office the company has, not just headquarters. |
| ๐ Cross-platform links | Website, Crunchbase, Twitter/X, and Facebook URLs when discoverable. |
| ๐ Contact details | Public contact email and phone number when available. |
| ๐ฏ Smart domain matching | Submit a bare domain and the Actor disambiguates automatically: it prefers an exact domain match and falls back to the largest company by employee count. |
| ๐ต Pay only for results | You are charged only when a company is found. not_found and error responses are always free. |
| ๐ฆ Batch processing | Submit up to 5,000 companies in a single run. |
| โก 1:1 input-to-output | One input (URL or domain) produces exactly one output record, predictable and easy to join back to your data. |
| ๐ No cookies needed | No LinkedIn account, cookies, or login risk. |
How do I scrape LinkedIn company data?
- Open the Actor and paste LinkedIn company URLs and/or bare domains into the
companiesfield (format:https://www.linkedin.com/company/<slug>orexample.com). - Click Start. The Actor looks up each company and pushes one record to the dataset.
- Read the results. Each record has a
status(success|not_found|error); successful records carry a curatedsummaryplus the fullcompanyobject. - Export or pipe the data. Pull the dataset via the Apify API or Console, or feed it straight into an AI agent over MCP.
No login, no browser session, no cookies, just company URLs or domains in and structured data out.
Input
Basic Usage
Mix LinkedIn company URLs and bare domains freely:
{"companies": ["https://www.linkedin.com/company/stripe","microsoft.com"]}
All Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
companies | string[] | โ Yes | (none) | LinkedIn company URLs or bare domains. Up to 5,000 per run. |
Supported Formats
Use the canonical company URL (the readable /company/name form) or a plain domain:
โ https://www.linkedin.com/company/stripeโ https://www.linkedin.com/company/stripe/โ stripe.comโ www.stripe.com
Not supported: numeric LinkedIn company IDs (the /company/12345 form) and raw LinkedIn URNs / internal IDs:
โ https://www.linkedin.com/company/1035โ urn:li:organization:1035
The data source only resolves the canonical company slug (or a domain). Numeric IDs return
an error record and are never charged. Open the company page in a browser and copy the
/company/name URL from the address bar, or just pass the domain.
LinkedIn URLs with tracking parameters (e.g. ?trk=...) are handled automatically. Personal profile URLs (/in/...) are not supported here; for those, use our LinkedIn Profile Scraper, which turns any profile URL into a full structured record (name, title, skills, education, work history, and current company).
Output
Each input produces exactly one record in the dataset. The status field tells you what happened:
| Status | Charged? | Description |
|---|---|---|
success | โ Yes | Company found, curated summary plus the full company object. |
not_found | โ No | Company not present in the data source. |
error | โ No | Invalid input format or an upstream network failure. |
Success Record
{"input": "https://www.linkedin.com/company/stripe","status": "success","summary": {"name": "Stripe","domain": "stripe.com","linkedin_url": "https://www.linkedin.com/company/stripe","industry": "Financial Services","type": "PRIVATELY_HELD","founded_year": 2010,"staff_total": 8000,"revenue_band": "1000000000-5000000000","funding_total": 8700000000,"funding_rounds": 21,"hq": { "city": "San Francisco", "state": "California", "country": "United States" },"technologies_count": 71,"last_updated": "2026-06-30"},"company": {"summary": {"name": "Stripe","legal_name": "Stripe, Inc.","description": "Stripe builds economic infrastructure for the internet...","founded_year": 2010,"type": "PRIVATELY_HELD","industry": "Financial Services","staff": { "total": 8000, "range": { "start": 5001, "end": 10000 } }},"link": {"website": "https://stripe.com","domain": "stripe.com","linkedin": "https://www.linkedin.com/company/stripe","twitter": "https://x.com/stripe","crunchbase": "https://www.crunchbase.com/organization/stripe"},"contact": { "email": "support@stripe.com", "phone": { "raw": null, "sanitized": null } },"financial": {"revenue": { "annual": { "amount": "1000000000-5000000000" } },"funding": {"total_amount": 8700000000,"num_funding_rounds": 21,"rounds": [{ "type": "series_h", "amount": 6500000000, "date": "2023-03-14" }]}},"location": {"headquarter": { "city": "San Francisco", "state": "California", "country": "United States" },"locations": [{ "city": "San Francisco", "country": "United States" }]},"technologies": [{ "name": "React", "category": "frontend framework" }],"industries": ["Financial Services", "Software Development"],"naics": ["522320"],"sic": ["6199"],"last_updated": "2026-06-30"},"_metadata": { "extracted_at": "2026-07-02T12:00:00.000Z" }}
(financial.funding.rounds, technologies, and location.locations are truncated above for readability; the live record for this company carries all 21 funding rounds, all 71 technologies, and all 15 office locations.)
Not Found Record
{"input": "https://www.linkedin.com/company/some-unknown-startup","status": "not_found","_metadata": { "extracted_at": "2026-07-02T12:00:00.000Z" }}
Error Record
{"input": "not-a-url-or-domain","status": "error","error_kind": "actor_error","reason": "Not a LinkedIn company URL or a domain. Expected https://www.linkedin.com/company/<slug> or example.com","_metadata": { "extracted_at": "2026-07-02T12:00:00.000Z" }}
Output Fields Reference
Summary (curated, stable):
| Field | Type | Description |
|---|---|---|
summary.name | string | null | Company name. |
summary.domain | string | null | Root domain. |
summary.linkedin_url | string | null | Canonical LinkedIn company URL. |
summary.industry | string | null | Industry classification. |
summary.type | string | null | PUBLIC_COMPANY, PRIVATELY_HELD, NON_PROFIT, etc. |
summary.founded_year | integer | null | Year founded. |
summary.staff_total | integer | null | Total employee count. |
summary.revenue_band | string | null | Annual revenue range. |
summary.funding_total | integer | null | Total funding raised (USD). |
summary.funding_rounds | integer | null | Number of funding rounds. |
summary.hq.city / state / country | string | null | Headquarters location. |
summary.technologies_count | integer | Number of technologies detected. |
summary.last_updated | string | null | ISO date the upstream source last refreshed this company. |
Full company object (company, complete passthrough):
| Field | Type | Description |
|---|---|---|
company.summary.legal_name | string | null | Registered legal name. |
company.summary.description | string | null | Long-form company description. |
company.summary.overview | string | null | Short overview. |
company.summary.staff.range | object | Employee range (start, end). |
company.link.website | string | null | Company website URL. |
company.link.domain / domain_ltd | string | null | Root domain / domain with TLD. |
company.link.linkedin / facebook / twitter / crunchbase | string | null | Social and Crunchbase URLs when discoverable. |
company.contact.email | string | null | Public contact email. |
company.contact.phone.raw / sanitized | string | null | Public contact phone number. |
company.financial.revenue.annual | object | Revenue range and band. |
company.financial.funding.total_amount | integer | null | Total funding raised. |
company.financial.funding.num_funding_rounds | integer | null | Number of funding rounds. |
company.financial.funding.rounds | object[] | Every funding round: type, amount, date. |
company.location.headquarter | object | Full HQ address. |
company.location.locations | object[] | Every global office location. |
company.technologies | object[] | Full technology stack, categorized. |
company.industries | string[] | Industry tags. |
company.naics / company.sic | string[] | NAICS and SIC classification codes. |
company.last_updated | string | null | ISO date this record was last refreshed. |
How much does it cost to scrape LinkedIn company data?
This Actor uses pay-per-result pricing. You are charged only when a company is found; check the Pricing tab on this Actor's page for the current rate.
What you are NOT charged for:
- Companies that returned
not_found(not in the data source) - Companies that returned
error(invalid input or network failure) - Apify platform compute time (memory/CPU)
Free plan limit
Apify Free plan users can look up up to 20 companies per calendar month so you can validate the output and field shape before paying. The cap resets on the 1st of each month and only counts successful lookups, not_found and error results never count against it. To run unlimited companies, upgrade to any paid Apify plan. Free-tier overflow within a batch returns a status: "error" record with error_kind: "free_tier_limit" and is not charged.
๐ก Companies that aren't found cost nothing, there's no penalty for trying.
Platform limits and gotchas
- Batch size: up to 5,000 companies per run.
- Large batches checkpoint automatically. Runs with more than 50 companies save progress as they go, so if Apify has to restart the container mid-run, the Actor resumes instead of starting over and re-charging you.
- Mixed input is fine. You can combine LinkedIn URLs and bare domains in the same
companieslist. - Domain matching is best-effort. For a bare domain with multiple similarly named entries in the data source, the Actor picks the exact domain match when one exists, otherwise the largest company by employee count.
Use it with AI agents and MCP
This Actor is built for AI agents and LLMs via the Apify MCP server. Each record has a status field (success | not_found | error) and a flat, predictable summary object when status is success, ideal for agent post-processing.
Key fields for agents:
summary.name+summary.domain: Which company this issummary.industry+summary.type: What the company does and how it's structuredsummary.staff_total: Company size for ICP / segmentationsummary.revenue_band+summary.funding_total+summary.funding_rounds: Financial profilesummary.hq: Where the company is basedsummary.technologies_count(andcompany.technologiesfor the full list): Tech stack signalscompany.financial.funding.rounds: Full funding history for investment or account research
Example agent prompt:
"Look up these 10 companies and summarize each one's industry, headcount, and funding stage in a table."
The agent passes the domain or LinkedIn URL list as companies and processes the structured summary output directly, no scraping logic, no HTML parsing.
Use Cases
- ๐ฏ Account-based marketing: Enrich target account lists with industry, size, and revenue before outreach.
- ๐ผ Sales prospecting: Qualify inbound leads by company size, funding, and tech stack.
- ๐ Investment research: Pull funding history and round-by-round detail for companies you're tracking.
- ๐งฉ Recruiting: Size up a prospective employer's headcount, industry, and stability before a candidate conversation.
- ๐ข Account research: Understand a target company's HQ, offices, and technology footprint.
- ๐ Data pipelines: Feed structured firmographic data into a CRM or data warehouse.
- ๐ค AI agent context: Give AI agents structured company background before a meeting, call, or outreach sequence.
LinkedIn Company Scraper vs cookie-based tools vs the official LinkedIn API
| This LinkedIn Company Scraper | Cookie-based scrapers | Official LinkedIn API | |
|---|---|---|---|
| LinkedIn account / cookies | Not needed | Your logged-in cookies required | OAuth app + LinkedIn approval |
| Account / ban risk | None (no account used) | High (your account can be restricted) | None |
| Setup | Paste company URLs or domains | Extract and paste your session cookie | Partner application + review |
| Data depth | Full firmographics, funding history, tech stack, offices | Varies, often overview-only | Limited, mostly company page basics |
| Input flexibility | LinkedIn URL or bare domain | Usually LinkedIn URL only | Company page ID |
| Bulk | Up to 5,000 companies per run | Rate-limited by your account | Strict quotas |
| Pricing | Pay per company found | Subscription + your account | Gated / partner pricing |
For most teams that just have a list of company URLs or domains to enrich, the cookieless approach returns full structured data with zero account risk, no session to maintain, and no partner approval to wait on.
Other LinkedIn scrapers by Atomus
| Actor | What it does |
|---|---|
| LinkedIn Profile Scraper | Turn any LinkedIn profile URL into a full structured record: name, title, skills, education, and work history. |
| LinkedIn Post Reactions Scraper Pro | Extract every reactor on a LinkedIn post (name, headline, profile URL, reaction type). |
| LinkedIn Posts Scraper | Scrape posts, text, media, and engagement counts from any LinkedIn profile or company. |
| LinkedIn Post Comments & Replies Scraper Pro | Extract every comment and reply on a LinkedIn post, with reaction counts and reply tracking. |
See all tools at apify.com/atomus.
FAQ
What is LinkedIn company scraping?
LinkedIn company scraping turns a company's LinkedIn URL or domain into a full structured record, industry, employee count, revenue band, funding history, HQ address, and technology stack, without opening a browser or logging in. This Actor takes a list of company URLs or domains and returns one clean JSON record per company, ready for a CRM, spreadsheet, or AI agent.
How do I look up a company without an account or cookies?
Paste the company's LinkedIn URL or domain (or up to 5,000 of them) into companies and run the Actor. It resolves each company through a cookieless data source, so you never connect a LinkedIn account, paste a session cookie, or risk a ban. Each input returns exactly one record.
What data does the LinkedIn Company Scraper return?
For each found company: a curated summary (industry, type, founded year, employee count, revenue band, total funding, funding round count, HQ, technologies count, last updated) plus the full record, legal name, description, every funding round, the full categorized technology stack, all global office locations, NAICS and SIC codes, industry tags, contact email and phone, and Crunchbase / Twitter / Facebook links.
Can I look up a company by domain instead of a LinkedIn URL?
Yes. Submit a bare domain like stripe.com and the Actor matches it against the data source, preferring an exact domain match and falling back to the largest company by employee count if there's ambiguity. LinkedIn URLs and domains can be mixed in the same run.
How much does it cost?
Pay-per-result: you're charged only for companies that are found, not_found and error results are free. Check the Pricing tab for the current rate. Free Apify plans include 20 successful company lookups per month so you can test before paying.
Is there an official LinkedIn API for company data?
LinkedIn's official APIs (Marketing, Talent Solutions) are partner-gated, require an approved OAuth app, and don't expose arbitrary company data for enrichment at scale. For turning a list of company URLs or domains into structured firmographic records, a cookieless scraper like this one is the practical path.
Is it legal to scrape LinkedIn company data?
This Actor reads publicly available company information through a third-party data source. You are responsible for using the output in line with applicable laws (GDPR/CCPA), LinkedIn's terms, and your own compliance requirements. It is an independent tool, not affiliated with LinkedIn.
How fresh is the data?
Each record includes a last_updated field showing when the upstream source last refreshed that company, so you always know how recent the data is.
What happens if a company isn't found?
You get a record with status: "not_found" (not present in the data source) or status: "error" (invalid input or upstream failure). Neither is charged, so there is no penalty for trying a company that doesn't resolve.
Can I enrich a CRM or spreadsheet in bulk?
Yes. Export company URLs or domains from your CRM or spreadsheet, paste them into companies (up to 5,000 per run), and run. The output maps 1:1 to your input, so it's easy to rejoin in any spreadsheet tool or database.
โ ๏ธ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedInยฎ is a registered trademark of LinkedIn Corporation. All trademarks are property of their respective owners.