ATS Job Pulse: Company Jobs & Hiring Signals
RemoteAbout ATS Job Pulse: Company Jobs & Hiring Signals
ATS Job Pulse is an Apify-hosted tool for agents and teams that need company hiring data from a domain. It detects supported job boards and reports listings alongside changes since a previous run.
Key features
- 01Detects six supported ATS platforms
- 02Reports open, new, and closed jobs
- 03Breaks down hiring by department and location
- 04Includes job details and published salary ranges
- 05Filters results and offers summary-only output
Use cases
- 01Track newly opened and closed company roles
- 02Review hiring by location or department
- 03Find remote roles matching specified technologies
MCP support
Exposes company job listings and hiring summaries as a tool through the Apify MCP server. It is also available as an HTTP API.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://mcp.apify.com?tools=hirepulse/ats-job-pulseclaude mcp add --transport http edtool79-collab-ats-job-pulse https://mcp.apify.com?tools=hirepulse/ats-job-pulse{"mcpServers":{"edtool79-collab-ats-job-pulse":{"type":"http","url":"https://mcp.apify.com?tools=hirepulse/ats-job-pulse"}}}Open in Cursor{"servers":{"edtool79-collab-ats-job-pulse":{"type":"http","url":"https://mcp.apify.com?tools=hirepulse/ats-job-pulse"}}}Open in VS Code{"mcpServers":{"edtool79-collab-ats-job-pulse":{"type":"http","url":"https://mcp.apify.com?tools=hirepulse/ats-job-pulse"}}}{"mcpServers":{"edtool79-collab-ats-job-pulse":{"serverUrl":"https://mcp.apify.com?tools=hirepulse/ats-job-pulse"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
https://mcp.apify.com?tools=hirepulse/ats-job-pulseAuth requiredTools
Details
From the project README
ATS Job Pulse — company jobs & hiring signals for AI agents
Who is hiring, for what, and what changed since yesterday?
ATS Job Pulse is a hosted tool (an Apify Actor) that takes a company domain and returns the company's open jobs plus a compact hiring summary, straight from the company's own job board. It works as an MCP tool for Claude, Cursor and other AI agents, and as a plain HTTP API.
- Auto-detects the job board from a domain: Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters
- Hiring signals: open jobs, new and closed jobs since the last run, breakdown by department, location and technology
- Per job: title, department, location, remote flag, salary range (when published), posted date, technologies, apply URL
- Small output on demand: filters and a summary-only mode sized for an agent's context window
- Pay per company: $0.05 per successfully processed company. Companies that are not found are free
➡️ Run it: https://apify.com/hirepulse/ats-job-pulse
Use it from an AI agent (MCP)
Add the Apify MCP server with this tool enabled to your MCP client:
{
"mcpServers": {
"ats-job-pulse": {
"url": "https://mcp.apify.com/?actors=hirepulse/ats-job-pulse"
}
}
}
The first connection opens a browser window to sign in to Apify (a free account is enough to start).
Then ask, for example:
- "How many open jobs does stripe.com have, and in which departments?"
- "Which of ramp.com, linear.app and notion.so opened new engineering roles since the last check?"
- "Does figma.com hire for Kubernetes or LLM skills? Show salary ranges."
- "List remote data-engineering jobs at these ten companies."
Use it over HTTP
curl -X POST "https://api.apify.com/v2/acts/hirepulse~ats-job-pulse/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"companies": ["stripe.com", "linear.app"], "output_mode": "summary_only"}'
Input
Only companies is required. See examples/ for ready-to-use inputs.
| Field | Default | Description |
|---|---|---|
companies | required | Domains (stripe.com) or board slugs (stripe). Prefix to force an ATS: greenhouse:stripe, lever:spotify, ashby:linear, workable:huggingface, recruitee:bunq, smartrecruiters:BoschGroup. |
output_mode | jobs_and_summary | jobs_and_summary, summary_only (smallest) or jobs_only. |
track_diff | true | Flag each job NEW / EXISTING / CLOSED versus the previous run. |
state_id | default_state | Name of the saved history. Runs sharing a state_id are compared. |
only_changes | false | Return only NEW and CLOSED jobs. |
title_keywords, departments, locations, technologies | Keep jobs matching any of the given values. | |
remote_only | false | Keep remote jobs only. |
max_jobs_per_company | 0 | Cap on job records per company (0 = no limit). |
extract_tech_keywords | true | Detect technologies in job titles and descriptions. |
Output
Two kinds of records, told apart by record_type.
company_summary — one per company:
{
"record_type": "company_summary",
"company_domain": "linear.app",
"ats_type": "ashby",
"total_active_jobs": 31,
"remote_jobs": 31,
"jobs_with_salary": 12,
"is_first_run": false,
"new_jobs": 2,
"closed_jobs": 1,
"new_job_titles": ["Senior Product Engineer", "Enterprise Account Executive"],
"closed_job_titles": ["Support Specialist"],
"jobs_by_department": { "GTM": 15, "Product": 13, "Operations": 3 },
"top_locations": { "North America": 19, "Europe": 8 },
"top_technologies": { "React": 8, "TypeScript": 8, "GraphQL": 7 }
}
job — one per job posting:
{
"record_type": "job",
"company_domain": "ramp.com",
"ats_type": "ashby",
"job_id": "…",
"title": "Security Engineer, Cloud",
"department": "Engineering",
"location": "New York, NY",
"is_remote": false,
"posted_date": "2026-09-03T13:30:34+00:00",
"salary": "$211.4K - $290.6K",
"apply_url": "https://jobs.ashbyhq.com/ramp/…",
"detected_technologies": ["AWS", "Kubernetes", "Python", "Terraform"],
"status": "NEW"
}
Limitations
- Companies on other systems (Workday, iCIMS, Taleo, in-house career sites) are reported as not found and are not charged.
- Salary is returned as the employer published it and is not normalized. Many postings state no range.
- SmartRecruiters publishes no job description in its listing, so technologies there come from the job title only.
- A bare slug can occasionally match a different company with the same name on another ATS. Use a prefix (
lever:acme) to be exact.
Support
Questions and bug reports: open an issue here, or use the Issues tab on the Actor page.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.