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

[NewCaps on title and description lists](https://jobspipe.dev/changelog)

# Know who is hiring, the day they post.

Search any company, technology, role or place. See who is hiring right now.

Try[companies hiring around NetSuite](https://jobspipe.dev/technologies/netsuite)[who is hiring software engineers](https://jobspipe.dev/jobs/software-engineer)[every new job in San Diego](https://jobspipe.dev/jobs-in/san-diego)

-   1,000 free credits
-   No card needed
-   No credits for empty results

10,171 large US companies posted jobs this week

## The boards and ATS platforms we index.

30+ sources, from job boards and ATS platforms to company career sites and public employment services - 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

## One schema.  
Behind every posting.

1.  01Collect
    
    Every posting from 30+ sources: job boards, ATS platforms, career sites and public employment services, kept fresh as roles open and close.
    
2.  02Normalize
    
    Titles, locations, salaries, seniority and employer type parsed into one schema, the same for every source.
    
3.  03Deduplicate
    
    A role posted on several job boards and on the company's own careers page comes back once, with every place it appeared.
    
4.  04Deliver
    
    Search it through REST, MCP or the CLI, or save it as a Signal that sends new matches to email, Slack or a webhook.
    
5.  Refreshed every day

## Built for every team that runs on hiring data

From the first posting to the closed deal. One feed, every use case.

-   [
    
    ### Sales signals
    
    Find the accounts hiring for the tools and teams you sell to, while the budget is fresh.
    
    ](https://jobspipe.dev/hiring-signals-api)
-   [
    
    ### Staffing and recruiting
    
    New reqs from direct employers by title and city, with staffing agencies filtered out.
    
    ](https://jobspipe.dev/staffing-agency-leads)
-   [
    
    ### Job boards
    
    One deduplicated feed instead of thirty scrapers, pulled daily with cursor paging.
    
    ](https://jobspipe.dev/ats-job-aggregator)
-   [
    
    ### AI agents
    
    Give Claude, ChatGPT or your own agent live postings through MCP or the CLI.
    
    ](https://jobspipe.dev/agent)
-   [
    
    ### Market research
    
    Occupation demand, salary ranges and skill trends from the live corpus.
    
    ](https://jobspipe.dev/labour-market)
-   [
    
    ### Companies by technology
    
    See which companies hire for the tools you sell against, from their own job postings.
    
    ](https://jobspipe.dev/technologies)

## Hiring research, done before your team logs in

[Get API key](https://jobspipe.dev/signup?ref=home-benefits)[Book a demo](https://jobspipe.dev/book?ref=home-benefits)

-   Hiring now
    
    -   ![](https://jobspipe.dev/tech-icons/github.svg)GitHubStaff Security Data EngineerSee roles
    -   JJPMorganChaseSoftware Engineer II, Data EngineerSee roles
    
    You
    
    ### Find who's hiring
    
    Search any company, technology, role or place and see who posted this week, across 30+ job boards and ATS platforms.
    
-   ![](https://jobspipe.dev/tech-icons/slack.svg)Signal matched7:02 AM
    
    New posting7:02 AM
    
    Company →
    
    GitHub
    
    Role →
    
    Staff Security Data Engineer
    
    Posted → today
    
    ### Ready before you are
    
    Save any search as a Signal. New matching postings arrive in Slack, email or your webhook every day, before your first meeting.
    
-   const res = await fetch(
      "https://api.jobspipe.dev/v1/jobs/search",
      {
        method: "POST",
        headers: {
          Authorization: "Bearer jp\_live\_…",
        },
        body: JSON.stringify({
          job\_title\_or: \["data engineer""staff data engineer"\],
          posted\_at\_max\_age\_days: 1,
        }),
      }
    );
    
    ### One call, every source
    
    The same search is one API request. Every posting comes back in one schema, deduplicated across boards, at 1 credit per job.
    

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

`https://api.jobspipe.dev/v1/jobs/search`

![](https://jobspipe.dev/tech-icons/typescript.svg)Typescript![](https://jobspipe.dev/tech-icons/python.svg)Python![](https://jobspipe.dev/tech-icons/bash.svg)cURL![](https://jobspipe.dev/tech-icons/json.svg)Response

// Create an API key in the dashboard, then expose it as an env var:
// export JOBSPIPE\_API\_KEY="jp\_live\_..."
const res = await fetch("https://api.jobspipe.dev/v1/jobs/search", {
  method: "POST",
  headers: { Authorization: \`Bearer ${process.env.JOBSPIPE\_API\_KEY}\`, "Content-Type": "application/json" },
  body: JSON.stringify({ company\_name\_partial\_match\_or: \["stripe"\], posted\_at\_max\_age\_days: 1 }),
});
const { data } = await res.json();

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 returned once per city.

## Why teams build on JobsPipe

JobsPipe holds 15.3 million active job postings from 30+ sources, as of November 3, 2026.

![](https://jobspipe.dev/icon.png)

> Every team I spoke to that wanted to build with job data ended up building scrapers instead. So I decided we would do that work once.

[Read why we built it](https://jobspipe.dev/about)

![Dvir Atias, founder of JobsPipe](https://jobspipe.dev/authors/dvir-atias.jpg)

Dvir AtiasFounder, JobsPipe

Job boards and ATS platforms in one schema

30+

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

Of posting history

12 mo

On every plan

Free credits to start, no card

1,000

Credits charged for a signal

0

Ways in: API, MCP server and dashboard

3

## 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? It comes back once per city, under the id of the board it is attributed to, and the other board's own ID still works as a lookup.
    
-   ### Daily diffs
    
    Get a feed of what changed since yesterday: opened, closed, salary bumped, retitled. Delivered by webhook or pulled as a daily feed.
    

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

![](https://jobspipe.dev/tech-icons/bash.svg)CLI![](https://jobspipe.dev/brand/ai/claude-color.svg)MCP![](https://jobspipe.dev/brand/glyph/mark.svg)Prompt

npx skills add jobspipe/jobspipe-cli
export JOBSPIPE\_API\_KEY\=jp\_live\_...
jobspipe jobs --title "data engineer" --remote
jobspipe stack stripe.com

## Fits the stack you already run

Use JobsPipe from your AI assistant, your automations, your team chat or your own code.

-   [![](https://jobspipe.dev/brand/ai/claude-color.svg)ClaudeAsk about jobs and stacks in chat over MCP.](https://docs.jobspipe.dev/ai-agents/connect#claude)
-   [![](https://jobspipe.dev/brand/ai/chatgpt.svg)ChatGPTAdd JobsPipe as a custom connector.](https://docs.jobspipe.dev/ai-agents/connect#chatgpt)
-   [![](https://jobspipe.dev/brand/ai/gemini.svg)GeminiSame MCP tools in Gemini.](https://docs.jobspipe.dev/ai-agents/connect#gemini)
-   [![](https://jobspipe.dev/tech-icons/cursor.svg)CursorQuery live postings while you code.](https://docs.jobspipe.dev/ai-agents/connect#cursor)
-   [Any MCP clientVS Code, Windsurf and other agents.](https://jobspipe.dev/mcp-server)
-   [![](https://jobspipe.dev/tech-icons/n8n.svg)n8nCommunity node and ready-made workflows.](https://docs.jobspipe.dev/integrations/n8n)
-   [![](https://jobspipe.dev/tech-icons/slack.svg)SlackSearch from Slack and post Signals to a channel.](https://docs.jobspipe.dev/dashboard/slack)
-   [WebhooksSigned events pushed into your own system.](https://docs.jobspipe.dev/api-reference/webhooks)
-   [Email alertsSignal matches in your inbox, instant or daily.](https://jobspipe.dev/signals)
-   [![](https://jobspipe.dev/tech-icons/openapi.svg)REST APIOne endpoint with an OpenAPI spec.](https://jobspipe.dev/openapi)
-   [![](https://jobspipe.dev/tech-icons/supabase.svg)Lovable, Bolt & SupabaseShow live jobs in an app you built with AI.](https://docs.jobspipe.dev/integrations/lovable-bolt-supabase)
-   [![](https://jobspipe.dev/tech-icons/bash.svg)CLISearch jobs and scan stacks from the terminal.](https://github.com/jobspipe/jobspipe-cli)

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

For teamsFor my job search

MonthlyYearlySave 20%

Start free with 1,000 credits, no card. [Get an API key](https://jobspipe.dev/signup)

Builder

$49/ month

25,000 credits / month

$1.96 per 1,000 credits

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

-   10 requests / second, 100 results per call
-   Webhooks and Signals
-   Sub-6h freshness, email support

Growth

MOST POPULAR

$149/ month

100,000 credits / month

$1.49 per 1,000 credits

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

-   Everything in Builder
-   4× Builder's credits
-   24% less per credit

Scale

$399/ month

300,000 credits / month

$1.33 per 1,000 credits

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

-   50 requests / second, 500 results per call
-   Real-time webhooks, sub-1h freshness
-   99.95% SLA and a dedicated CSM

Every package reads all 30+ sources, adds technologies to any job for +1 credit, and buys extra credits any time at its own rate. [Compare every plan](https://jobspipe.dev/pricing#compare)

Business

$650 / month

500,000 credits / month, $1.30 per 1,000 credits

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

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/pricing#enterprise)

## Questions teams ask us.

### 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 10,000, 25,000, 100,000, 300,000 or 500,000, from $1.96 per 1,000. Unused credits roll over, up to 2× your plan on monthly billing, and carry over for 12 months on yearly billing. Extra credits you buy never expire.

### 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. Postings are matched by employer, title and country, so when the same role is posted to Greenhouse and Ashby it is returned once per city, under the id of the board it is attributed to.

### 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 from the Builder package up.

### 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 five packages at $1.96 per 1,000 on Seeker (10,000 credits is $19.60) and Builder (25,000 is $49), $1.49 on Growth (100,000), $1.33 on Scale (300,000) and $1.30 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.

## Know who is hiring, the day they post.

1,000 free credits to start. No card, and no credits for empty results.

[Get free API key](https://jobspipe.dev/signup?ref=final)[Book a demo](https://jobspipe.dev/book?ref=final)


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