LinkedIn Company Scraper avatar

LinkedIn Company Scraper

Pricing

from $5.00 / 1,000 company profile delivereds

Go to Apify Store
LinkedIn Company Scraper

LinkedIn Company Scraper

LinkedIn Company Scraper with no login or cookies. Give it a URL, slug or company name and get industry, size, headquarters, founded year, website, specialties and followers. $0.005 per company.

Pricing

from $5.00 / 1,000 company profile delivereds

Rating

0.0

(0)

Developer

Agnes Maina

Agnes Maina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

LinkedIn Company Scraper: company data from a URL or a name, no login

Run on Apify

LinkedIn Company Scraper turns a LinkedIn company URL, a slug or a plain company name into structured company facts: industry, size, headquarters, founded year, website, specialties, followers and employees on LinkedIn. You pay $0.005 per company delivered plus $0.005 per run, and every not-found row is free with a reason.

Limits before you run it: up to 1,000 companies per run, no cookies and no login, and only the main company page is read, not the other LinkedIn page types. It returns company facts, not the employee list, and it will not charge you for a page that does not exist, for a page behind a login wall, or for a name that resolves to a different company.

What you get

One row per company you ask for, read from the public LinkedIn company page.

FieldWhat it holds
nameCompany name as shown on LinkedIn
taglineThe company's own tagline
industryIndustry as LinkedIn lists it
companySizeSize band, for example 5,001-10,000
employeesOnLinkedInPeople on LinkedIn who list this company as their employer
headquarters, city, region, countryCodeHeadquarters as listed, split out, with the country as ISO 3166 two letters
foundedYear founded
companyTypePrivately Held, Public Company, Nonprofit and so on
specialtiesSpecialties list, null when LinkedIn shows none
websiteCompany website
followersLinkedIn followers
about, logoUrlThe About text and the logo URL
linkedinUrl, slugThe company page that was read, and its URL name, handy as a dedupe key
inputWhat you typed, so you can join results to your list
charged, reasonWhether the row was billed, and why
scrapedAtWhen the row was collected, ISO 8601

A RUN_SUMMARY record in the key-value store counts requested, delivered, charged, not found, blocked and name-mismatch rows.

Try it in 30 seconds

  1. Open the Actor page and click Try for free.
  2. The input is prefilled with a URL, a slug and a company name. Keep them or paste your own list.
  3. Click Start. Rows show up in the Companies table as each page is read.

The Apify free plan gives you $5 of platform credit every month, which at this price covers roughly 990 companies once run-start fees are counted. No credit card needed.

Example output

This is the Stripe row, parsed from the page saved on 2026-09-29 (the same page the test suite checks against):

{
"input": "stripe",
"linkedinUrl": "https://www.linkedin.com/company/stripe",
"slug": "stripe",
"name": "Stripe",
"tagline": "Help increase the GDP of the internet.",
"industry": "Technology, Information and Internet",
"companySize": "5,001-10,000",
"employeesOnLinkedIn": 16622,
"headquarters": "South San Francisco, California",
"city": "South San Francisco",
"region": "California",
"countryCode": "US",
"founded": 2010,
"companyType": "Privately Held",
"specialties": null,
"website": "https://stripe.com",
"followers": 1737436,
"about": "Stripe builds programmable financial services. Millions of companies...",
"logoUrl": "https://media.licdn.com/dms/image/v2/...",
"charged": true,
"reason": "company profile delivered",
"scrapedAt": "2026-09-29T13:02:14.637Z"
}

Typing Kenya Airways gives the same shape: slug kenya-airways, industry Airlines and Aviation, size 1,001-5,000, 8,706 employees on LinkedIn, founded 1977, country KE.

Pricing

Pay per event, two events:

EventPriceWhen
Actor start$0.005once per run
Company$0.005per company delivered with name, industry, size and location present

Worked example: a run of 1,000 companies that all resolve costs 1,000 x $0.005 + $0.005 = $5.005. If 40 of those have no LinkedIn page, you pay for 960, so $4.80 + $0.005 = $4.805.

You are not charged for a company when the page does not exist (reason: "company page not found"), the page loads without the facts block, for example behind a login wall (reason: "missing name, industry, size, location"), or you typed a name and the page found belongs to a different company (reason: "name does not match page (...)"). Those rows still land in the dataset with charged: false, so you can see exactly what was tried. Set a spending limit on the run and the Actor stops cleanly when it is reached.

