iCIMS ATS API Docs & Webhook Guide
Technical integration specifications, authentication methods, REST endpoints, and webhook triggers for engineering teams building recruiting integrations with iCIMS.
- Public REST API
- Yes — Publicly accessible endpoints
- Webhook Support
- Yes — Real-time event notifications
- Authentication Methods
- OAuth 2.0, Basic Auth
- Official Documentation
- https://developer.icims.com
1. Architecture & Capabilities
iCIMS provides extensive REST APIs for job distribution, applicant tracking, and onboarding synchronization.
When pushing parsed resume data into iCIMS, ensure your pipeline respects its core parser schema: single-column layout parsing, strict date parsing (strict MM/YYYY enforced), and file constraints (5MB maximum).
2. Authentication
All requests to iCIMS's API require secure authentication. Configure your HTTP client with the appropriate authorization header:
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
Accept: application/json3. Code Samples & Quickstart
# Fetch candidate applications or open vacancies curl -X GET "https://api.icims.io/v1/candidates" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Accept: application/json"
import httpx
headers = {
"Authorization": "Bearer YOUR_TOKEN",
"Accept": "application/json",
}
response = httpx.get("https://api.icims.io/v1/candidates", headers=headers)
candidates = response.json()
print(f"Loaded {len(candidates)} candidates from iCIMS")interface Candidate {
id: string;
first_name: string;
last_name: string;
email: string;
}
async function listCandidates(): Promise<Candidate[]> {
const res = await fetch("https://api.icims.io/v1/candidates", {
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Accept": "application/json",
},
});
if (!res.ok) throw new Error(`Failed to fetch from iCIMS: ${res.statusText}`);
return res.json();
}4. Webhook Event Notifications
iCIMS supports sending outbound HTTP POST webhooks to your server when recruiting events occur:
candidate.created— Fired when a resume is submitted and parsed.application.updated— Triggered when scorecards or stages advance.job.published— Notifies job board syndication networks.
Diagnose Candidate Resumes for iCIMS
Test candidate PDFs directly against iCIMS's parser specifications and geometry rules.