---
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."
canonical: https://jobspipe.dev/
date_published: 2026-06-16
date_modified: 2026-09-29
author: Dvir Atias
---

![](https://jobspipe.dev/brand/glyph/mark-white.svg)

0 1 0  
1 0 1  
0 1 1

# Every job posting, for AI agents

Search live and past postings from 30+ job boards and ATS sources.

[Get free API key](https://jobspipe.dev/signup)

Category

HealthcareLegalEngineeringData

Sources

![](https://jobspipe.dev/favicons/linkedin.png)![](https://jobspipe.dev/favicons/indeed.png)![](https://jobspipe.dev/favicons/greenhouse.png)![](https://jobspipe.dev/favicons/lever.png)![](https://jobspipe.dev/favicons/workday.png)![](https://jobspipe.dev/favicons/ashby.png)![](https://jobspipe.dev/favicons/smartrecruiters.png)![](https://jobspipe.dev/favicons/personio.png)+30

[API docs](https://docs.jobspipe.dev)

Output

ResultsStructuredAPI

Any other request runs in your free account

Who it's for

## Put the job market to work across every team.every team.sales.recruiting.job boards.research.

01 / 04

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?Which US companies posted a Salesforce admin role in the last 7 days?`[Hiring signals API](https://jobspipe.dev/hiring-signals-api)

02 / 04

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 rangesList remote senior data engineer roles posted this week, with salary ranges`[Saved-search signals](https://jobspipe.dev/signals)

03 / 04

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, deduplicatedPull new postings from Greenhouse, Lever and Ashby since yesterday, deduplicated`[ATS job aggregator](https://jobspipe.dev/ats-job-aggregator)

04 / 04

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 lastShare of remote postings among UK software engineer roles, this quarter vs last`[Labour-market insights](https://jobspipe.dev/labour-market)

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

## The boards and ATS platforms we index.

30+ sources, from Workday, Greenhouse, Lever, Ashby and SmartRecruiters to LinkedIn and Indeed - every posting normalized into one schema and deduplicated across boards.

[![](https://jobspipe.dev/favicons/workday.png)Workday](https://jobspipe.dev/sources/workday)[![](https://jobspipe.dev/favicons/greenhouse.png)Greenhouse](https://jobspipe.dev/sources/greenhouse)[![](https://jobspipe.dev/favicons/lever.png)Lever](https://jobspipe.dev/sources/lever)[![](https://jobspipe.dev/favicons/ashby.png)Ashby](https://jobspipe.dev/sources/ashby)[![](https://jobspipe.dev/favicons/linkedin.png)LinkedIn](https://jobspipe.dev/sources/linkedin)[![](https://jobspipe.dev/favicons/indeed.png)Indeed](https://jobspipe.dev/sources/indeed)[![](https://jobspipe.dev/favicons/smartrecruiters.png)SmartRecruiters](https://jobspipe.dev/sources/smartrecruiters)[![](https://jobspipe.dev/favicons/workable.png)Workable](https://jobspipe.dev/sources/workable)[![](https://jobspipe.dev/favicons/personio.png)Personio](https://jobspipe.dev/sources/personio)![](https://jobspipe.dev/favicons/recruitee.png)Recruitee[![](https://jobspipe.dev/favicons/teamtailor.png)Teamtailor](https://jobspipe.dev/sources/teamtailor)![](https://jobspipe.dev/favicons/eures.png)EURES[![](https://jobspipe.dev/favicons/paylocity.png)Paylocity](https://jobspipe.dev/sources/paylocity)[![](https://jobspipe.dev/favicons/breezy.png)Breezy HR](https://jobspipe.dev/sources/breezy)![](https://jobspipe.dev/favicons/cvlibrary.png)CV-Library![](https://jobspipe.dev/favicons/ycombinator.png)Y Combinator

[![](https://jobspipe.dev/favicons/workday.png)Workday](https://jobspipe.dev/sources/workday)[![](https://jobspipe.dev/favicons/greenhouse.png)Greenhouse](https://jobspipe.dev/sources/greenhouse)[![](https://jobspipe.dev/favicons/lever.png)Lever](https://jobspipe.dev/sources/lever)[![](https://jobspipe.dev/favicons/ashby.png)Ashby](https://jobspipe.dev/sources/ashby)[![](https://jobspipe.dev/favicons/linkedin.png)LinkedIn](https://jobspipe.dev/sources/linkedin)[![](https://jobspipe.dev/favicons/indeed.png)Indeed](https://jobspipe.dev/sources/indeed)[![](https://jobspipe.dev/favicons/smartrecruiters.png)SmartRecruiters](https://jobspipe.dev/sources/smartrecruiters)[![](https://jobspipe.dev/favicons/workable.png)Workable](https://jobspipe.dev/sources/workable)[![](https://jobspipe.dev/favicons/personio.png)Personio](https://jobspipe.dev/sources/personio)![](https://jobspipe.dev/favicons/recruitee.png)Recruitee[![](https://jobspipe.dev/favicons/teamtailor.png)Teamtailor](https://jobspipe.dev/sources/teamtailor)![](https://jobspipe.dev/favicons/eures.png)EURES[![](https://jobspipe.dev/favicons/paylocity.png)Paylocity](https://jobspipe.dev/sources/paylocity)[![](https://jobspipe.dev/favicons/breezy.png)Breezy HR](https://jobspipe.dev/sources/breezy)![](https://jobspipe.dev/favicons/cvlibrary.png)CV-Library![](https://jobspipe.dev/favicons/ycombinator.png)Y Combinator

[![](https://jobspipe.dev/favicons/workday.png)Workday](https://jobspipe.dev/sources/workday)[![](https://jobspipe.dev/favicons/greenhouse.png)Greenhouse](https://jobspipe.dev/sources/greenhouse)[![](https://jobspipe.dev/favicons/lever.png)Lever](https://jobspipe.dev/sources/lever)[![](https://jobspipe.dev/favicons/ashby.png)Ashby](https://jobspipe.dev/sources/ashby)[![](https://jobspipe.dev/favicons/linkedin.png)LinkedIn](https://jobspipe.dev/sources/linkedin)[![](https://jobspipe.dev/favicons/indeed.png)Indeed](https://jobspipe.dev/sources/indeed)[![](https://jobspipe.dev/favicons/smartrecruiters.png)SmartRecruiters](https://jobspipe.dev/sources/smartrecruiters)[![](https://jobspipe.dev/favicons/workable.png)Workable](https://jobspipe.dev/sources/workable)[![](https://jobspipe.dev/favicons/personio.png)Personio](https://jobspipe.dev/sources/personio)![](https://jobspipe.dev/favicons/recruitee.png)Recruitee[![](https://jobspipe.dev/favicons/teamtailor.png)Teamtailor](https://jobspipe.dev/sources/teamtailor)![](https://jobspipe.dev/favicons/eures.png)EURES[![](https://jobspipe.dev/favicons/paylocity.png)Paylocity](https://jobspipe.dev/sources/paylocity)[![](https://jobspipe.dev/favicons/breezy.png)Breezy HR](https://jobspipe.dev/sources/breezy)![](https://jobspipe.dev/favicons/cvlibrary.png)CV-Library![](https://jobspipe.dev/favicons/ycombinator.png)Y Combinator

[![](https://jobspipe.dev/favicons/workday.png)Workday](https://jobspipe.dev/sources/workday)[![](https://jobspipe.dev/favicons/greenhouse.png)Greenhouse](https://jobspipe.dev/sources/greenhouse)[![](https://jobspipe.dev/favicons/lever.png)Lever](https://jobspipe.dev/sources/lever)[![](https://jobspipe.dev/favicons/ashby.png)Ashby](https://jobspipe.dev/sources/ashby)[![](https://jobspipe.dev/favicons/linkedin.png)LinkedIn](https://jobspipe.dev/sources/linkedin)[![](https://jobspipe.dev/favicons/indeed.png)Indeed](https://jobspipe.dev/sources/indeed)[![](https://jobspipe.dev/favicons/smartrecruiters.png)SmartRecruiters](https://jobspipe.dev/sources/smartrecruiters)[![](https://jobspipe.dev/favicons/workable.png)Workable](https://jobspipe.dev/sources/workable)[![](https://jobspipe.dev/favicons/personio.png)Personio](https://jobspipe.dev/sources/personio)![](https://jobspipe.dev/favicons/recruitee.png)Recruitee[![](https://jobspipe.dev/favicons/teamtailor.png)Teamtailor](https://jobspipe.dev/sources/teamtailor)![](https://jobspipe.dev/favicons/eures.png)EURES[![](https://jobspipe.dev/favicons/paylocity.png)Paylocity](https://jobspipe.dev/sources/paylocity)[![](https://jobspipe.dev/favicons/breezy.png)Breezy HR](https://jobspipe.dev/sources/breezy)![](https://jobspipe.dev/favicons/cvlibrary.png)CV-Library![](https://jobspipe.dev/favicons/ycombinator.png)Y Combinator

![](https://jobspipe.dev/favicons/bayt.png)Bayt![](https://jobspipe.dev/favicons/jobtech.png)JobTech (Sweden)![](https://jobspipe.dev/favicons/resumelibrary.png)Resume-Library![](https://jobspipe.dev/favicons/arbeitnow.png)Arbeitnow![](https://jobspipe.dev/favicons/himalayas.png)Himalayas![](https://jobspipe.dev/favicons/rise.png)Rise[![](https://jobspipe.dev/favicons/manatal.png)Manatal](https://jobspipe.dev/sources/manatal)[![](https://jobspipe.dev/favicons/pinpoint.png)Pinpoint](https://jobspipe.dev/sources/pinpoint)![](https://jobspipe.dev/favicons/jobscore.png)JobScore![](https://jobspipe.dev/favicons/hirehive.png)HireHive![](https://jobspipe.dev/favicons/themuse.png)The Muse![](https://jobspipe.dev/favicons/remotive.png)Remotive![](https://jobspipe.dev/favicons/remoteok.png)Remote OK![](https://jobspipe.dev/favicons/jobicy.png)Jobicy![](https://jobspipe.dev/favicons/workingnomads.png)Working Nomads![](https://jobspipe.dev/favicons/landingjobs.png)Landing.jobs

![](https://jobspipe.dev/favicons/bayt.png)Bayt![](https://jobspipe.dev/favicons/jobtech.png)JobTech (Sweden)![](https://jobspipe.dev/favicons/resumelibrary.png)Resume-Library![](https://jobspipe.dev/favicons/arbeitnow.png)Arbeitnow![](https://jobspipe.dev/favicons/himalayas.png)Himalayas![](https://jobspipe.dev/favicons/rise.png)Rise[![](https://jobspipe.dev/favicons/manatal.png)Manatal](https://jobspipe.dev/sources/manatal)[![](https://jobspipe.dev/favicons/pinpoint.png)Pinpoint](https://jobspipe.dev/sources/pinpoint)![](https://jobspipe.dev/favicons/jobscore.png)JobScore![](https://jobspipe.dev/favicons/hirehive.png)HireHive![](https://jobspipe.dev/favicons/themuse.png)The Muse![](https://jobspipe.dev/favicons/remotive.png)Remotive![](https://jobspipe.dev/favicons/remoteok.png)Remote OK![](https://jobspipe.dev/favicons/jobicy.png)Jobicy![](https://jobspipe.dev/favicons/workingnomads.png)Working Nomads![](https://jobspipe.dev/favicons/landingjobs.png)Landing.jobs

![](https://jobspipe.dev/favicons/bayt.png)Bayt![](https://jobspipe.dev/favicons/jobtech.png)JobTech (Sweden)![](https://jobspipe.dev/favicons/resumelibrary.png)Resume-Library![](https://jobspipe.dev/favicons/arbeitnow.png)Arbeitnow![](https://jobspipe.dev/favicons/himalayas.png)Himalayas![](https://jobspipe.dev/favicons/rise.png)Rise[![](https://jobspipe.dev/favicons/manatal.png)Manatal](https://jobspipe.dev/sources/manatal)[![](https://jobspipe.dev/favicons/pinpoint.png)Pinpoint](https://jobspipe.dev/sources/pinpoint)![](https://jobspipe.dev/favicons/jobscore.png)JobScore![](https://jobspipe.dev/favicons/hirehive.png)HireHive![](https://jobspipe.dev/favicons/themuse.png)The Muse![](https://jobspipe.dev/favicons/remotive.png)Remotive![](https://jobspipe.dev/favicons/remoteok.png)Remote OK![](https://jobspipe.dev/favicons/jobicy.png)Jobicy![](https://jobspipe.dev/favicons/workingnomads.png)Working Nomads![](https://jobspipe.dev/favicons/landingjobs.png)Landing.jobs

![](https://jobspipe.dev/favicons/bayt.png)Bayt![](https://jobspipe.dev/favicons/jobtech.png)JobTech (Sweden)![](https://jobspipe.dev/favicons/resumelibrary.png)Resume-Library![](https://jobspipe.dev/favicons/arbeitnow.png)Arbeitnow![](https://jobspipe.dev/favicons/himalayas.png)Himalayas![](https://jobspipe.dev/favicons/rise.png)Rise[![](https://jobspipe.dev/favicons/manatal.png)Manatal](https://jobspipe.dev/sources/manatal)[![](https://jobspipe.dev/favicons/pinpoint.png)Pinpoint](https://jobspipe.dev/sources/pinpoint)![](https://jobspipe.dev/favicons/jobscore.png)JobScore![](https://jobspipe.dev/favicons/hirehive.png)HireHive![](https://jobspipe.dev/favicons/themuse.png)The Muse![](https://jobspipe.dev/favicons/remotive.png)Remotive![](https://jobspipe.dev/favicons/remoteok.png)Remote OK![](https://jobspipe.dev/favicons/jobicy.png)Jobicy![](https://jobspipe.dev/favicons/workingnomads.png)Working Nomads![](https://jobspipe.dev/favicons/landingjobs.png)Landing.jobs

![](https://jobspipe.dev/favicons/greenhouse.png)![](https://jobspipe.dev/favicons/lever.png)![](https://jobspipe.dev/favicons/workday.png)![](https://jobspipe.dev/favicons/ashby.png)![](https://jobspipe.dev/favicons/linkedin.png)![](https://jobspipe.dev/favicons/indeed.png)![](https://jobspipe.dev/favicons/smartrecruiters.png)![](https://jobspipe.dev/favicons/personio.png)

### 30+ Sources

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

daily diff · last 24h

-   +openedSenior Data Engineer · Stripe
-   ~salary$140k → $155k · Platform Lead
-   −closedProduct Manager, Growth

webhook: on

### Daily refresh

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

free tier

$0

0jobs / month

renews monthly · no card

### 1,000 free credits to start

1,000 free credits when you sign up, a $1.96 value. No card, and they never expire. Upgrade when you outgrow them.

ONE SCHEMA

## Normalized JSON, every field consistent.

We harmonize 30+ source 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.

## 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.

JobsPipe holds 8.6 million active job postings from 30+ sources, as of September 30, 2026.

Coverage

0+

boards and ATS platforms

Retention

0mo

of history

Free tier

0

free credits to start ($1.96 value)

Not convinced yet? Hear from our customers

![](https://jobspipe.dev/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

## 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](https://jobspipe.dev/brand/ai/claude-color.svg "Claude")![ChatGPT](https://jobspipe.dev/brand/ai/chatgpt.svg "ChatGPT")![Gemini](https://jobspipe.dev/brand/ai/gemini.svg "Gemini")![Perplexity](https://jobspipe.dev/brand/ai/perplexity.svg "Perplexity")![Grok](https://jobspipe.dev/brand/ai/grok.svg "Grok")\+ any MCP client

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

_terminal_

$ npx skills add jobspipe/jobspipe-clinpx skills add jobspipe/jobspipe-cli

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

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

$ jobspipe stack stripe.comjobspipe stack stripe.com

## 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.

MonthlyYearly2 months free

Free

$0no card

1,000 free credits, a $1.96 value

1,000 free credits to start, a $1.96 value. No card, and they never expire.

[Start free](https://jobspipe.dev/signup)

Includes:

-   1,000 free credits to start
-   All 30+ sources
-   Up to 24h freshness
-   Community Discord
-   Technologies on any job, +1 credit per job

Builder

$49/ month

$1.96 per 1,000 credits · 0.196¢ per job

For startups and indie tools shipping in production.

[Start with Builder](https://jobspipe.dev/signup?next=%2Fdashboard%2Fsettings%2Fbilling%3Fcredits%3D25000)

Includes:

-   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
-   Technologies on any job, +1 credit per job

MOST POPULAR

Growth

$149/ month

$1.49 per 1,000 credits · 0.149¢ per job

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

[Start with Growth](https://jobspipe.dev/signup?next=%2Fdashboard%2Fsettings%2Fbilling%3Fcredits%3D100000)

Includes:

-   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
-   Technologies on any job, +1 credit per job

Scale

$348/ month

$1.16 per 1,000 credits · 0.116¢ per job

For job boards, ATS partners and aggregators.

[Start with Scale](https://jobspipe.dev/signup?next=%2Fdashboard%2Fsettings%2Fbilling%3Fcredits%3D300000)

Includes:

-   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
-   Technologies on any job, +1 credit per job

Business

$525/ month

$1.05 per 1,000 credits · 0.105¢ per job

For high-volume pipelines that pull the corpus continuously.

[Start with Business](https://jobspipe.dev/signup?next=%2Fdashboard%2Fsettings%2Fbilling%3Fcredits%3D500000)

Includes:

-   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
-   Technologies on any job, +1 credit per job

Enterprise

Custom

Need more? From 1,000,000 credits a month, or for invoiced billing and a contractual SLA.

[Talk to us about Enterprise →](https://jobspipe.dev/book)

## 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 refreshed 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 gives 1,000 credits once, at signup; 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 to start 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. 12 months of history on every plan: query past postings 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 to start, 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.

GET STARTED NOW

## 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](https://jobspipe.dev/signup)[Talk to a human](https://jobspipe.dev/book)


---
Try it with no key: `curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search`. AI agents: the full machine-readable index of this site is https://jobspipe.dev/llms.txt?src=md-twin - API quickstart, MCP server, pricing. Free key (1,000 jobs to start): https://jobspipe.dev/signup