---
title: "JobsPipe - Every job posting, one API"
description: "Live job postings from LinkedIn, Indeed, Workday, Greenhouse and other ATS platforms, deduplicated and normalized to one JSON schema. Free tier included. The data pipeline of every job posting on the "
canonical: https://jobspipe.dev/
---

[NewSearch millions of jobs from your AI agent with MCP→](/blog/jobspipe-mcp-server)

![](/hero-swirl.png)

[NEWAgentic search: describe the job in a sentence, get the postings that fit](/blog/agentic-search)

# Where agents read the job market.

Search, monitor and enrich live and past postings from **30+ ATS sources**, and scan any company's tech stack. MCP, CLI or REST, free tier included.

[

Get free API key

](/signup)Copy onboarding prompt![anthropic.com](/brand/ai/claude.svg)![openai.com](/brand/ai/chatgpt.svg)![cursor.com](https://www.google.com/s2/favicons?domain=cursor.com&sz=32)

Free tier included · 1,000 free jobs / month · Cancel anytime

Who it's for

## Put the job market to work across every team.

Sales intel and SDRs

Treat a new posting as buying intent: watch named accounts or a whole skill market and reach out while the budget is fresh.

Example query:

`Which US companies posted a Salesforce admin role in the last 7 days?`[Hiring signals API](/hiring-signals-api)

Recruiting and sourcing builders

Live, deduplicated roles with parsed salary and location, ready for candidate-facing or recruiter-facing products.

Example query:

`List remote senior data engineer roles posted this week, with salary ranges`[Saved-search signals](/signals)

Job boards and aggregators

One feed instead of 30 scrapers, with a role posted in several places collapsed into one record.

Example query:

`Pull new postings from Greenhouse, Lever and Ashby since yesterday, deduplicated`[ATS job aggregator](/ats-job-aggregator)

Market and labour research

Occupation demand, salary distributions and skill trends from the live corpus, reported as shares and sample sizes.

Example query:

`Share of remote postings among UK software engineer roles, this quarter vs last`[Labour-market insights](/labour-market)

Every query runs through MCP, CLI or REST. [See the agent guide](/agent)

![](/listly/peak.png)

Sources

## The boards and ATS platforms we index.

Workday, Greenhouse, Lever, Ashby, iCIMS, SmartRecruiters, LinkedIn and 30+ more - every posting normalized into one schema and deduplicated across boards.

[![](/favicons/workday.png)Workday](/sources/workday)[![](/favicons/greenhouse.png)Greenhouse](/sources/greenhouse)[![](/favicons/lever.png)Lever](/sources/lever)[![](/favicons/ashby.png)Ashby](/sources/ashby)[![](/favicons/indeed.png)Indeed](/sources/indeed)[![](/favicons/glassdoor.png)Glassdoor](/sources/glassdoor)[![](/favicons/bamboohr.png)BambooHR](/sources/bamboohr)[![](/favicons/paylocity.png)Paylocity](/sources/paylocity)[![](/favicons/smartrecruiters.png)SmartRecruiters](/sources/smartrecruiters)[![](/favicons/icims.png)iCIMS](/sources/icims)[![](/favicons/workable.png)Workable](/sources/workable)[![](/favicons/paycom.png)Paycom](/sources/paycom)[![](/favicons/ziprecruiter.png)ZipRecruiter](/sources/ziprecruiter)[![](/favicons/successfactors.png)SuccessFactors](/sources/successfactors)[![](/favicons/personio.png)Personio](/sources/personio)

[![](/favicons/workday.png)Workday](/sources/workday)[![](/favicons/greenhouse.png)Greenhouse](/sources/greenhouse)[![](/favicons/lever.png)Lever](/sources/lever)[![](/favicons/ashby.png)Ashby](/sources/ashby)[![](/favicons/indeed.png)Indeed](/sources/indeed)[![](/favicons/glassdoor.png)Glassdoor](/sources/glassdoor)[![](/favicons/bamboohr.png)BambooHR](/sources/bamboohr)[![](/favicons/paylocity.png)Paylocity](/sources/paylocity)[![](/favicons/smartrecruiters.png)SmartRecruiters](/sources/smartrecruiters)[![](/favicons/icims.png)iCIMS](/sources/icims)[![](/favicons/workable.png)Workable](/sources/workable)[![](/favicons/paycom.png)Paycom](/sources/paycom)[![](/favicons/ziprecruiter.png)ZipRecruiter](/sources/ziprecruiter)[![](/favicons/successfactors.png)SuccessFactors](/sources/successfactors)[![](/favicons/personio.png)Personio](/sources/personio)

[![](/favicons/workday.png)Workday](/sources/workday)[![](/favicons/greenhouse.png)Greenhouse](/sources/greenhouse)[![](/favicons/lever.png)Lever](/sources/lever)[![](/favicons/ashby.png)Ashby](/sources/ashby)[![](/favicons/indeed.png)Indeed](/sources/indeed)[![](/favicons/glassdoor.png)Glassdoor](/sources/glassdoor)[![](/favicons/bamboohr.png)BambooHR](/sources/bamboohr)[![](/favicons/paylocity.png)Paylocity](/sources/paylocity)[![](/favicons/smartrecruiters.png)SmartRecruiters](/sources/smartrecruiters)[![](/favicons/icims.png)iCIMS](/sources/icims)[![](/favicons/workable.png)Workable](/sources/workable)[![](/favicons/paycom.png)Paycom](/sources/paycom)[![](/favicons/ziprecruiter.png)ZipRecruiter](/sources/ziprecruiter)[![](/favicons/successfactors.png)SuccessFactors](/sources/successfactors)[![](/favicons/personio.png)Personio](/sources/personio)

[![](/favicons/workday.png)Workday](/sources/workday)[![](/favicons/greenhouse.png)Greenhouse](/sources/greenhouse)[![](/favicons/lever.png)Lever](/sources/lever)[![](/favicons/ashby.png)Ashby](/sources/ashby)[![](/favicons/indeed.png)Indeed](/sources/indeed)[![](/favicons/glassdoor.png)Glassdoor](/sources/glassdoor)[![](/favicons/bamboohr.png)BambooHR](/sources/bamboohr)[![](/favicons/paylocity.png)Paylocity](/sources/paylocity)[![](/favicons/smartrecruiters.png)SmartRecruiters](/sources/smartrecruiters)[![](/favicons/icims.png)iCIMS](/sources/icims)[![](/favicons/workable.png)Workable](/sources/workable)[![](/favicons/paycom.png)Paycom](/sources/paycom)[![](/favicons/ziprecruiter.png)ZipRecruiter](/sources/ziprecruiter)[![](/favicons/successfactors.png)SuccessFactors](/sources/successfactors)[![](/favicons/personio.png)Personio](/sources/personio)

![](/favicons/recruitee.png)Recruitee[![](/favicons/jazzhr.png)JazzHR](/sources/jazzhr)[![](/favicons/jobvite.png)Jobvite](/sources/jobvite)[![](/favicons/taleo.png)Taleo](/sources/taleo)[![](/favicons/breezy.png)Breezy](/sources/breezy)[![](/favicons/teamtailor.png)Teamtailor](/sources/teamtailor)[![](/favicons/pinpoint.png)Pinpoint](/sources/pinpoint)[![](/favicons/zoho-recruit.png)Zoho Recruit](/sources/zoho-recruit)[![](/favicons/comeet.png)Comeet](/sources/comeet)[![](/favicons/polymer.png)Polymer](/sources/polymer)[![](/favicons/trakstar.png)Trakstar](/sources/trakstar)[![](/favicons/recooty.png)Recooty](/sources/recooty)[![](/favicons/manatal.png)Manatal](/sources/manatal)[![](/favicons/usajobs.png)USAJobs](/sources/usajobs)

![](/favicons/recruitee.png)Recruitee[![](/favicons/jazzhr.png)JazzHR](/sources/jazzhr)[![](/favicons/jobvite.png)Jobvite](/sources/jobvite)[![](/favicons/taleo.png)Taleo](/sources/taleo)[![](/favicons/breezy.png)Breezy](/sources/breezy)[![](/favicons/teamtailor.png)Teamtailor](/sources/teamtailor)[![](/favicons/pinpoint.png)Pinpoint](/sources/pinpoint)[![](/favicons/zoho-recruit.png)Zoho Recruit](/sources/zoho-recruit)[![](/favicons/comeet.png)Comeet](/sources/comeet)[![](/favicons/polymer.png)Polymer](/sources/polymer)[![](/favicons/trakstar.png)Trakstar](/sources/trakstar)[![](/favicons/recooty.png)Recooty](/sources/recooty)[![](/favicons/manatal.png)Manatal](/sources/manatal)[![](/favicons/usajobs.png)USAJobs](/sources/usajobs)

![](/favicons/recruitee.png)Recruitee[![](/favicons/jazzhr.png)JazzHR](/sources/jazzhr)[![](/favicons/jobvite.png)Jobvite](/sources/jobvite)[![](/favicons/taleo.png)Taleo](/sources/taleo)[![](/favicons/breezy.png)Breezy](/sources/breezy)[![](/favicons/teamtailor.png)Teamtailor](/sources/teamtailor)[![](/favicons/pinpoint.png)Pinpoint](/sources/pinpoint)[![](/favicons/zoho-recruit.png)Zoho Recruit](/sources/zoho-recruit)[![](/favicons/comeet.png)Comeet](/sources/comeet)[![](/favicons/polymer.png)Polymer](/sources/polymer)[![](/favicons/trakstar.png)Trakstar](/sources/trakstar)[![](/favicons/recooty.png)Recooty](/sources/recooty)[![](/favicons/manatal.png)Manatal](/sources/manatal)[![](/favicons/usajobs.png)USAJobs](/sources/usajobs)

![](/favicons/recruitee.png)Recruitee[![](/favicons/jazzhr.png)JazzHR](/sources/jazzhr)[![](/favicons/jobvite.png)Jobvite](/sources/jobvite)[![](/favicons/taleo.png)Taleo](/sources/taleo)[![](/favicons/breezy.png)Breezy](/sources/breezy)[![](/favicons/teamtailor.png)Teamtailor](/sources/teamtailor)[![](/favicons/pinpoint.png)Pinpoint](/sources/pinpoint)[![](/favicons/zoho-recruit.png)Zoho Recruit](/sources/zoho-recruit)[![](/favicons/comeet.png)Comeet](/sources/comeet)[![](/favicons/polymer.png)Polymer](/sources/polymer)[![](/favicons/trakstar.png)Trakstar](/sources/trakstar)[![](/favicons/recooty.png)Recooty](/sources/recooty)[![](/favicons/manatal.png)Manatal](/sources/manatal)[![](/favicons/usajobs.png)USAJobs](/sources/usajobs)

![](/listly/shape-star.png)

Benefits

### 30+ ATS Sources

Workday, Greenhouse, Lever, Ashby, BambooHR, Personio… one integration covers them all.

### Daily refresh

Postings discovered, updated and removed within 24 hours. Subscribe to diffs via webhook.

### Free forever tier

1,000 jobs every month, free forever. Upgrade only when you outgrow the sandbox.

ONE SCHEMA

## Normalized JSON, every field consistent.

We harmonize 30+ ATS schemas into a single, sensible shape. Salary parsed, location resolved, remote flag inferred, duplicates collapsed - so you query, not babysit a scraper. Every field is typed and documented in the OpenAPI spec, so the same query works across all 30+ sources.

cURLNodePythonGo

1\# Authenticated request

2curl https://api.jobspipe.dev/v1/jobs/search

3  -H "Authorization: Bearer jp\_live\_your\_key\_here"

4  -H "Content-Type: application/json"

5  -d '{"company\_name\_partial\_match\_or":\["stripe"\],"posted\_at\_max\_age\_days":1}'

Response

1{

2  "id": "jp\_2WkN3qF8Yt",

3  "title": "Senior Software Engineer, Payments",

4  "company": "Stripe",

5  "source": "greenhouse",

6  "sources": \[{ "provider": "greenhouse" }, { "provider": "indeed" }\],

7  "location": {

8    "city": "Berlin", "country": "DE", "remote": false

9  },

10  "compensation": {

11    "min": 130000, "max": 175000, "currency": "EUR"

12  },

13  "posted\_at": "2026-05-16T08:14:00Z",

14  "apply\_url": "https://stripe.com/jobs/search?gh\_jid=7532733"

15}

Stable IDs

Same job, same ID, across every source.

Salary parsing

Ranges, currencies, periods - all standardized.

Location resolution

City, country, lat/lng, remote/hybrid flag.

Dedup

Cross-source matches collapsed into one record.

![](/listly/shape-star.png)

Milestones

## Key achievements, measured.

The corpus and source counts come off the live index, the history window off what we retain, and the free allowance straight out of the plan.

![](/listly/card-field.png)

Corpus

Millions

active postings

![](/listly/card-field.png)

Coverage

0+

boards and ATS platforms

![](/listly/card-field.png)

Retention

0 mo

of history

![](/listly/card-field.png)

Free tier

0

free jobs every month

![](/listly/shape-b.png)

Customers

Not convinced yet? Hear from our customers

![](/illustration-mascot.png)

“JobsPipe replaced eight scrapers, a Redis queue, and a fragile dedup script. Our jobs board ships features now instead of fighting infra.”

AMArsen MkrtchyanHead of Engineering, RoleRadar

MobalyticsHypeLifeUseteamNorthwindOutpost

![](/listly/shape-heart.png)

Features

## Everything you’d build yourself - minus the maintenance.

We sweat the boring stuff so your team ships product, not pipelines.

### Webhook delivery

Get pushed new postings, updates and removals - at the speed you choose. Payloads are HMAC-SHA256 signed and retried with backoff.

### Salary parsing

Min, max, period, currency, equity - pulled out of free-text, normalized to a struct. Filter and aggregate on numbers, not free text.

### Remote / hybrid / onsite

A single boolean and a free-text reason. Inferred from posting, not from job title. Query it with a single remote=true parameter.

### Location resolution

City, region, country, lat/lng. Multi-city postings split into separate records. Every record carries city, country code and coordinates.

### Cross-source dedup

Same job posted to Greenhouse and Ashby? One record, both source IDs preserved. Every origin stays available under sources.

### Daily diffs

Get a feed of what changed since yesterday: opened, closed, salary bumped, retitled. Delivered by webhook or pulled as a daily feed.

For AI agentsNew

## Plug JobsPipe into your agent

One command installs a skill and CLI so Claude, Cursor, or any MCP client can search jobs and scan tech stacks. Set your key and let it work.

![Claude](/brand/ai/claude-color.svg "Claude")![ChatGPT](/brand/ai/chatgpt.svg "ChatGPT")![Gemini](/brand/ai/gemini.svg "Gemini")![Perplexity](/brand/ai/perplexity.svg "Perplexity")![Grok](/brand/ai/grok.svg "Grok")\+ any MCP client

[JobsPipe for agents→](/agent)[View the CLI](https://github.com/jobspipe/jobspipe-cli)

terminal

Copy

$ npx skills add jobspipe/jobspipe-cli

$ export JOBSPIPE\_API\_KEY=jp\_live\_...

$ jobspipe jobs --title "data engineer" --remote

$ jobspipe stack stripe.com

![](/listly/peak.png)

Plans

## Pay for what you ship.

Credit-based at every tier. 1 credit = 1 job, charged once per month. No seat fees, no per-source upcharges.

### Free

$0forever

For evaluating, hacking, side projects.

[Start free](/signup)

-   1,000 jobs / month
-   All 30+ sources
-   Up to 24h freshness
-   Community Discord

### Builder

$49/ month

$1.96 per 1,000 credits

For startups and indie tools shipping in production.

[Start with Builder](/signup)

-   25,000 credits / month
-   10 requests / second, 100 results per call
-   Webhook delivery and Signals
-   Sub-6h freshness, daily diffs feed
-   Email support
-   Extra credits any time at $1.96 per 1,000

MOST POPULAR

### Growth

$149/ month

$1.49 per 1,000 credits

For lead-gen, sales intel and recruiting tools syncing every day.

[Start with Growth](/signup)

-   100,000 credits / month
-   10 requests / second, 100 results per call
-   Webhook delivery and Signals
-   Sub-6h freshness, daily diffs feed
-   Email support
-   Extra credits any time at $1.49 per 1,000

### Scale

$348/ month

$1.16 per 1,000 credits

For job boards, ATS partners and aggregators.

[Start with Scale](/signup)

-   300,000 credits / month
-   50 requests / second, 500 results per call
-   Real-time webhooks, 25 subscriptions
-   Sub-1h freshness, 99.95% SLA
-   Dedicated CSM
-   Extra credits any time at $1.16 per 1,000

### Business

$525/ month

$1.05 per 1,000 credits

For high-volume pipelines that pull the corpus continuously.

[Start with Business](/signup)

-   500,000 credits / month
-   50 requests / second, 500 results per call
-   Real-time webhooks, 25 subscriptions
-   Sub-1h freshness, 99.95% SLA
-   Dedicated CSM
-   Extra credits any time at $1.05 per 1,000

Need more? [Talk to us about Enterprise →](/book)From 1,000,000 credits a month, or for invoiced billing and a contractual SLA.

![](/listly/shape-heart.png)

FAQs

## Frequently Asked Questions

The questions our customers ask. Anything the answers here don’t cover is in the full reference at docs.jobspipe.dev.

### Where does the data come from, and is it collected lawfully?

JobsPipe collects job postings that anyone can read without logging in: employer career sites, the public job boards of applicant tracking systems, public employment services and job boards. We never log in, never use accounts, and never collect candidate profiles or resume data. Every record links back to the original posting. Where a posting names a recruiter, we keep only what the posting shows and remove it on request. How we collect, what we never do and how to reach us are on our Trust Center at jobspipe.dev/trust.

### How fresh is the data?

All sources are crawled within 24 hours on the Free tier, within 6 hours on Builder and Growth, and within 1 hour on Scale and Business. Diff webhooks fire within minutes of detection.

### What is a credit?

One credit buys one job for the rest of the calendar month. A response carrying twenty-five postings you have not had this month costs twenty-five credits, a search that matches nothing costs nothing, and a job you already paid for is free every time it comes back, so re-running a query or polling for new postings never charges you twice. Free includes 1,000 credits per month; the packages include 25,000, 100,000, 300,000 or 500,000, from $1.96 per 1,000. Allowances reset at the start of each month; extra credits you bought carry over.

### 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 board under .sources\[\].

### Can I filter by ATS source?

Pass {"source\_or": \["greenhouse", "lever"\]} to scope a query. You can also exclude with {"source\_not": \["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 for 7 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 credits a month, then four packages at $1.96 per 1,000 on Builder (25,000 credits is $49), $1.49 on Growth (100,000), $1.16 on Scale (300,000) and $1.05 on Business (500,000), and extra credits at your package's rate whenever you need them. 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 package and are advertised in IETF RateLimit response headers. Scale and Business 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.

![](/listly/shape-star.png)

Get started

## Start shipping with real job data today.

See why teams replace their scraping infra with JobsPipe in an afternoon - one API key, 30+ normalized sources, first call in under 10 minutes.

[Get free API key](/signup)[Talk to a human](/book)

---
Canonical URL: https://jobspipe.dev/
Title: JobsPipe - Universal Jobs API + Hiring-Signal Intent
Description: 30+ ATS and job-board sources behind one normalized JSON schema. Real-time webhooks, parsed salary, cross-source dedup. Plus the data layer behind hiring-signal intent for B2B sales workflows.

---
AI agents: the full machine-readable index of this site is https://jobspipe.dev/llms.txt?src=md-twin - API quickstart, no-key sandbox (POST https://api.jobspipe.dev/v1/sandbox/jobs/search), MCP server, pricing. Free key: https://jobspipe.dev/signup