How it works

  1. URLs and slugs go straight to the company page.
  2. A name is first turned into a likely slug (Kenya Airways becomes kenya-airways). If that page does not exist, or its name does not match what you typed, the Actor runs a Google search limited to linkedin.com/company and tries the first company slug it finds.
  3. Each page is fetched through a US residential proxy with a fresh session per attempt, up to 3 attempts.
  4. Facts are parsed from the page's fact list, top card and structured data. If they are missing the row is marked unreadable and not charged.

Measured on 2026-09-29: 20 out of 20 mixed inputs delivered, including Safaricom, Procter & Gamble, Kenya Airways, Notion and Equity Bank.

Input

FieldTypeRequiredNotes
companiesarray of stringsYes1 to 1,000 entries per run. Each entry is a company URL, a slug or a company name

Accepted forms:

  • URL: https://www.linkedin.com/company/stripe (country subdomains such as ke.linkedin.com work too)
  • Slug: stripe
  • Name: Kenya Airways, Procter & Gamble
{
"companies": [
"https://www.linkedin.com/company/stripe",
"asana",
"Kenya Airways"
]
}

Use cases

  • CRM enrichment. Push a column of company names from HubSpot or Salesforce, get industry, size band and HQ back, and fill the blanks.
  • ABM account lists. Filter a target list by companySize and industry before sales spends time on it.
  • Investor and market mapping. Pull founded year, company type, HQ country and follower counts for every company in a sector map.
  • Lead scoring by size and industry. employeesOnLinkedIn and companySize make a firmographic score without a paid data vendor.
  • Dedupe by slug. "P&G" and "Procter & Gamble" resolve to one slug, a clean join key.

Integrations

Run it from the API with curl:

curl -X POST "https://api.apify.com/v2/acts/agnes.developer.queen~linkedin-company-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["https://www.linkedin.com/company/stripe", "Kenya Airways"]}'

The same call works from Python and Node.js with the Apify client. In Make, n8n or Zapier, pick "Run an Actor", choose agnes.developer.queen/linkedin-company-scraper and map your company column to companies. Send results to Google Sheets with the Apify Sheets integration.

Add https://mcp.apify.com?actors=agnes.developer.queen/linkedin-company-scraper to any MCP client and an AI assistant can look up companies on demand.

FAQ

Can I scrape a LinkedIn company page without logging in?

Yes. It reads the public company page LinkedIn serves to logged-out visitors. You never hand over cookies, a session or an account, so there is no account to get restricted.

What if I only have the company name?

Type the name. The Actor guesses the slug, checks the page name against what you typed, and falls back to a Google lookup when the guess is wrong. The resolved linkedinUrl and slug come back on the row so you can verify the match.

Does it return employee count?

It returns two numbers: companySize, the band the company picked (for example 1,001-5,000), and employeesOnLinkedIn, the count of LinkedIn members who list the company as their employer. It does not return the list of employees.

Why was a company not charged?

Look at reason. A free row means the page does not exist, the page loaded without the facts block, or the page found belongs to a different company than the name you typed. You only pay when name, industry, size and location are all present.

How accurate is the name match, and can I run it in bulk?

Every significant word you typed, ignoring Inc, Ltd, PLC and Group, has to appear in the page name, or the page name has to sit fully inside what you typed. "Kenya Airways" matches "Kenya Airways PLC". "Twiga Foods" does not match a page called "Twiga Staffing", and that row comes back free. For exact results pass the company URL. Bulk runs take 1,000 companies, so split larger lists.

Where is the data stored, and does it work with other LinkedIn page types?

Results sit in your Apify dataset for the run. Export them as JSON, CSV, Excel or XML, or read them through the API. Only the main company page is read: other LinkedIn page types, such as school pages, have a different layout and return nothing useful.

The Actor only reads company pages that are publicly visible without logging in, and it collects company facts, not personal data. You are responsible for how you use the data and for complying with LinkedIn's terms, GDPR, CCPA and any other laws that apply to you.

Support

Found a company that comes back wrong or free when it should not? Open an issue on the Actor's Issues tab with the input you used and the run ID. Docs and examples: github.com/agnesthedeveloper/linkedin-company-scraper