Hiring Signals – Jobs & Company Intelligence (8 ATS)
Pricing
Pay per usage
Hiring Signals – Jobs & Company Intelligence (8 ATS)
Give company names, domains or careers pages. Get every open job plus a company-level hiring signal row: hiring velocity, departments, tech stack, salary ranges, remote share. Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio, Teamtailor.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Kunal Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Paste a list of companies — names, domains or careers pages — and get every open job plus one hiring-signal row per company: how fast they are hiring, which teams are growing, their tech stack, salary ranges, remote share and leadership hires. The actor finds each company's job board automatically across Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, Personio and Teamtailor.
Why use this actor
- Just company names work. "Notion", "linear.app" or "https://careers.bunq.com" — the actor detects which ATS the company uses (8 platforms, including white-labelled career domains).
- Hiring signals, not just job dumps. Each company row has jobs posted in the last 7/30/90 days, hiring trend, function and seniority mix, GTM expansion, leadership roles and a plain-English
signalssummary. - Technographics from job posts. 180+ technologies and business tools detected (Python, Kubernetes, Snowflake, Salesforce, HubSpot, Gong…) per job and per company.
- Salaries from structured pay-transparency fields and from job text (USD, EUR, GBP, INR LPA and more), normalised to min / max / currency / period.
- Change tracking for scheduled runs: new and closed roles since the last run.
- Fast and cheap to run. Official public job-board feeds, no browser, no proxies. A typical company takes 1–3 seconds.
Use cases
- Sales prospecting / ABM — find accounts that are hiring for the team you sell to (e.g. companies hiring 5+ data engineers who use Snowflake) and time your outreach.
- Clay / HubSpot / Salesforce enrichment — add hiring velocity, tech stack and open-role counts to your account list.
- Recruiting agencies — spot companies opening many roles in your niche before they hire an agency.
- Investors and analysts — track headcount momentum and expansion into new countries across a portfolio or watchlist.
- Job boards and aggregators — pull clean, normalised jobs from many ATS platforms with one schema.
How to use
- Add companies: names, domains, careers page URLs or job board URLs — one per line.
- Choose the output: companies + jobs (default), jobs only, or company hiring signals only. Add filters if you only need certain roles.
- Click Start. Download results as JSON, CSV, Excel or HTML, or connect them to Google Sheets, Clay, Make, Zapier or n8n.
Example input:
{"companies": ["Notion","linear.app","https://careers.bunq.com"],"output": "both","jobFunctions": ["engineering","data"],"trackChanges": true}
Input options
| Field | What it does |
|---|---|
companies | Company names, domains, careers pages or ATS board URLs. Auto-detects the platform. |
output | Jobs, company hiring signals, or both. |
includeDescription | Add the plain-text job description to each job. |
trackChanges | Flag new and closed roles since the previous run (use with a schedule). |
titleKeywords / excludeTitleKeywords | Keep or drop jobs by words in the title. |
jobFunctions | Engineering, data, product, design, sales, marketing, customer, operations, finance, people, legal, security, IT, research, healthcare. |
seniority | Intern, junior, mid, senior, lead, manager, principal, director, executive. |
locations | Keep jobs whose location contains any of these strings. |
remoteOnly | Only fully remote jobs. |
postedWithinDays | Only jobs posted in the last N days. |
maxJobsPerCompany | Newest jobs first, capped per company. |
atsPlatforms | Limit auto-detection to specific platforms. |
Output
Each job row (real example from a run):
{"recordType": "job","companyName": "Notion","companyDomain": "notion.com","ats": "ashby","jobId": "477768e1-37af-49bc-a4de-6564e0a4ec54","title": "Security Engineer, Corporate Security","jobFunction": "engineering","seniority": "mid","department": "Security","team": "Security","employmentType": "FullTime","workplaceType": "hybrid","remote": true,"location": "San Francisco, California | New York, New York","city": "San Francisco","country": "United States","countryCode": null,"postedAt": "2026-06-08T18:00:20.281Z","daysSincePosted": 132,"salaryMin": 200000,"salaryMax": 220000,"salaryCurrency": "USD","salaryPeriod": "year","salarySource": "text","techStack": "Python, Bash, OpenAI API, LLMs, AWS, GCP, Azure, Terraform, SOC 2, ISO 27001, Okta, OAuth, Figma","minYearsExperience": 5,"visaSponsorship": null,"isNewSinceLastRun": null,"url": "https://jobs.ashbyhq.com/notion/477768e1-37af-49bc-a4de-6564e0a4ec54","applyUrl": "https://jobs.ashbyhq.com/notion/477768e1-37af-49bc-a4de-6564e0a4ec54/application","careersUrl": "https://jobs.ashbyhq.com/notion","scrapedAt": "2026-10-19T09:58:05.109Z"}
Each company row (real example from a run):
{"recordType": "company","companyName": "Notion","companyDomain": "notion.com","ats": "ashby","careersUrl": "https://jobs.ashbyhq.com/notion","openJobs": 129,"matchingJobs": 129,"jobsPostedLast7Days": 7,"jobsPostedLast30Days": 31,"jobsPostedLast90Days": 103,"hiringTrend": "steady","newJobsSinceLastRun": null,"closedJobsSinceLastRun": null,"engineeringShare": 38,"salesAndMarketingJobs": 48,"leadershipJobs": 8,"remoteShare": 0,"topFunctions": "engineering (46), sales (41), people (11), finance (7), marketing (7), customer (4)","topDepartments": "Sales (44), People (16), Engineering (14), Outcomes Architect (14), Early Career (8), Finance (8)","seniorityMix": "mid (68), manager (24), principal (17), lead (6), director (5), executive (3), intern (3), senior (2), junior (1)","topLocations": "San Francisco, California (66), New York, New York (46), Tokyo, Japan (18), Dublin, Ireland (17), Paris, France (6), London, United Kingdom (5), Seoul, South Korea (5), Munich, Germany (3)","countries": "United States, Japan, Ireland, France, South Korea, United Kingdom, Germany, India, Australia","techStack": "Python, Salesforce, TypeScript, SQL, Node.js, LLMs, React, JavaScript, AWS, Java, PostgreSQL, GCP, Azure, MySQL, Slack, Workday, RAG, OpenAI API, Figma, CI/CD, NetSuite, Kubernetes, OAuth, Elasticsearch, Rust","techStackCounts": "Python (16), Salesforce (15), TypeScript (14), SQL (12), Node.js (12), LLMs (12), React (9), JavaScript (7), AWS (7), Java (6), PostgreSQL (6), GCP (5), Azure (5), MySQL (5), Slack (5), Workday (5), RAG (4), OpenAI API (4), Figma (4), CI/CD (4), NetSuite (4), Kubernetes (3), OAuth (3), Elasticsearch (3), Rust (3)","salaryMin": 85000,"salaryMax": 400000,"salaryCurrency": "USD","jobsWithSalary": 90,"newestJobPostedAt": "2026-10-19T02:21:21.108Z","oldestJobPostedAt": "2025-07-25T22:00:31.199Z","latestJobTitles": "Sales Strategy & Operations Manager, APAC | Product Manager, Connections | Lifecycle Marketing Manager, Campaign Strategy & Execution | Recruiting Coordinator, EMEA | Recruiting Coordinator, Tokyo","signals": "7 new roles posted in the last 7 days • Hiring 46 engineering roles • Hiring 41 sales roles • Hiring 11 people/HR roles • Leadership hiring: General Manager, DACH; Head of Early Career Recruiting; Head of Demand Engine • Go-to-market expansion: 48 sales/marketing roles (37% of openings) • Hiring across 9 countries","companyDescription": null,"scrapedAt": "2026-10-19T09:58:05.109Z"}
Field notes:
jobFunction,seniorityandtechStackare inferred from the title, department and description with deterministic rules — no AI guesswork, same input gives the same output.salary*fields come from the platform's structured pay data when available (salarySource: "structured"), otherwise from salary ranges written in the job text (salarySource: "text").isNewSinceLastRunand the companynewJobsSinceLastRun/closedJobsSinceLastRunare filled when Track changes is on and a previous run exists.
Pricing
Free during launch. You pay only Apify's own platform usage, which is tiny for this actor: it reads public job-board feeds over plain HTTP, with no browser and no proxies (a typical small run uses well under $0.01 of platform credit).
Pay-per-result pricing will be introduced later; Apify notifies existing users in advance of any pricing change.
Use it from code
Run the actor and get the results in one call (replace <YOUR_TOKEN> with your Apify API token):
curl -X POST "https://api.apify.com/v2/acts/kunnu_data~hiring-signals/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \-H "Content-Type: application/json" \-d '{"companies":["Notion","linear.app","https://careers.bunq.com"],"output":"both","jobFunctions":["engineering","data"],"trackChanges":true}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_TOKEN>' });const run = await client.actor('kunnu_data/hiring-signals').call({"companies":["Notion","linear.app","https://careers.bunq.com"],"output":"both","jobFunctions":["engineering","data"],"trackChanges":true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, items[0]);
from apify_client import ApifyClientclient = ApifyClient("<YOUR_TOKEN>")run = client.actor("kunnu_data/hiring-signals").call(run_input={"companies":["Notion","linear.app","https://careers.bunq.com"],"output":"both","jobFunctions":["engineering","data"],"trackChanges":True})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Run it daily and get only what changed
- Save your input as a Task (Actor page → Save as a new task) with Track changes turned on.
- In Schedules, run the task daily or weekly.
- Each job then has
isNewSinceLastRun, and each company row hasnewJobsSinceLastRun/closedJobsSinceLastRun. Connect the task to Google Sheets, Slack or a webhook to get alerts.
Integrations and API
- Google Sheets, Clay, Make, Zapier, n8n, Airbyte via Apify integrations.
- REST API and SDKs (JavaScript, Python) — run the actor and fetch the dataset programmatically.
- AI agents (MCP) — the actor can be called by AI agents through the Apify MCP server; inputs and outputs are fully described by schemas.
- Schedules — run daily with Track changes on to get only what changed.
FAQ
Is this legal? The actor reads only publicly published job postings from official public job-board feeds — no login, no private data, no personal contact details. You are responsible for using the data in line with applicable laws and the terms of the sites involved.
How does company detection work? For a URL, the actor reads the careers page and finds the embedded job board. For a name or domain, it checks the 8 supported platforms and keeps the matching board with the most jobs (preferring boards whose job links point at the domain you gave).
A company was not found — why? It may use a platform not covered yet (e.g. Workday, iCIMS) or a board name that differs from its brand. Paste the careers page URL instead of the name. Unresolved inputs are listed with reasons in the RUN_SUMMARY record of the run's key-value store.
How fresh is the data? Live — every run reads the job boards at that moment.
Something broke or you need a field? Open an issue on the actor's Issues tab — every report is reviewed and fixes are prioritised.