# JobPostings API — Complete LLM & AI Agent Technical Reference (llms-full.txt) > 9.9M+ Verified ATS & Corporate Career-Site Jobs (Redistributable), plus 9.9M+ Attributed Global Listings across 434 Sources. > Base URL: `https://api.jobpostingsapi.com` | Main Website: `https://jobpostingsapi.com` > OpenAPI 3.0 Spec: `https://jobpostingsapi.com/openapi.json` | Compact Summary: `https://jobpostingsapi.com/llms.txt` ## 1. Authentication & Core Architecture - **Base URL**: `https://api.jobpostingsapi.com` - **Authentication Header**: Pass either `x-api-key: jp_your_api_key` OR `Authorization: Bearer jp_your_api_key` on every request. - **Free Trial**: Every new account receives **500 Free Credits** immediately upon sign-up at `https://jobpostingsapi.com/signup`. - **Zero Charge on Empty Searches & Errors**: Any search returning 0 results, failed lookup, or 4xx/5xx response costs **0 Credits**. - **Latency SLA**: Cached & Indexed ATS Queries: `< 300 ms p50`; Live Uncached Long-Tail Pass-Through: `2–8 s`. ## 2. Pricing & Record-Based Credit System (1 Credit = 1 Job Record) | Data Type / Endpoint | Credits | Starter ($19/mo) | Pro ($99/mo) | Scale ($199/mo) | Page Size | | :--- | :--- | :--- | :--- | :--- | :--- | | Job Search, Detail & Company Open Jobs | 1 Credit / job | $0.76 / 1K jobs | $0.33 / 1K jobs | $0.199 / 1K jobs | Up to 50 jobs/call | | Real-Time Delta Feeds (/v1/feeds/new, updated, closed) | 1 Credit / record | $0.76 / 1K records | $0.33 / 1K records | $0.199 / 1K records | Up to 50 records/call | | Hiring Velocity Count (/v1/jobs/count) | 1 Credit / call | $0.76 / 1K calls | $0.33 / 1K calls | $0.199 / 1K calls | Exact integer count | | Sources Directory (/v1/sources) & ATS Detector (/v1/tools/ats-detector) | 0 Credits | Free | Free | Free | 434 sources / domain lookup | ## 3. Complete Endpoint Reference & Code Samples ### Search & filter active job postings across 434 ATS & career sources (`GET /v1/jobs/search`) - **Documentation URL**: https://jobpostingsapi.com/docs/searchjobs - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Full-text search with multi-dimensional filters (ATS source, company, country, city, remote, salary range, skills, experience level). Costs 1 Credit per job returned (0 Credits if 0 results). - **Parameters**: - `q` (query, optional): Full-text search query (e.g., `software engineer`, `machine learning`) - `title` (query, optional): Job title substring filter - `company` (query, optional): Company name or slug filter (e.g., `stripe`, `figma`) - `source` (query, optional): ATS or source slug (e.g., `greenhouse`, `lever`, `ashby`, `workday`, `smartrecruiters`) - `country` (query, optional): ISO-2 country code (e.g., `US`, `GB`, `CA`, `DE`) - `state` (query, optional): State or province name - `city` (query, optional): City name - `remote` (query, optional): Filter remote-eligible positions (`true` or `false`) - `employment_type` (query, optional): - `experience_level` (query, optional): - `category` (query, optional): Job category (`engineering`, `data`, `ai-ml`, `product`, `design`, `devops`, `security`, `sales`) - `skill` (query, optional): Skill tag filter (e.g., `python`, `typescript`, `kubernetes`) - `has_salary` (query, optional): Only return jobs with structured salary data - `salary_min` (query, optional): Minimum annual salary filter - `posted_after` (query, optional): ISO timestamp or relative window (`24h`, `7d`, `30d`) - `include_description` (query, optional): Include full HTML and plain-text job description in search results - `include_attributed` (query, optional): Include CC-BY/attributed aggregator sources in addition to redistribution=allowed ATS jobs - `limit` (query, optional): - `cursor` (query, optional): Pagination cursor from `meta.next_cursor` ```bash curl "https://api.jobpostingsapi.com/v1/jobs/search?q=engineer&remote=true&limit=10" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/jobs/search?q=engineer&remote=true&limit=10", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Get full job posting details & HTML/text description by ID (`GET /v1/jobs/{id}`) - **Documentation URL**: https://jobpostingsapi.com/docs/getjobbyid - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns complete normalized job metadata plus full `description_html` and `description_text`. Costs 1 Credit. - **Parameters**: - `id` (path, required): [example: `j_iwnoo5bdjvaf2ivy`] ```bash curl "https://api.jobpostingsapi.com/v1/jobs/j_iwnoo5bdjvaf2ivy" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/jobs/j_iwnoo5bdjvaf2ivy", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Count matching active jobs (Free — 0 Credits) (`GET /v1/jobs/count`) - **Documentation URL**: https://jobpostingsapi.com/docs/countjobs - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns total count of matching active jobs for any filter combination so you can preview volume before paginating. Costs 0 Credits. - **Parameters**: - `q` (query, optional): - `source` (query, optional): - `country` (query, optional): - `remote` (query, optional): ```bash curl "https://api.jobpostingsapi.com/v1/jobs/count" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/jobs/count", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Real-time stream of newly discovered job postings (`GET /v1/feeds/new`) - **Documentation URL**: https://jobpostingsapi.com/docs/getnewjobsfeed - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns jobs discovered within the requested `since` window (`15m`, `1h`, `6h`, `24h`, `7d`). Costs 1 Credit per job returned. - **Parameters**: - `since` (query, optional): - `source` (query, optional): - `country` (query, optional): - `limit` (query, optional): - `cursor` (query, optional): ```bash curl "https://api.jobpostingsapi.com/v1/feeds/new" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/feeds/new", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Real-time stream of updated job postings (`GET /v1/feeds/updated`) - **Documentation URL**: https://jobpostingsapi.com/docs/getupdatedjobsfeed - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns jobs whose metadata, salary, or description changed within `since`. Costs 1 Credit per job returned. - **Parameters**: - `since` (query, optional): - `source` (query, optional): - `limit` (query, optional): ```bash curl "https://api.jobpostingsapi.com/v1/feeds/updated" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/feeds/updated", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Stream of recently closed / filled / expired job postings (`GET /v1/feeds/closed`) - **Documentation URL**: https://jobpostingsapi.com/docs/getclosedjobsfeed - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns jobs verified closed via 2-step confirmation debounce so downstream job boards can immediately delist dead links. Costs 1 Credit per job returned. - **Parameters**: - `since` (query, optional): - `source` (query, optional): - `limit` (query, optional): ```bash curl "https://api.jobpostingsapi.com/v1/feeds/closed" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/feeds/closed", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Get all open jobs for a company (supports live ETag ATS refresh) (`GET /v1/companies/{slug}/jobs`) - **Documentation URL**: https://jobpostingsapi.com/docs/getcompanyjobs - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns all active jobs for a company slug (e.g., `stripe`, `figma`, `vercel`, `anthropic`, `linear`). Pass `?refresh=true` to trigger a real-time ETag/gzip poll directly against the company's Greenhouse/Lever/Ashby board. - **Parameters**: - `slug` (path, required): [example: `stripe`] - `refresh` (query, optional): Trigger live ETag/gzip check against public Greenhouse/Lever/Ashby board - `remote` (query, optional): - `limit` (query, optional): ```bash curl "https://api.jobpostingsapi.com/v1/companies/stripe/jobs" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/companies/stripe/jobs", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### List all 434 ATS platforms & career sources (Free — 0 Credits) (`GET /v1/sources`) - **Documentation URL**: https://jobpostingsapi.com/docs/listsources - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: Returns the complete catalog of 434 job sources with active job counts, last scrape timestamp, and redistribution license metadata. Costs 0 Credits. - **Parameters**: - None ```bash curl "https://api.jobpostingsapi.com/v1/sources" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/sources", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Normalized skills taxonomy with active job counts (Free — 0 Credits) (`GET /v1/taxonomy/skills`) - **Documentation URL**: https://jobpostingsapi.com/docs/listskillstaxonomy - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: - **Parameters**: - None ```bash curl "https://api.jobpostingsapi.com/v1/taxonomy/skills" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/taxonomy/skills", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Normalized countries & regions taxonomy with active job counts (Free — 0 Credits) (`GET /v1/taxonomy/locations`) - **Documentation URL**: https://jobpostingsapi.com/docs/listlocationstaxonomy - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: - **Parameters**: - None ```bash curl "https://api.jobpostingsapi.com/v1/taxonomy/locations" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/taxonomy/locations", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Detect a company's ATS platform, board token & open job count (Free — 0 Credits) (`GET /v1/tools/ats-detector`) - **Documentation URL**: https://jobpostingsapi.com/docs/detectcompanyats - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: - **Parameters**: - `domain` (query, required): [example: `stripe.com`] ```bash curl "https://api.jobpostingsapi.com/v1/tools/ats-detector?domain=stripe.com" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/tools/ats-detector?domain=stripe.com", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` --- ### Gateway health & live index coverage stats (Free — 0 Credits) (`GET /v1/health`) - **Documentation URL**: https://jobpostingsapi.com/docs/gethealth - **Cost**: 1 Credit / Job (From $0.199/1K) - **Description**: - **Parameters**: - None ```bash curl "https://api.jobpostingsapi.com/v1/health" \ -H "x-api-key: jp_your_api_key" ``` ```python import requests res = requests.get( "https://api.jobpostingsapi.com/v1/health", headers={"x-api-key": "jp_your_api_key"}, timeout=30, ) print(res.json()) ``` ## 4. Top 50 Supported ATS & Corporate Career-Site Sources - **Greenhouse** (`source=greenhouse-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/greenhouse-jobs-api — ~213,965 active postings - **Lever** (`source=lever-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/lever-jobs-api — ~55,600 active postings - **Ashby** (`source=ashby-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/ashby-jobs-api — ~68,721 active postings - **Workday** (`source=workday-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/workday-jobs-api — ~1,128,036 active postings - **SmartRecruiters** (`source=smartrecruiters-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/smartrecruiters-jobs-api — ~212,125 active postings - **Workable** (`source=workable-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/workable-jobs-api — ~100,725 active postings - **BambooHR** (`source=bamboohr-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/bamboohr-jobs-api — ~79,416 active postings - **Rippling** (`source=rippling-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/rippling-jobs-api — ~24,361 active postings - **Recruitee** (`source=recruitee-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/recruitee-jobs-api — ~61,459 active postings - **Personio** (`source=personio-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/personio-jobs-api — ~40,738 active postings - **Teamtailor** (`source=teamtailor-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/teamtailor-jobs-api — ~109,722 active postings - **Pinpoint** (`source=pinpoint-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/pinpoint-jobs-api — ~24,962 active postings - **iCIMS** (`source=icims-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/icims-jobs-api — ~286,539 active postings - **Oracle Taleo** (`source=taleo-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/taleo-jobs-api — ~77,917 active postings - **SAP SuccessFactors** (`source=successfactors-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/successfactors-jobs-api — ~202,100 active postings - **UKG Pro** (`source=ukg-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/ukg-jobs-api — ~182,276 active postings - **ADP Workforce Now** (`source=adp-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/adp-jobs-api — ~160,382 active postings - **ADP Recruiting Management** (`source=adprecruiting-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/adprecruiting-jobs-api — ~70,877 active postings - **Dayforce** (`source=dayforce-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/dayforce-jobs-api — ~107,107 active postings - **Paylocity** (`source=paylocity-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/paylocity-jobs-api — ~136,218 active postings - **Paycom** (`source=paycom-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/paycom-jobs-api — ~197,549 active postings - **Paycor** (`source=paycor-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/paycor-jobs-api — ~61,166 active postings - **JazzHR** (`source=jazzhr-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/jazzhr-jobs-api — ~92,731 active postings - **Breezy HR** (`source=breezy-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/breezy-jobs-api — ~42,464 active postings - **Jobvite** (`source=jobvite-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/jobvite-jobs-api — ~42,007 active postings - **Bullhorn** (`source=bullhorn-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/bullhorn-jobs-api — ~18,290 active postings - **Avature** (`source=avature-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/avature-jobs-api — ~56,593 active postings - **Kenexa BrassRing** (`source=brassring-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/brassring-jobs-api — ~58,071 active postings - **Eightfold** (`source=eightfold-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/eightfold-jobs-api — ~87,073 active postings - **Phenom** (`source=phenom-jobs-api`, `source_type=career_site`, `license_class=redistributable`): https://jobpostingsapi.com/sources/phenom-jobs-api — ~179,637 active postings - **Paradox** (`source=paradox-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/paradox-jobs-api — ~92,081 active postings - **Gem** (`source=gem-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/gem-jobs-api — ~5,730 active postings - **Dover** (`source=dover-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/dover-jobs-api — ~9,251 active postings - **Homerun** (`source=homerun-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/homerun-jobs-api — ~2,702 active postings - **JOIN** (`source=join-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/join-jobs-api — ~32,541 active postings - **Comeet** (`source=comeet-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/comeet-jobs-api — ~8,983 active postings - **Freshteam** (`source=freshteam-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/freshteam-jobs-api — ~4,351 active postings - **Zoho Recruit** (`source=zohorecruit-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/zohorecruit-jobs-api — ~116,333 active postings - **Manatal** (`source=manatal-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/manatal-jobs-api — ~130,450 active postings - **Loxo** (`source=loxo-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/loxo-jobs-api — ~14,111 active postings - **Ceipal** (`source=ceipal-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/ceipal-jobs-api — ~71,852 active postings - **JobDiva** (`source=jobdiva-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/jobdiva-jobs-api — ~86,294 active postings - **PCRecruiter** (`source=pcrecruiter-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/pcrecruiter-jobs-api — ~15,817 active postings - **ClearCompany** (`source=clearcompany-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/clearcompany-jobs-api — ~32,016 active postings - **CareerPlug** (`source=careerplug-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/careerplug-jobs-api — ~148,925 active postings - **ApplicantPro / isolved Hire** (`source=applicantpro-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/applicantpro-jobs-api — ~73,980 active postings - **Cornerstone OnDemand** (`source=cornerstone-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/cornerstone-jobs-api — ~51,237 active postings - **PageUp** (`source=pageup-jobs-api`, `source_type=ats_direct`, `license_class=redistributable`): https://jobpostingsapi.com/sources/pageup-jobs-api — ~38,558 active postings - **Employer career page** (`source=careerpage-jobs-api`, `source_type=career_site`, `license_class=redistributable`): https://jobpostingsapi.com/sources/careerpage-jobs-api — ~310,752 active postings - **Big tech career APIs** (`source=bigtech-jobs-api`, `source_type=career_site`, `license_class=redistributable`): https://jobpostingsapi.com/sources/bigtech-jobs-api — ~35,350 active postings ## 5. Use-Case Blueprints & Architecture Guides ### B2B GTM Hiring Signals API: Detect Buying Intent from Live ATS Job Postings - **URL**: https://jobpostingsapi.com/use-cases/gtm-hiring-signals-api - **Summary**: Trigger high-converting B2B outbound campaigns when target accounts open roles mentioning your tech stack, compliance tools, or executive initiatives across 434 ATS sources. - **Key Takeaways**: - Job descriptions on Greenhouse, Lever, Ashby, and Workday reveal the exact tools, cloud infrastructure, and compliance initiatives a company is funding before any press release. - Use GET /v1/jobs/search?skills=snowflake,dbt&posted_since=24h to capture every company hiring for your target ecosystem at 1 Credit ($0.000199–$0.00076) per matched job. - Use GET /v1/companies/{slug}/jobs?refresh=true to perform a live ETag check against a prospect's ATS board right before an outbound sequence or sales call. - Zero credits are deducted when a target company has 0 matching open roles. ### AI Recruiting Agent Data Feed: Structured ATS Jobs, Salaries & MCP Tools - **URL**: https://jobpostingsapi.com/use-cases/ai-recruiting-agent-data-feed - **Summary**: Power AI career copilots, automated job-matching agents, and RAG pipelines with 9.9M+ structured ATS job postings, normalized salaries, full descriptions, and native MCP support. - **Key Takeaways**: - Every job record includes pre-extracted skills[], seniority, work_arrangement (remote/hybrid/onsite), visa_sponsorship, and annualized USD salary bounds — ready for vector embedding or structured LLM tool calls. - Direct ATS apply URLs (boards.greenhouse.io, jobs.lever.co, jobs.ashbyhq.com, myworkdayjobs.com) let AI agents deep-link candidates straight to the employer's application form. - Polling GET /v1/feeds/closed ensures your AI agent never recommends expired or filled roles. - Zero-dependency MCP server (@jobpostingsapi/mcp-server) connects Claude, Cursor, and LangChain agents in 30 seconds. ### Job Board Backfill API: Populate Niche Job Boards with 9.9M+ Direct ATS Postings - **URL**: https://jobpostingsapi.com/use-cases/job-board-backfill-api - **Summary**: Launch and backfill vertical, remote, or regional job boards with 9.9M+ redistributable ATS job postings (Greenhouse, Lever, Ashby, Workday) and automatic closed-job cleanup. - **Key Takeaways**: - Default search results (include_attributed=false) contain 9.9M+ direct ATS & corporate career-site jobs with redistribution_allowed=true — no aggregator watermarks or syndication blocks. - Keep your job board Google JobPosting schema compliant with full HTML descriptions, structured location objects, and salary ranges. - Sync hourly additions via GET /v1/feeds/new, salary/title edits via GET /v1/feeds/updated, and delist expired roles immediately via GET /v1/feeds/closed. - Optional +9.9M attributed global listings available via include_attributed=true with ready-to-render attribution strings. ## 6. Competitor Benchmarks ### JobPostings API vs TheirStack (theirstack.com) - **URL**: https://jobpostingsapi.com/compare/theirstack-alternative - **Headline**: $19/mo vs $200/mo entry plan ($0.199/1K jobs on Scale). - **Summary**: TheirStack requires a $200/month ($2,400/year) entry commitment for GTM hiring signals and job postings. JobPostings API gives you 9.9M+ verified ATS & corporate career-site jobs across 434 sources starting at $19/month (Starter) or $49/month (Growth with real-time /v1/feeds/*), plus non-expiring Pay-As-You-Go credit packs. ### JobPostings API vs Coresignal (coresignal.com) - **URL**: https://jobpostingsapi.com/compare/coresignal-jobs-api-alternative - **Headline**: $0.199 vs $4.00+ per 1,000 job records. - **Summary**: Coresignal is built for hedge funds signing $800–$2,500/month annual contracts for raw social scrapes. JobPostings API delivers clean, deduplicated, redistributable ATS & corporate career-site postings with instant self-serve onboarding and transparent per-record billing. ### JobPostings API vs Fantastic.jobs (fantastic.jobs) - **URL**: https://jobpostingsapi.com/compare/fantastic-jobs-api-alternative - **Headline**: $19/mo vs $99/mo entry tier (or $25 non-expiring PAYG). - **Summary**: Fantastic.jobs locks developers into $99–$295/month recurring plans focused on a smaller subset of career sites. JobPostings API indexes 434 sources (9.9M+ redistributable ATS jobs + 9.9M+ attributed global listings), exposes real-time /v1/feeds/new|updated|closed streams, and lets you start at $19/mo or $25 PAYG. ### JobPostings API vs Apify Job Scrapers (apify.com) - **URL**: https://jobpostingsapi.com/compare/apify-job-scrapers-alternative - **Headline**: < 300ms vs 30–180s response latency (unified schema across 434 sources). - **Summary**: Running separate Apify actors for Greenhouse, Workday, Lever, Ashby, and Personio means paying for container cold starts, residential proxy bandwidth, and normalizing 20 incompatible JSON schemas. JobPostings API pre-indexes 434 sources into a single schema with < 300ms hot query latency. ### JobPostings API vs Indeed & LinkedIn Scrapers (indeed.com / linkedin.com) - **URL**: https://jobpostingsapi.com/compare/indeed-linkedin-scraper-alternative - **Headline**: 9.9M+ vs Blocked verified direct-employer ATS jobs (redistributable). - **Summary**: Scraping LinkedIn or Indeed exposes your application to Cloudflare blocks, expired redirect links, reposted staffing spam, and strict Terms of Service restrictions. JobPostings API indexes 9.9M+ roles directly from employer ATS systems (`redistribution=allowed`) plus 9.9M+ attributed global listings. ### JobPostings API vs DIY Multi-ATS Integrations (greenhouse.io) - **URL**: https://jobpostingsapi.com/compare/greenhouse-lever-ashby-unified-api - **Headline**: 434 ATS vs 1 by 1 sources normalized into one JSON schema. - **Summary**: Building and maintaining custom crawlers for Greenhouse, Lever, Ashby, Workday, iCIMS, Taleo, SmartRecruiters, and Personio takes months of engineering and constant board-token discovery. JobPostings API gives you 580,000+ pre-discovered employer boards and a single normalized schema. ## 7. Frequently Asked Questions ### How does the 1 Credit = 1 Job Record pricing model work? Unlike legacy B2B data providers that charge per HTTP request regardless of whether 0 or 100 jobs are returned, JobPostings API charges strictly per returned job record: 1 Credit = 1 Job Record returned on /v1/jobs/search, /v1/feeds/*, and /v1/companies/{slug}/jobs. If a search query returns 0 matching jobs, you pay 0 Credits. Metadata endpoints (/v1/sources, /v1/taxonomy/skills, /v1/taxonomy/locations, /v1/tools/ats-detector) are 100% free (0 Credits). ### What is the difference between Verified ATS Jobs (9.9M+) and Attributed Global Listings (9.9M+)? By default, /v1/jobs/search returns 9.9M+ Verified ATS & Corporate Career-Site Jobs (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Rippling, BambooHR, Personio, and direct employer portals) where redistribution_allowed is true — safe to display on public job boards, recruiting platforms, and commercial SaaS products. Passing include_attributed=true expands coverage across all 434 sources (19.8M+ total active listings), adding 9.9M+ attributed global listings with structured source attribution templates. ### What is the response latency for hot cached queries vs. cold long-tail searches? Hot ATS & pre-indexed queries (covering US/EU/Remote tech, finance, healthcare, and Fortune 1000 boards) are served directly from our local PostgreSQL 16 full-text & trigram index in < 300 ms (typically 15–80 ms). Cold long-tail queries or live ATS board refreshes (?refresh=true) execute a real-time pass-through and write-through sync in 2–8 seconds, then serve all subsequent requests in < 300 ms. ### How do I detect when a job posting is closed or filled so my job board has zero dead links? Poll GET /v1/feeds/closed?since=1h (unlocked on Growth $49/mo and PAYG $50+) or register a Webhook on /v1/webhooks for the job.closed event. Our worker verifies job closures across 434 ATS & career portals and emits structured closure timestamps so you can delist expired postings within minutes. ### Can I trigger a real-time check against a company's Greenhouse, Lever, or Ashby board? Yes. Call GET /v1/companies/{slug}/jobs?refresh=true (for example, /v1/companies/stripe/jobs?refresh=true or /v1/companies/openai/jobs?refresh=true). Our gateway performs a conditional ETag (If-None-Match + gzip) check against the official Greenhouse, Lever, or Ashby board API, upserts any newly posted roles into the index, and returns the updated open job list. ### Am I charged when a search returns 0 results or when an API request fails? Never. Searches that return 0 matching job postings cost 0 Credits. Invalid parameters (HTTP 400), rate-limited requests (HTTP 429), and gateway errors (HTTP 5xx) also cost 0 Credits. ### Should I choose a Monthly Subscription or a Pay-As-You-Go (PAYG) Credit Pack? Monthly subscriptions ($19 Starter / 25k credits, $49 Growth / 100k credits, $99 Pro / 300k credits, $199 Scale / 1M credits) offer the lowest cost per 1,000 jobs ($0.199–$0.76 / 1K jobs) for continuous ingestion and GTM signal monitoring. PAYG Credit Packs ($25 / 30k, $50 / 75k, $100 / 200k, $300 / 800k) have zero recurring charges and your purchased credits never expire. ### What are the RPM rate limits and pagination rules? Free Trial accounts include 500 Credits, 12 RPM (1 RPS), and up to 2 pages per search query. Upgrading to any paid plan or PAYG pack unlocks unlimited cursor pagination and scales throughput to 60 RPM (Starter), 180 RPM (Growth), 300 RPM (Pro), and 600 RPM / 25 RPS (Scale). ### What payment methods are accepted, and do you provide corporate VAT/Tax invoices? You can pay via Credit/Debit Card, Apple Pay, or Google Pay through Stripe (with automatic corporate PDF invoices and EU/UK/AU/CA/SG VAT & Tax ID support), or top up with Cryptocurrency (USDT, USDC, BTC, ETH, SOL via NOWPayments with 0% gateway fee and an automatic +5% Bonus Credits reward). ### How does JobPostings API compare to TheirStack ($200/mo) and Coresignal ($800/mo)? TheirStack starts at $200/month ($2,400/yr) and Coresignal starts at $800/month. JobPostings API starts at $19/month (Starter) or $49/month (Growth with real-time /v1/feeds/*), covers 434 ATS & corporate career-site sources (9.9M+ redistributable ATS jobs + 9.9M+ attributed global listings), and supports both monthly subscriptions and non-expiring Pay-As-You-Go credit packs. ### What is your refund policy? Payments made within the last 14 days are eligible for a pro-rated refund of unused purchased credits. Promotional signup credits have no cash value.