LinkedIn Scraper icon

LinkedIn Scraper: Profiles, Companies and Posts

This Actor returns public data from LinkedIn profile, company and post links: experience, education and followers for people, industry, size and headquarters for companies, and text and engagement for posts. It is for sales teams, recruiters and researchers who enrich lists of LinkedIn links without logging in.

Main price: $6.50 per 1,000 profiles, same on every Apify plan.

What you can do with it

  • Enrich CRM records with a person's location, followers, current companies and education.
  • Research companies for prospecting: industry, size, employee count, website and funding.
  • Track posts from founders, competitors and brands with likes and comment counts.
  • Monitor a company page and its recent posts on a schedule.

What you get

Results come as rows in an Apify dataset, which you can export as JSON, CSV or Excel or read over the API. These are the main fields:

FieldExampleMeaning
typeprofileprofile, company or post
nameSatya NadellaPerson or company name
locationRedmond, Washington, United StatesLocation shown on the page
followers12266288Follower count
experience[{ company, startDate, endDate }]Roles, current ones first
industry, size, employeeCountas shown on the pageCompany rows: industry and size
text, likes, commentsCountJust wrapped our earnings call...Post rows: text and engagement

Pricing

This Actor is pay per event, with one price for every Apify plan, the free plan included. Prices are per 1,000 events.

EventWhat is chargedPrice per 1,000
ProfileOne public LinkedIn profile with headline, location, about, experience and education.$6.50
CompanyOne public LinkedIn company page with size, industry, website, headquarters and followers.$6.50
PostOne public LinkedIn post with full text, date, reactions, comments count and author.$6.50

No run start fee. Prices come from the Apify Store and can change; the Actor's Apify page always shows the current ones. Platform usage is billed through your Apify account.

Run it from code

Create an API token in Apify Console (Settings, API and Integrations) and replace YOUR_APIFY_TOKEN. This call starts a run with a small input and returns the rows when it finishes. Synchronous calls suit small inputs; for big jobs, start a run and read the dataset later.

curl

curl -X POST "https://api.apify.com/v2/acts/apisamurai~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "profileUrls": [
    "https://www.linkedin.com/in/parrsam/"
  ],
  "companyUrls": [
    "https://www.linkedin.com/company/shopify/"
  ],
  "maxPostsPerProfile": 3
}'

Python (pip install apify-client)

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
    "profileUrls": ["https://www.linkedin.com/in/parrsam/"],
    "companyUrls": ["https://www.linkedin.com/company/shopify/"],
    "maxPostsPerProfile": 3,
}

# Start the Actor and wait for it to finish.
run = client.actor("apisamurai/linkedin-scraper").call(run_input=run_input)

# Read the results from the run's default dataset.
items = client.dataset(run.default_dataset_id).list_items().items
for item in items:
    print(item)

JavaScript (npm install apify-client)

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const input = {
    profileUrls: ['https://www.linkedin.com/in/parrsam/'],
    companyUrls: ['https://www.linkedin.com/company/shopify/'],
    maxPostsPerProfile: 3,
};

// Start the Actor and wait for it to finish.
const run = await client.actor('apisamurai/linkedin-scraper').call(input);

// Read the results from the run's default dataset.
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Client calls follow the Python and JavaScript client docs. The full input reference is on the Actor's Apify page.

FAQ

Do I need a LinkedIn account or cookies?
No. The Actor reads what a logged-out visitor sees. You only need an Apify account.
Can it search LinkedIn for people or companies?
No. It works from profile, company and post links you already have.
Why are some fields null?
LinkedIn hides some details from logged-out visitors. Headlines, job titles and degrees are never shown, and masked text comes back as null.
Does it get every comment on a post?
No. Post rows include the public comment preview LinkedIn shows, not the full list.
What is not charged?
Duplicates, failed lookups, and private or missing profiles, companies and posts. There is no start fee.
Where do I report a problem?
Email hello@apisamurai.com, or open an issue on the Actor's Apify page.