Hiring Signals & ATS Detector by Company Domain
Pricing
from $3.50 / 1,000 domain with job boards
Hiring Signals & ATS Detector by Company Domain
Turn company domains into hiring signals: open roles by function and seniority, leadership hires, locations, remote share and 7/30-day posting velocity. Auto-finds Greenhouse, Lever, Ashby, Workable or Recruitee boards. No-match rows free. From $3.50 per 1k.
Pricing
from $3.50 / 1,000 domain with job boards
Rating
0.0
(0)
Developer
William Jin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Hiring Signals by Company Domain
Give it a list of company domains. For each one you get a single row that says whether the company is hiring, how many roles are open, and which teams are growing. It also shows how senior the roles are, where they are based, the remote share and how many roles were posted in the last 7 and 30 days. The data comes from the company's public Greenhouse, Lever, Ashby, Workable or Recruitee job board.
Built for sales, recruiting and investor workflows where the input is a list of domains and the question is "who is hiring for what right now?"
What can Hiring Signals by Company Domain do?
- Finds the job board for you. It reads the company's homepage and careers page (respecting robots.txt), follows the link to the ATS, and reads jobs through the ATS's official public job-board API. If no board is linked, it tries the domain name on each ATS. Each row shows how the board was found (
detectedVia) and how sure the match is (matchConfidence). - Turns open roles into signals.
scaling_sales,building_engineering,investing_in_data_ai,growing_marketing,expanding_customer_success,hiring_leadership,international_expansion,remote_friendly,hiring_surge_last_30_days,high_volume_hiring. - One row per domain, always. If no board is found, the site is down, the ATS isn't supported (for example Workday) or the input is invalid, you still get a row with a clear
statusanderror. Those rows are free. - Chains with other Actors. Pass a
datasetIdfrom a Google Maps, lead-list or company-enrichment run and it reads the domains from that dataset.
What data does it return?
| Field | Example |
|---|---|
domain, status | stripe.com, ok |
isHiring, openJobs, hiringIntensity | true, 412, very_high |
signals | ["scaling_sales","hiring_leadership"] |
jobsByFunction, topFunction | {"engineering":180,"sales":90,...}, engineering |
jobsBySeniority, leadershipRoles | {"senior":120,...}, ["VP Sales, EMEA"] |
postedLast7Days, postedLast30Days, medianJobAgeDays | 14, 60, 41 |
topLocations, countries, remoteShare | [{"name":"Dublin","count":30}], ["US","IE"], 0.25 |
topDepartments, salaryDisclosedShare | [{"name":"Engineering","count":150}], 0.4 |
ats, boardUrl, matchConfidence, detectedVia | greenhouse, https://job-boards.greenhouse.io/stripe, high, careers_page_link |
sampleJobs | the newest roles, with title, department, location, posting date and URL |
Statuses:
ok: hiring.not_hiring: a board was found but it has 0 open roles.no_public_board_found: if a board with the same name exists but nothing links it to this domain, the row includes apossibleBoardhint.unsupported_ats: the careers site uses an ATS this Actor doesn't read yet, such as Workday or SmartRecruiters. Workday rows include aworkdayUrl.site_unreachable,not_a_company_domain,invalid_input,errorandskipped_charge_limit.
How much does it cost?
You pay per domain where a job board was found (ok or not_hiring):
| Plan | Per 1,000 domains |
|---|---|
| Free | $5.00 |
| Bronze | $4.50 |
| Silver | $4.00 |
| Gold | $3.50 |
All other rows are free, including no board found, unsupported ATS, unreachable site and invalid input. There is also a tiny Apify start fee of $0.00005 per run. 100 domains cost at most $0.50, whatever the size of each company.
Input example
{"domains": ["stripe.com", "notion.so", "https://ramp.com", "jane@figma.com"],"sampleJobsPerDomain": 5}
Output example
{"domain": "linear.app", "status": "ok", "isHiring": true, "openJobs": 34, "hiringIntensity": "high","signals": ["scaling_sales", "building_engineering", "international_expansion", "remote_friendly"],"topFunction": "engineering", "jobsByFunction": {"engineering": 14, "sales": 6, "design": 3},"postedLast30Days": 10, "remoteShare": 0.7, "ats": "ashby", "boardUrl": "https://jobs.ashbyhq.com/linear","matchConfidence": "high", "detectedVia": "careers_page_link"}
A domain with no board:
{"domain": "acme-bakery.com", "status": "no_public_board_found", "isHiring": null, "error": "No Greenhouse, Lever, Ashby, Workable or Recruitee board was found for this domain..."}
Use cases
- Sales triggers: find accounts that are hiring SDRs, RevOps or a new VP of Sales. A new leader usually buys new tools.
- Recruiting and staffing: find companies hiring heavily in your niche, such as data or engineering.
- Investors and market research: compare hiring velocity across a portfolio or a list of competitors.
- Lead scoring: add
openJobs,hiringIntensityandsignalsto a CRM or Clay table.
Use with AI agents (MCP, ChatGPT, Claude, Cursor, n8n)
AI agents can find and run this Actor through the Apify MCP server:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=swillz/hiring-signals-by-domain"}}}
Or run it locally with npx -y @apify/actors-mcp-server --tools swillz/hiring-signals-by-domain and APIFY_TOKEN set.
Example prompts:
- "Which of these 50 domains are hiring salespeople right now?"
- "Is ramp.com hiring, and for which teams?"
- "Rank my target accounts by how many roles they posted in the last 30 days."
Minimal input: {"domains": ["stripe.com"]}.
Cap the cost: pass maxTotalChargeUsd when you call the Actor. The run stops cleanly at the cap, keeps the results so far, and lists the unchecked domains as free skipped_charge_limit rows.
Integrations and API
Run it from the Apify API, the Python or JavaScript client, Make, Zapier or n8n. To chain it, pass {"datasetId": "<another run's dataset>"}. When this Actor runs as an integration after another Actor, it uses the triggering run's dataset automatically. The OUTPUT record holds a run summary (byStatus, bySignal, zeroResultsReason, nextSteps).
FAQ
Is it legal? It reads public job postings through the ATS vendors' public job-board APIs, which exist so that companies can publish their jobs. Company websites are read only where robots.txt allows it.
Why did a company come back no_public_board_found? Either the company isn't hiring through a public board, or it uses an ATS this Actor doesn't read yet. If the careers page links to Workday, SmartRecruiters, BambooHR and similar, the row says so (unsupported_ats).
How accurate is the match? high means the board is linked from the company's own site, or the job URLs or company name match the domain. medium means the board name equals the domain name and no other company name contradicts it. Boards that only share a name are not used unless you set includeLowConfidence.
Related tools
More tools from the same developer, built to work together:
- Career Site Jobs Scraper: jobs from Greenhouse, Lever, Ashby, Workable and Recruitee boards, with salary fields, as a jobs API or CSV.
- Workday Jobs Scraper: every job from any myworkdayjobs.com career site, past the 2,000-result cap.
- Company Website Enrichment: turn a list of domains into company name, emails, phones, social links and tech stack.
- AI Extract: structured JSON from any web page with a plain-English prompt or a JSON schema. AI included.
- Google Sheets Import & Export: send any Apify dataset to a Google Sheet (append, replace or dedupe) or read a sheet as JSON.
- XML Sitemap URL Extractor & Sitemap to CSV: every URL from a website's sitemap, with lastmod, HTTP status and new-page monitoring.
- AI Brand Visibility Tracker: track whether ChatGPT mentions, ranks and cites your brand vs competitors (GEO).
- Email Provider Detector: bulk check whether domains use Google Workspace, Microsoft 365, Proofpoint or Mimecast, plus SPF, DMARC and DKIM.
- EU VAT Number Validator (VIES): bulk check EU VAT numbers against official VIES, with company name and address.
- EORI Number Validator: bulk check EU and UK EORI numbers for customs, with trader name where published.
- LEI Lookup (GLEIF): find a company's Legal Entity Identifier, legal name, address, status and parent from official GLEIF data.
- Sanctions Screener: screen company and person names against official OFAC, UN, EU and UK sanctions lists with fuzzy matching.
Popular workflows
- Hiring-signal prospecting: rank target accounts by open roles with this Actor, add contacts with Company Website Enrichment, and track weekly in a sheet with Google Sheets Import & Export.
- From signal to job list: find which companies are hiring with this Actor, then pull every open role with Career Site Jobs Scraper.
Source code: https://github.com/williamjin02/apify-actors/tree/main/actors/hiring-signals-by-domain