Jobs & tech data for agents
Give any coding agent live job-market and tech-stack data. Install the skill and CLI, set your key, and let it work.
$ npx skills add jobspipe/jobspipe-cli$ npm i -g jobspipe-cli$ export JOBSPIPE_API_KEY=jp_live_...
One install, two commands, real data.

Install once
npx skills add jobspipe/jobspipe-cli
npm i -g jobspipe-cliThe skill teaches your agent; the CLI is one zero-dependency file. Export your key and both functions are callable. The key stays in your environment, never in the output.
Install skill and CLI
Run npx skills add jobspipe/jobspipe-cli for your agent, then npm i -g jobspipe-cli for the command it calls — a single zero-dependency file.
Set your key
Export JOBSPIPE_API_KEY. Get one free at signup in about 30 seconds, 1,000 jobs a month.
Ask your agent
Tell it to find roles or scan a company. It calls the live API and gets back normalized JSON, ready to use.
Everything JobsPipe does, callable by your agent.
Find live roles across 30+ sources
Search normalized, deduplicated postings from Workday, Greenhouse, Lever, Ashby, LinkedIn, and more. Filter by title, skill, location, remote, seniority, company, or recency.
$ jobspipe jobs --title "software engineer" --country US --remote --limit 5
- One JSON schema across every source
- Parsed salary ranges and resolved apply URLs
- Pass a raw filter object for the full query surface
Scan any company's tech stack
Detect the technologies a domain runs - frameworks, CDNs, analytics, payments, and more - each with a confidence score. Use open roles and stack together as a buying signal.
$ jobspipe stack stripe.com
- Frameworks, infra, analytics, and payments detected
- Confidence scores and category tags per technology
- Results cached, so repeat scans are instant
Skill, MCP, or raw REST.
Agent skill and CLI
The fastest path. Install the skill for your agent, then add the zero-dependency CLI with one npm command.
npx skills add jobspipe/jobspipe-cliView on GitHubMCP server
Connect over the Model Context Protocol from Claude, Cursor, or any MCP client. No API key needed - sign in when prompted.
claude mcp add --transport http jobspipe https://mcp.jobspipe.dev/mcpMCP guideREST API
Two endpoints, one Bearer key. Call it directly from any language or runtime.
api.jobspipe.dev/v1Read the docsGive your agent live hiring data.
Install the skill and CLI, add one key, and your agent is querying real job and tech-stack data in under two minutes.
What is JobsPipe?
JobsPipe is a unified Jobs API that returns normalized, deduplicated job postings from 30+ applicant tracking system (ATS) feeds and job boards as a single JSON schema, alongside a company tech-stack scanner that reveals the technologies a company runs. It is developer-first: you authenticate with an API key, call one endpoint, and get clean, structured records instead of brittle scrapers. A free tier with 100 jobs per month (1 credit = 1 job returned) lets you evaluate the API before upgrading.
JobsPipe by the numbers
- 30+
- ATS and job-board sources
- 1
- normalized JSON schema for every posting
- 1,000
- free jobs per month on the Free tier
- $49 / $349
- Builder / Scale plans per month
- 2-50
- requests per second, by plan tier
- ~14 days
- tech-stack scan cache window
Key facts
- 30+ sources, spanning applicant tracking system (ATS) feeds and job boards such as Greenhouse, Lever, Ashby and Workday.
- One normalized JSON schema for every posting: stable ID, title, company, location, parsed salary range, remote flag, posted date, apply URL and full description.
- 1,000 free jobs per month on the Free tier, where 1 credit = 1 job returned.
- Plans: Free, Builder ($49 per month), Scale ($349 per month).
- Results are deduplicated across sources, so a role posted to two ATS systems collapses into one record with every origin listed under source_refs.
- Parsed salary ranges expose minimum, maximum and currency as structured fields rather than free text.
- Company tech-stack scans are cached for roughly 14 days to keep technographic lookups fast and cheap.
- Real-time webhooks fire when a job opens, changes or closes, so you never poll the full index.
How developers use the JobsPipe API
Job search. Query open roles by title, skill, location, remote status, seniority and recency, then page through normalized results. Because every record shares one schema, filtering and ranking work the same way across every source.
Hiring-signal intent. Track which companies are opening, changing or closing roles over time to infer growth, team direction and buying intent. Diff webhooks turn those changes into a real-time feed for sales, recruiting and market research.
Tech-stack and technographics. Run the tech-stack scanner against a company domain to learn the frameworks, languages and tools it uses, with results cached for roughly 14 days so repeated lookups stay fast.
Agent integration. Connect JobsPipe to AI agents through the Model Context Protocol (MCP) server and the command-line interface (CLI), so an assistant can search jobs and read tech-stack data as tools without custom glue code.
JobsPipe vs building it yourself
| Capability | Build in-house | JobsPipe |
|---|---|---|
| Source coverage | Write and maintain a separate scraper or API client for each ATS and board. | 30+ sources behind a single endpoint, maintained for you. |
| Deduplication | Build fuzzy matching to merge the same role posted in several places. | Cross-source dedup is automatic, with every origin under source_refs. |
| Salary parsing | Hand-roll regex to turn salary strings into structured numbers. | Min, max and currency arrive as typed fields. |
| Maintenance | Fix breakage every time a source changes its markup or rate limits. | Source changes are absorbed upstream; your integration stays stable. |
| Time to first call | Weeks of crawler and pipeline work before the first clean record. | Minutes: grab a free key, run the cURL from the docs. |
Sources covered by JobsPipe
JobsPipe normalizes job postings from these applicant tracking systems and job boards into one schema. Each links to a page documenting its coverage and how to pull its postings through the API.
- Workday - Live public postings from a verified, growing set of Workday tenants - one normalized endpoint, no per-tenant OAuth.
- Paycom - Every public Paycom career site, one endpoint. No per-customer credentials, no scraper to maintain.
- Indeed - Indeed deprecated its Publisher API. JobsPipe gives you the data anyway - normalized, fresh, and included.
- Glassdoor - Glassdoor retired its public API in 2022. JobsPipe normalizes Glassdoor jobs into a developer-friendly schema.
- Ashby - Ashby's Job Board endpoint covers one company at a time. JobsPipe covers every public Ashby customer in one call, in the same JSON shape as 30+ other ATSs.
- Workable - Every public Workable career site, one endpoint. No per-customer API keys to juggle.
- Lever - Every public Lever posting, one endpoint. Same schema as Workday, Indeed, and 30+ other sources.
- SmartRecruiters - SmartRecruiters' Postings API works one customer at a time and is tier-dependent. JobsPipe covers every public SmartRecruiters customer in one call, in the same JSON shape as 30+ other ATSs.
- iCIMS - The iCIMS Talent Cloud API is partner-only. JobsPipe covers every public iCIMS customer with no application form, no OAuth, and the same JSON shape as 30+ other ATSs.
- Pinpoint - Every public Pinpoint career site, one endpoint. Same schema as Workday, Indeed, and 30+ other sources.
- JazzHR - Every public JazzHR career site, one endpoint. No per-customer API onboarding.
- Manatal - Every public Manatal-hosted careers site, one endpoint. Recruiting agencies and in-house teams both covered.
- Breezy HR - Every public Breezy HR career site, one endpoint. No need to enumerate company slugs.
- Greenhouse - Every public Greenhouse Job Board posting, one endpoint. No per-tenant Harvest API onboarding, no slug discovery.
- BambooHR - Every public BambooHR posting, normalized - no per-tenant API key, no embed-widget reverse engineering.
- Paylocity - Every public Paylocity posting, one endpoint - no partner-program approval, no per-tenant integration build.
- LinkedIn - The LinkedIn Jobs API doesn't exist anymore. Go upstream to where each job was first posted - legally.
- ZipRecruiter - ZipRecruiter postings without the Partner API gating - one endpoint, normalized, no inbound feed contract.
- SAP SuccessFactors - Every public SuccessFactors posting, one endpoint - no OData URL hunting, no per-data-center URL juggling.
- Zoho Recruit - Every public Zoho Recruit posting across every region, one endpoint - no per-region OAuth client.
- Jobvite - Every public Jobvite posting across Hire, Engage, and Enterprise, one endpoint - no per-tenant Job Feed enablement.
- Taleo - Every public Taleo Enterprise + Taleo Business Edition + Oracle Recruiting Cloud posting, one endpoint - normalized.
- Teamtailor - Every public Teamtailor posting, one endpoint - no per-tenant X-Api-Key, no JSON:API pagination to flatten.
- Personio - Personio runs HR for 14,000+ companies across Europe - most aggregators miss it. JobsPipe normalizes every public Personio posting into the same shape as Workday, Greenhouse, and 30+ other sources.
- USAJobs - USAJobs has the best-documented public job API of any source. JobsPipe normalizes it into the same shape as Workday, Greenhouse, Lever, and 30+ other ATSs.
- Recooty - Recooty doesn't publish a developer API - just branded careers pages and a job widget. JobsPipe indexes every public Recooty tenant and returns the data in the same JSON shape as Workday, Greenhouse, and 30+ other sources.
- Trakstar - Trakstar Hire publishes per-tenant RSS feeds and HTML careers pages - no public JSON API. JobsPipe flattens both into the same JSON schema as Workday, Greenhouse, and 30+ other sources.
- Polymer - Polymer publishes a public jobs endpoint - but per-organization. JobsPipe indexes every public Polymer org and returns the data alongside 30+ other sources in one normalized JSON schema.
- Comeet - Comeet (now Spark Hire Recruit) ships a Careers API designed for one customer's own site - not for aggregators. JobsPipe normalizes every public Comeet tenant into the same JSON shape as 30+ other sources.
- Rippling - Public job postings from companies that use Rippling Recruiting, one endpoint - same schema as 30+ other sources.
- Dayforce - Public job postings from Ceridian Dayforce career sites, one endpoint - same schema as 30+ other sources.
- Bullhorn - Public job postings from staffing agencies that run Bullhorn, one endpoint - same schema as 30+ other sources.
- Oracle Recruiting Cloud - Public job postings from companies running Oracle Recruiting Cloud, one endpoint - same schema as 30+ other sources.
- Cornerstone - Public job postings from companies that run Cornerstone Recruiting, one endpoint - same schema as 30+ other sources.
- HiBob - Public job postings from companies that use HiBob (Bob), one endpoint - same schema as 30+ other sources.
- TriNet - Public job postings from companies that hire through TriNet, one endpoint - same schema as 30+ other sources.
- JobAdder - Public job postings from companies and agencies that use JobAdder, one endpoint - same schema as 30+ other sources.
- Recruiterflow - Public job postings from agencies that use Recruiterflow, one endpoint - same schema as 30+ other sources.
- PCRecruiter - Public job postings from firms that use PCRecruiter, one endpoint - same schema as 30+ other sources.
Glossary: jobs-data and hiring-intent terms
- Job ad
- A job ad (job advertisement) is the public announcement an employer publishes to attract applicants for an open role - the same object called a job posting or job listing in American usage. One vacancy typically produces several ads across careers sites, job boards, and aggregators.
- ATS API
- An ATS API is the programmatic interface an applicant tracking system exposes so software can read or write recruiting data - job requisitions, candidates, applications, and interview stages - without going through the ATS web interface.
- ATS integration
- ATS integration is the work of connecting an applicant tracking system to other software - a job board, a sourcing tool, an HRIS, an analytics product - so recruiting data moves between them automatically instead of by manual export.
- Job board API
- A job board API is a programmatic interface for reading job postings - title, company, location, salary, description, apply link - usually across many employers, so software can ingest listings without scraping web pages.
- Job aggregator
- A job aggregator is a system that collects job postings from many sources - company career pages, applicant tracking systems, and other boards - and combines them into a single searchable, deduplicated index.
- Job posting schema
- A job posting schema is the defined structure of a job record - the field names, types, and meanings - that lets job data from different sources be stored, searched, and exchanged consistently.
- Job posting deduplication
- Job posting deduplication is the process of detecting that several collected job records describe the same real-world opening and collapsing them into one, so an aggregated index does not count the same job many times.
- Unified API
- A unified API is a single API that abstracts many similar third-party services behind one schema and one authentication flow, so a developer integrates once instead of once per provider.
- Talent intelligence
- Talent intelligence is the practice of collecting and analyzing workforce data - job postings, skills, compensation, hiring activity, talent movement - to make better decisions about recruiting, workforce planning, and competitive strategy.
- Job scraping
- Job scraping is the automated extraction of job postings from websites - company career pages, job boards, and ATS-hosted listings - by programmatically fetching pages and parsing the posting data out of them.
- API rate limiting
- API rate limiting is the practice of capping how many requests a client can make to an API within a set time window, protecting the service from overload and enforcing fair use across all consumers.
- Intent data
- Intent data is any signal that suggests an account or buyer is moving toward a purchase decision - inferred from third-party content consumption, software-review activity, first-party website engagement, or capital-allocation moves like hiring.
- Hiring-signal intent
- Hiring-signal intent is a category of B2B intent data that uses a company's open job postings and headcount changes as a leading indicator of buying intent - typically 1-2 quarters before content or review intent fires.
- Technographics
- Technographics is data about the technology stack a company runs - its frameworks, analytics, hosting, CRM, payments, and other tools - used by B2B teams to target and qualify accounts by the software they already use.
- Technographic data
- Technographic data is structured data on the technologies a company uses, attached to its domain, exposed via API so sales, marketing, and competitive-intelligence teams can target and segment by tech stack.
- Firmographic vs technographic data
- Firmographic data describes a company's attributes (industry, size, revenue, location); technographic data describes the technologies it uses. B2B teams combine both to define and prioritize target accounts.
- B2B technographic data
- B2B technographic data is technology-usage data on companies, used by sales, marketing, and competitive-intelligence teams to build target lists, qualify accounts, and personalize outreach around the tools a prospect already runs.
- Technographic segmentation
- Technographic segmentation is the practice of grouping accounts by the technologies they use, so messaging, targeting, and prioritization can be tailored to each group's stack.
- Technographic data examples
- Technographic data examples are the concrete technology data points attached to a company, such as the analytics suite, hosting provider, ecommerce platform, CRM, or payment processor it uses.
- Employment Type
- Employment type is the field on a job posting that records the kind of working relationship an opening offers - full-time, part-time, contract, temporary, or internship - using a small, fixed set of values so jobs can be filtered and compared across sources.
Frequently asked questions
Is scraping ATS sites legal?
JobsPipe only ingests publicly listed postings, respects robots.txt, source-specific terms, and uses official APIs wherever they exist (Workday, Greenhouse, Lever, etc). We don't touch authenticated pages or candidate data.
How fresh is the data?
All sources are crawled within 24 hours on the Free tier, 6 hours on Builder, and within 1 hour on Scale. Diff webhooks fire within minutes of detection.
What is a credit?
One credit is one job returned, so a response carrying twenty-five postings costs twenty-five credits and a response carrying one costs one. A search that matches nothing costs nothing, and preview mode returns masked results at no charge. Free includes 1,000 jobs per month, Builder 25,000 and Scale 300,000. Balances reset at the start of each billing cycle.
What does "normalized" actually mean?
Every record matches the same JSON shape regardless of source: stable ID, title, company, normalized location, parsed salary range with currency, remote flag, posted_at, apply_url and full description in Markdown.
Do you handle dedup across sources?
Yes. When the same role is posted to Greenhouse and Ashby, we collapse them into one record and surface every source ID under .source_refs[].
Can I filter by ATS source?
Pass ?source=greenhouse,lever to scope a query. You can also exclude - e.g. ?source=-indeed - when you don't want aggregator listings.
How do I authenticate API requests?
Send your secret key as a Bearer token in the Authorization header. Keys start with jp_live_ and are issued from the dashboard about 30 seconds after signup. Agents can also discover OAuth 2.0 metadata with jobs:read and stack:read scopes at /.well-known/oauth-authorization-server. The full reference lives at docs.jobspipe.dev/authentication.
Do you support webhooks?
Yes. job.created and job.closed events are pushed to your endpoint as they happen, so you can react to a posting closing without polling. Every payload is signed with HMAC-SHA256 in the X-JobsPipe-Signature header; verify the signature, respond 200, and we retry with backoff on anything else. Webhooks are included on paid plans.
Can AI agents and MCP clients use JobsPipe?
Yes, JobsPipe ships as native agent tooling: a hosted MCP server at mcp.jobspipe.dev/mcp (streamable HTTP with your Bearer API key; a no-key demo lives at jobspipe.dev/mcp, listed on Smithery and the official MCP registry), agent skills you can install with npx skills add jobspipe/skills, a CLI, and llms.txt for context. Agents get the same job search and stack-scan capabilities as the REST API.
Can I try the API without signing up?
Yes. Every /v1/sandbox route answers without an API key and without a quota, returning sample data in the exact live schema. POST to api.jobspipe.dev/v1/sandbox/jobs/search to see the response shape before you create an account. The free tier then gives you 1,000 jobs per month against the live dataset.
Which SDKs and clients are official?
Python (pip install jobspipe), Go (github.com/jobspipe/jobspipe-go) and the jobspipe-cli Node package, plus the OpenAPI 3.1 spec at jobspipe.dev/openapi for generating clients in any other language. All of them wrap the same two calls: job search and stack scan.
Do you provide salary data and history?
Salary ranges are AI-parsed from posting text into typed min, max, currency and period fields, so you can filter and aggregate without writing regexes. Paid plans include 12 months of historical postings; query them with posted_at_gte and posted_at_lte to build a time series of any company's hiring.
How does JobsPipe compare to building scrapers in-house?
One maintained API replaces 30+ per-site crawlers that break on every markup change. You get cross-source dedup, AI-parsed salaries and webhook delivery out of the box, and you pay per request instead of paying an engineer to babysit XPath selectors.
What can I search and filter on?
Title and location accept arrays (job_title_or, job_location_or), plus description keywords, country, remote flag, posted_at date ranges and per-source include or exclude. The schema is strict: unknown parameters return a 400 instead of silently returning everything.
Do you cover LinkedIn and Y Combinator?
Yes. LinkedIn public postings and the Y Combinator jobs board are first-class sources alongside the ATS feeds, normalized into the same schema and deduplicated against every other source.
Where is the API documentation?
docs.jobspipe.dev covers quickstart, authentication, every endpoint and the job schema. jobspipe.dev/developers lists every developer resource on one page, and machine-readable copies live at /openapi.json and /llms.txt for agents and code generators.
What does the Stack Scan endpoint do?
POST /v1/stack/scan takes a company domain and returns the frameworks, languages, analytics and infrastructure it runs, with results cached about 14 days. Combine it with job-posting data to score accounts on both hiring signals and technology fit.
How is JobsPipe priced compared to bulk datasets?
Metered on the jobs you actually pull instead of sold as a dataset subscription: Free is 1,000 jobs a month, Builder $49 for 25,000 and Scale $349 for 300,000, which is $1.16 per 1,000. You query live data when you need it rather than buying periodic file dumps and storing them yourself.
Can I export large result sets?
Yes. Batch endpoints accept multiple searches in one call, and the async export pattern returns a 202 with a poll URL for big pulls. Cursor pagination keeps ordinary result sets stable while you page through them.
Do you publish rate limits and an SLA?
Rate limits scale from 2 to 50 requests per second by plan and are advertised in IETF RateLimit response headers. Scale plans carry a 99.95% uptime SLA. Back off and retry on HTTP 429 and documented transient 5xx; other 4xx errors are never retried.
How do I get started?
Grab a free key, paste the cURL from the docs, ship. Most teams have JobsPipe wired up in under 10 minutes.



