LinkedIn Company Scraper: Hiring Signals & Posts (No Cookies) avatar

LinkedIn Company Scraper: Hiring Signals & Posts (No Cookies)

Pricing

Pay per event

Go to Apify Store
LinkedIn Company Scraper: Hiring Signals & Posts (No Cookies)

LinkedIn Company Scraper: Hiring Signals & Posts (No Cookies)

LinkedIn company scraper that goes beyond the page: firmographics, open jobs and hiring signals (functions, seniority, countries, tech stack from job ads), posting activity, momentum score, change monitoring and a white-label PDF report. No cookies, no account. From $3 per 1,000 companies.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Azeddine MESKAOUI

Azeddine MESKAOUI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

Most LinkedIn company scrapers stop at the company page. This one reads the page and what the company is doing right now, then gives you one row per company that answers three questions: who are they, are they hiring, are they active.

No LinkedIn account, no cookies, no browser extension. Only pages that LinkedIn shows to anyone.

What you get for each company

1. Company profile Name, tagline, description, website and domain, industry, size range, employees on LinkedIn, followers, company type, founding year, headquarters, postal address, all office locations, specialties, logo, similar companies.

2. Hiring signals

  • Number of open jobs, and how many were posted in the last 7 days
  • Open jobs per 100 employees (hiring intensity)
  • Split by function (Sales, Engineering, Data & AI, Marketing, Finance…), by seniority and by country
  • Technologies named in the job ads (Salesforce, HubSpot, SAP, Python, AWS, Snowflake… about 150 recognised)
  • Salaries when the ad shows them
  • The list of jobs: title, location, date, link

3. Content activity Date of the last post, posts per week, average reactions and comments, engagement per 1,000 followers, formats used, the best recent post, and the list of recent posts.

4. Momentum score and talking points A score from 0 to 100 (quiet, steady, growing, surging) and up to five plain sentences you can paste into an outreach message or a briefing:

Qonto has 82 open roles, 43 of them posted in the last 7 days. Hiring is concentrated in Engineering (27% of the listed roles). Its job ads mention Swift, GitHub Actions, LLM.

5. Change monitoring (optional) Schedule the Actor and it tells you what moved since the previous run: new jobs, new posts, change in open jobs, employees and followers, edited profile fields. You can ask for the changed companies only.

6. White-label report (optional) A PDF and an HTML briefing per company, with your name and colour. Made for agencies, consultants and sales teams who hand the result to someone else.

What people use it for

  • Account-based sales. Rank a target list by momentum, open the conversation with a fact ("you are hiring 12 sales reps in Germany").
  • Sell to the tools they use. Filter on the technologies found in job ads: companies hiring Salesforce admins, companies mentioning Odoo or SAP.
  • Recruiting agencies. Find the companies that opened the most roles this week in a function.
  • Competitor watch. Follow headcount, hiring and posting cadence of competitors, week after week.
  • CRM enrichment. Turn a column of websites into industry, size, headquarters and LinkedIn URL.
  • Investors and analysts. Hiring intensity is an early growth signal.

Input

{
"companies": ["https://www.linkedin.com/company/odoo", "doctolib.fr", "Qonto"],
"includeHiringSignals": true,
"maxJobsPerCompany": 50,
"jobAdsRead": 10,
"generateReport": false,
"monitorChanges": false
}

Three kinds of entries work:

You giveHow the company is foundmatchConfidence
A LinkedIn company URLRead directlyexact
A website (doctolib.fr)The Actor opens the site and follows its own link to LinkedIn. If the site has no such link, the domain name is tried as a handle and kept only when the page points back to itverified when the LinkedIn page points back to the same domain, linked or likely otherwise
A company name (Qonto)Tried as a LinkedIn handleguess: check the website column

For a list of names, prefer websites: the match is safer.

Output

One row per company. Real output, shortened:

