LinkedIn Jobs to Company Hiring Signals avatar

LinkedIn Jobs to Company Hiring Signals

Pricing

from $10.00 / 1,000 company profiles

Go to Apify Store
LinkedIn Jobs to Company Hiring Signals

LinkedIn Jobs to Company Hiring Signals

Turn a LinkedIn jobs dataset into one sales profile per company: hiring velocity, tools, quoted buying signals, an ICP fit score and a why-now angle.

Pricing

from $10.00 / 1,000 company profiles

Rating

0.0

(0)

Developer

Seasons AI

Seasons AI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Share

Job Posts to Company Hiring Signals

Turn a LinkedIn jobs scrape into a ranked list of sales prospects. This Actor takes the dataset of your jobs scraper run and builds one profile per company:

  • Hiring velocity by function: postings per department, the last 30 days, postings per week, seniority mix
  • Tools and tech in use: every product, platform and language the postings name, with counts
  • Buying signals with quoted evidence, e.g. "implementing Salesforce", "building a data platform", "first security hire". Each signal comes with an exact quote from the posting.
  • Fit score from 0 to 100 against your ICP, with the reasons for it
  • A two-sentence "why now" angle addressed to the company, ready to adapt for an opener

You get a dataset row per company, a CSV and a Markdown report, all sorted by fit score.

It works at company level only. Recruiter and poster names, profile links, photos and any other personal contact fields in the scraper data are never read or output. Emails, phone numbers and links found inside job descriptions are masked before analysis.

How to use it

  1. Run a jobs scraper from the Apify Store, for example curious_coder/linkedin-jobs-scraper, bebity/linkedin-jobs-scraper or valig/linkedin-jobs-scraper. Search for the roles that show demand for what you sell, like "data engineer", "Salesforce administrator" or "security engineer".
  2. Open this Actor and choose that run's dataset in Jobs dataset.
  3. In Your ICP and offer, describe what you sell, who buys it and what makes a company a good fit right now.
  4. Start the run. The Actor only reads your dataset and never changes it.

You can also skip the dataset. Paste postings as JSON, or give the URL of a JSON or CSV file. Each row needs at least companyName and title. description, location and postedAt make the results better.

Supported field names

The Actor reads the common field names of the popular jobs scrapers and ignores the rest:

WhatField names read
CompanycompanyName, company, employer, organization
Titletitle, jobTitle, positionName
DescriptiondescriptionText, description, descriptionHtml
Posted datepostedAt, postedDate, publishedAt, datePosted, postedTimeAgo
Locationlocation, jobLocation
Company factscompanyLinkedinUrl / companyUrl (company pages only), companyWebsite, industries / sector, companyEmployeesCount, companyAddress
HintsseniorityLevel / experienceLevel, jobFunction, employmentType / contractType

Input

FieldDefaultNotes
Jobs dataset–Pick the dataset of your scraper run
Jobs file URL–Public JSON, JSON Lines or CSV, up to 50 MB
Job postings as JSONsampleUsed only when no dataset or URL is given
Your ICP and offersampleUp to 2,000 characters
Max postings to analyse2001–5,000 unique postings per run
Max postings per company20The newest postings are analysed first. Older postings still count toward velocity, at no charge
Max companies100Companies with the most postings come first
Min postings per company1Set it to 2 or more to focus on companies hiring repeatedly
Only these companies–Filter by words in the company name
Include the job list per companyonAdds the analysed postings to each row

Output

One dataset row per company, sorted by fit score (trimmed example):

{
"rank": 1,
"company": "Northwind Analytics",
"fitScore": 95,
"whyNow": "You are building a new cloud data platform and migrating your legacy Oracle warehouse to Snowflake. You are also scaling your analytics engineering team and defining data contracts, indicating an immediate need for robust data pipeline monitoring.",
"fitReasons": ["Building a new cloud data platform and migrating to Snowflake.", "Scaling analytics engineering team from 2 to 8 people."],
"postingsInInput": 2,
"postingsLast30Days": 2,
"postingsPerWeek": 2,
"hiringByFunction": [{ "department": "Data & Analytics", "postings": 1, "last30Days": 1, "teams": ["Analytics Engineering"], "seniority": { "manager": 1 } }],
"topTools": [{ "tool": "dbt", "postings": 2 }, { "tool": "Snowflake", "postings": 2 }, { "tool": "Looker", "postings": 1 }],
"signals": [
{ "category": "migration", "signal": "Migrate legacy Oracle warehouse to Snowflake", "evidence": "migrate our legacy Oracle warehouse to Snowflake", "jobTitle": "Senior Data Engineer", "postedAt": "2026-10-20" }
],
"likelyStaffingAgency": false,
"companyWebsite": null,
"jobs": [{ "title": "Senior Data Engineer", "department": "Engineering", "seniority": "senior", "location": "Austin, TX", "postedAt": "2026-10-20" }]
}

The run's key-value store also holds:

  • companies.csv: one row per company, ready for a CRM import or a spreadsheet
  • report.md: a ranked summary with the why-now line, reasons, functions, tools and quoted signals for each company
  • OUTPUT: run totals and links

Pricing

Pay per event. You only pay for work that was delivered:

EventPriceWhen
posting-analyzed$0.002One unique job posting classified and mined for tools and signals
company-profile$0.01One company aggregated, scored against your ICP, with a why-now angle

Example: 200 postings from 60 companies cost 200 × $0.002 + 60 × $0.01 = $1.00.

  • Identical re-posts are analysed and charged once. This covers the same title and text posted in several cities.
  • Postings or companies that fail are free.
  • Before it starts, the Actor checks that the run's maximum cost covers the whole job. If it does not, the run stops without charging and tells you the amount to set.

Limits and accuracy

  • The first 6,000 characters of each description are analysed (2,500 for CJK and other dense scripts).
  • Signals are kept only when their quote is found in the posting text. Tools are kept only when the posting names them. Anything the model made up is dropped.
  • Classification, fit score and why-now text are AI-generated decision support. Check them before outreach. The score reflects the postings in your input only, not funding, revenue or news.
  • Velocity is measured against the newest posting in your input, so scrape recent postings for current numbers.
  • Consultancies and staffing agencies often post roles for their clients. These rows are flagged (likelyStaffingAgency), and the scoring prompt treats them accordingly.
  • Up to 20,000 items are read from a dataset.

Available on paid Apify plans.

Good to know

  • On the free Apify plan the Actor returns a short preview with an example result and prices instead of running.