Technical deep dives, case studies, and engineering insights from the CleanJobData team.
Compare job APIs, free sources and data providers, and decide which fits your project.
Best Free Job APIs in 2026: Limits, Terms and Gotchas
Free job APIs that are actually live in 2026, with their real rate limits, key requirements, attribution rules and storage restrictions, so you know which one fits your project.
Best Job APIs in 2026: Compared by Source, Price and Terms
The job APIs developers actually use in 2026, compared on where the data comes from, what it costs, what you're allowed to do with it, and who each one is for.
Free Job APIs With No API Key: Working Examples
Job APIs you can call right now with curl and no signup: Remotive, Arbeitnow, RemoteOK, Himalayas, Jobicy and the public Greenhouse, Lever and Ashby boards, plus what each one requires in return.
How to Build a Job Board: Data Sources Compared
Scraping one ATS, general web scraping, or a normalized data API: a tradeoff comparison for sourcing job board data.
How to Choose a Job Data API in 2026
A practical checklist for evaluating job data APIs by coverage, normalization, filtering, freshness, and integration cost.
How each applicant tracking system exposes its jobs, what the data looks like, and the gotchas.
BambooHR Jobs API: How to Scrape Careers Pages
How BambooHR's public careers JSON endpoints work: the list and detail calls, response fields, parsing the free-text pay field, and gaps to fill.
How to Scrape iCIMS Jobs (There's No Public API)
iCIMS has no public jobs API. Learn to page through career-site search results, read each job's JSON-LD, and avoid the pagination and 405 pitfalls.
Personio Jobs API: Scrape the XML Feed
Personio publishes an XML feed of open jobs per company. Find the slug and domain, fill in empty descriptions, and handle office-name locations.
Recruitee Jobs API: How to Scrape Job Listings
How Recruitee's public offers API works: find the company subdomain, make one curl call for every open job, and handle its salary, date and category quirks.
SmartRecruiters API: How to Scrape Job Postings
Use SmartRecruiters' public postings API: the company identifier, paginated list call, per-posting detail call, split job-ad sections, and real-data gotchas.
How to Scrape Taleo Jobs (No Public API)
Taleo has no public JSON API. See how tbe.taleo.net career pages paginate, how to read JSON-LD with an HTML fallback, and the gotchas that matter.
Teamtailor Jobs API: Scrape the jobs.json Feed
Every Teamtailor career site publishes a public jobs.json feed. Find the host, follow next_url pagination, read the schema.org data, and know what's missing.
Ashby Jobs API: How to Scrape Ashby Job Boards
Pull jobs from Ashby's public posting API: the curl call with compensation, the address and pay objects, and pitfalls that skew salary and country data.
Greenhouse Jobs API: How to Scrape Job Listings
How to pull jobs from Greenhouse's public boards API: the board token, one curl call with full descriptions, the JSON shape, and parsing gotchas.
Lever Postings API: How to Scrape Lever Jobs
Use Lever's public postings API: one curl call to api.lever.co, the response shape, the salaryRange object, and timestamp and body-field pitfalls.
Workable Jobs API: How to Scrape Job Listings
Scrape Workable's public widget API: the curl call with details=true, structured multi-location data, and what's missing, like salary and edit dates.
Workday Jobs API: How to Scrape Workday Careers
Scrape Workday's CXS jobs API: the POST list endpoint with curl, the response shape, the required detail call, relative dates and ID and rate-limit gotchas.
Which free and open job sources still work, what they return, and what they ask in return.
jobr.pro's Free XML Job Feed: A Field Guide
A field-by-field walkthrough of jobr.pro's public feed.xml endpoint — the real schema, the apply-URL redaction mechanism, and how it compares to the gated feeds covered elsewhere in this series.
Free XML Job Feeds: What Actually Still Works in 2026
Most 'free XML job feed' advice is outdated. Here's what's actually real — iCIMS's and Indeed's Standard XML Feeds, jobr.pro's genuinely open feed.xml, why the .jobs-domain trick stopped working, and the one truly open government API.
How to Integrate Adzuna's Free Job API Into Your Job Board
A field-by-field walkthrough of Adzuna's free, self-serve job search API — the real response shape, the description-snippet gotcha, and what it can't give you.
Turning messy multi-source job data into clean locations, salaries and deduplicated listings.
How to Deduplicate Job Listings Across Sources
Practical techniques for detecting the same job posted in multiple places: URL canonicalization, content hashing, fuzzy matching, and picking a canonical source.
ATS Integration Patterns for Clean Job Data
How to normalize job data from multiple ATS platforms into one stable schema: adapter mapping, location resolution, dedup, and which fields can be null.
How We Normalized Hiring Data from Multiple ATS Platforms into One API
How raw Greenhouse, Lever, Workable, Ashby and SmartRecruiters data becomes one schema: adapters, salary parsing, location resolution and dedup.
Why Location Normalization Is Harder Than It Looks
Why messy job location strings (Georgia, a bare 'CA') are hard to resolve into city, state and country IDs, and how to read the ambiguity flags.
Why Salary Normalization Matters for Job Data
Why ATS salary data arrives as ranges, free text or nothing, and how normalizing it into salary_min, salary_max and currency enables filters and analytics.
Practical builds: from a first job board to search that scales.
Building a Job Board in an Afternoon with Next.js and CleanJobData
How to use normalized job data, structured filters, and a Next.js starter to ship a production-ready job board quickly.
Building Job Search with PostgreSQL Full-Text Search
How to combine CleanJobData with PostgreSQL full-text search to build fast, relevant job search without Elasticsearch.
Getting job postings indexed: the Indexing API, quotas and JobPosting schema.
Google Indexing API: Quota, Setup, and How to Check Your Usage
What the Google Indexing API is for, the default 200/day quota, how to request an increase, and where to check how much you've actually used.
How to Submit Job Postings to the Google Indexing API (Step by Step)
A complete walkthrough of wiring the Google Indexing API into a job board: service account setup, JWT auth, batching, dedup, and staying under quota.
JobPosting Schema: Required Fields, Mistakes & Where Not to Use It
A field-by-field guide to Google's JobPosting schema, quoting Google's own docs — required vs. recommended properties, common mistakes, and the pages it should never appear on.