{
"input": "doctolib.fr",
"status": "ok",
"matchedBy": "website-link",
"matchConfidence": "linked",
"linkedinUrl": "https://www.linkedin.com/company/doctolib",
"companyId": "4999584",
"name": "Doctolib",
"website": "https://careers.doctolib.com/",
"industry": "Software Development",
"companySize": "1,001-5,000 employees",
"employeesOnLinkedin": 3711,
"followers": 338698,
"organizationType": "Privately Held",
"headquarters": "Levallois-Perret, Île-de-France",
"countryCode": "FR",
"specialties": ["Santé", "Internet", "Innovation", "e-health", "telehealth"],
"similarCompanies": [{ "name": "Qonto", "linkedinUrl": "https://www.linkedin.com/company/qonto" }],
"openJobs": 172,
"newJobs7d": 89,
"topHiringFunction": "Customer Success & Support",
"technologies": ["Salesforce", "Jira", "Asana"],
"momentumScore": 83,
"momentumLabel": "surging",
"talkingPoints": [
"Doctolib has 172 open roles, 89 of them posted in the last 7 days.",
"Hiring is concentrated in Customer Success & Support (22% of the listed roles).",
"Its job ads mention Salesforce, Jira, Asana.",
"4 leadership roles (director level and above) are open."
],
"hiring": {
"openJobs": 172,
"newJobs7d": 89,
"newJobsShare7d": 52,
"openJobsPer100Employees": 4.63,
"byFunction": [{ "name": "Customer Success & Support", "count": 13, "share": 22 }, { "name": "Data & AI", "count": 13, "share": 22 }],
"bySeniority": [{ "name": "Senior", "count": 21, "share": 35 }],
"byArea": [{ "name": "Germany", "count": 36, "share": 60 }, { "name": "France", "count": 24, "share": 40 }],
"technologies": [{ "name": "Salesforce", "category": "crm", "jobs": 4 }],
"jobs": [{ "id": "…", "title": "Engineering Manager - Site Reliability & Observability", "location": "Berlin, Berlin, Germany", "postedAt": "2026-10-09", "function": "Engineering", "seniority": "Manager", "url": "…" }]
},
"content": {
"postsAnalyzed": 3,
"lastPostAt": "2026-10-07T08:02:59.153Z",
"daysSinceLastPost": 2,
"postsPerWeek": 1.8,
"avgReactions": 96.7,
"avgComments": 13.3,
"engagementPer1kFollowers": 0.32,
"topPost": { "url": "…", "reactions": 146, "comments": 13, "text": "…" }
},
"scrapedAt": "2026-10-09T21:14:02.000Z"
}

The dataset has three table views: Companies, Company profiles and Signals and talking points.

How the figures are computed

  • Open jobs is LinkedIn's own count for the company (and the entities that post jobs for it), worldwide unless you set a location.
  • Breakdowns by function, seniority and area are computed on the jobs listed (maxJobsPerCompany, most recent first). Function and seniority are read from the job title, in English, French, German and Spanish.
  • Technologies come from the job ads read in full (jobAdsRead). Raise it for a fuller list.
  • Content activity covers the posts LinkedIn shows on the public page, usually the last ten.
  • Momentum = hiring (60%: open jobs relative to headcount, share of jobs opened in the last 7 days) + content (40%: recency, cadence, engagement). 65 and above is surging, 40 growing, 15 steady, below quiet. If you turn one part off, the score uses the other.

Monitoring

Turn on Monitor changes between runs and schedule the Actor. Each row gets a changes object:

{
"firstSeen": false,
"previousCheckAt": "2026-10-02T07:00:11.000Z",
"employeesDelta": 14,
"followersDelta": 320,
"openJobsDelta": 9,
"newJobs": [{ "title": "Account Executive DACH", "location": "Berlin, Germany", "url": "…" }],
"newPosts": [{ "url": "…", "text": "…" }],
"fieldsChanged": [{ "field": "companySize", "from": "201-500 employees", "to": "501-1,000 employees" }]
}

hasChanges is true when there is a new job, a new post, a change in open jobs or employees, or an edited field. Use Watchlist name to keep separate lists.

Pricing

You pay per result, with three events:

  • Company profile: one per company delivered. Includes the profile, the content activity, the momentum score and the talking points.
  • Hiring signals: one per company whose jobs were read. Turn the option off if you only need profiles.
  • Company report: one per PDF/HTML report, only when reports are turned on.

Companies that are not found, not public or blocked cost nothing. With monitoring and "only changed companies", an unchanged company is still read and is charged as a company profile, without hiring-signals event.

A run of 100 companies with hiring signals takes about six minutes.

Limits you should know

  • Only public company pages. A few small pages are visible to signed-in members only: they come back as not-public and are not charged.
  • No personal profiles, no employee lists, no emails of people. This Actor is about companies.
  • LinkedIn does not show funding rounds on public pages, so they are not in the output.
  • Companies that could not be read (not-found, not-public, blocked) are listed in the output with the reason and are never charged.

Integrations

The output is flat enough for Google Sheets, Airtable, HubSpot, n8n, Make and Zapier: use name, domain, openJobs, newJobs7d, momentumScore, talkingPoints. Call it from the Apify API or as a tool from an AI agent through the Apify MCP server.