iCIMS API: how to pull job postings from iCIMS career sites
iCIMS runs hiring for thousands of enterprise employers, but unlike Ashby or Greenhouse it has no free public job API - the real API is customer-gated and the public data lives in career portals. What each iCIMS surface gives you, and how to query every iCIMS employer at once.
Dvir Atias
Founder, JobsPipe
iCIMS is one of the largest enterprise applicant tracking systems - thousands of mid-market and Fortune 500 employers run hiring on it. So iCIMS API is a common search for anyone building on jobs data. The catch: unlike Ashby or Greenhouse, iCIMS has no free public job feed. Every surface that carries the word “API” is either gated to customers or is not really an API at all.
The iCIMS API surfaces
- The iCIMS API (Customer/Partner API) - a full REST suite covering jobs, candidates, and workflows, secured with OAuth credentials that iCIMS issues only to its own customers and approved integration partners. You cannot call it against an employer you do not have credentials for.
- The iCIMS Career Portal -
careers-<company>.icims.com, the public-facing career site that renders an employer’s published requisitions. Publicly viewable, but it is HTML, not JSON - reading it means parsing pages. - Job syndication feeds - iCIMS pushes postings out to Indeed, LinkedIn, and Google via XML feeds. Real data, but downstream and outside your control, and often a subset of what is actually open.
Why there is no easy public iCIMS job API
The gating is deliberate: the authenticated API exists for an employer’s own integrations, not for third parties collecting market data. To get iCIMS postings at scale without being each employer’s customer, the only public surface is the career portal - and every employer runs a separate careers-<company>.icims.com subdomain with its own markup.
The discovery and parsing problem
Doing this yourself means three standing jobs: keep a current list of every iCIMS-hosted employer, parse each portal (they drift), and dedupe and normalize the output into one schema. That maintenance layer, not the first scrape, is the real cost. Our ATS API integration breakdown covers why this repeats for every ATS you add.
Query every iCIMS employer at once
JobsPipe maintains that layer. We index public iCIMS career portals and serve the postings through one endpoint, in the same normalized schema as Workday, Greenhouse, and 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": ["icims"], "job_title_or": ["software engineer"], "posted_at_max_age_days": 7 }'Scope to one employer with company_name_partial_match_or, or drop source_or to search iCIMS alongside every other ATS. The deeper reference lives on our iCIMS jobs API guide and iCIMS source page.
iCIMS postings without the customer credentials - normalized across 30+ sources, free tier included.
Get a free API key