SmartRecruiters ATS API Docs & Webhook Guide
Technical integration specifications, authentication methods, REST endpoints, and webhook triggers for engineering teams building recruiting integrations with SmartRecruiters.
- Public REST API
- Yes — Publicly accessible endpoints
- Webhook Support
- Yes — Real-time event notifications
- Authentication Methods
- API Key
- Official Documentation
- https://developers.smartrecruiters.com/
1. Architecture & Capabilities
SmartRecruiters exposes a REST API for jobs, candidates, applications, and related hiring data, authenticated with API keys. Webhooks enable event-driven integrations for candidate and application updates.
When pushing parsed resume data into SmartRecruiters, ensure your pipeline respects its core parser schema: single-column layout parsing, strict date parsing (flexible dates permitted), and file constraints (10MB maximum).
2. Authentication
All requests to SmartRecruiters's API require secure authentication. Configure your HTTP client with the appropriate authorization header:
Authorization: Basic YOUR_ENCODED_KEY
Content-Type: application/json
Accept: application/json3. Code Samples & Quickstart
# Fetch candidate applications or open vacancies curl -X GET "https://api.smartrecruiters.io/v1/candidates" \ -H "Authorization: Basic YOUR_ENCODED_KEY" \ -H "Accept: application/json"
import httpx
headers = {
"Authorization": "Basic YOUR_ENCODED_KEY",
"Accept": "application/json",
}
response = httpx.get("https://api.smartrecruiters.io/v1/candidates", headers=headers)
candidates = response.json()
print(f"Loaded {len(candidates)} candidates from SmartRecruiters")interface Candidate {
id: string;
first_name: string;
last_name: string;
email: string;
}
async function listCandidates(): Promise<Candidate[]> {
const res = await fetch("https://api.smartrecruiters.io/v1/candidates", {
headers: {
"Authorization": "Basic YOUR_ENCODED_KEY",
"Accept": "application/json",
},
});
if (!res.ok) throw new Error(`Failed to fetch from SmartRecruiters: ${res.statusText}`);
return res.json();
}4. Webhook Event Notifications
SmartRecruiters 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 SmartRecruiters
Test candidate PDFs directly against SmartRecruiters's parser specifications and geometry rules.