SmartRecruiters API: pulling published job postings at scale
SmartRecruiters is one of the friendlier ATSs to build on - it has a genuinely public Posting API, no key required. Where the public endpoint shines, where one-company-per-call runs out, and how to query every SmartRecruiters employer through one normalized feed.
Dvir Atias
Founder, JobsPipe
SmartRecruiters powers hiring for a large roster of mid-market and enterprise employers, and it is one of the friendlier ATSs to build on: the SmartRecruiters API includes a genuinely public Posting API, no key required. The limit is the usual one - it serves one company per call.
The SmartRecruiters API surfaces
- The public Posting API -
api.smartrecruiters.com/v1/companies/<company>/postings. Unauthenticated, returns a company’s published postings as JSON, with a companion/postings/<id>for full detail. This is the surface most developers want. - The authenticated (Marketplace) API - the OAuth- secured REST surface for customers and partners: jobs, candidates, and hiring workflow. Scoped to one customer’s account.
The public Posting API in practice
For a single known company, it is clean structured JSON with no auth:
curl "https://api.smartrecruiters.com/v1/companies/<company>/postings?limit=100"Each posting carries title, location, department, employment type, a creation date, and a deep link to apply. Results page with limit and offset.
Where single-company access runs out
The endpoint takes one company identifier per call, and that is the model. There is no cross-company search, no directory of every SmartRecruiters employer, no expired-posting history, and per-IP rate limits that make broad polling slow. To cover many employers you first need every company’s identifier and a way to keep that list fresh - the same discovery-and-maintenance work every per-company API forces on you.
Query every SmartRecruiters company at once
JobsPipe indexes public SmartRecruiters postings and returns them through one endpoint, normalized with parsed salary and resolved locations, alongside 30+ other sources:
curl https://api.jobspipe.dev/v1/jobs/search \
-H "Authorization: Bearer jp_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{ "source_or": ["smartrecruiters"], "job_title_or": ["account executive"], "remote": true }'Narrow to one employer with company_name_partial_match_or, or drop source_or to search across every ATS at once. Field-level docs are on our SmartRecruiters source page.
Every SmartRecruiters company, one API key - free tier included.
Get a free API key