Use the JOIN API to connect recruiting data to your own systems: career sites, HR systems, internal dashboards and integration services. Requests use HTTPS and JSON at https://api.join.com/v3.
Choose a resource
| Resource | What it represents | What you can do |
|---|---|---|
| Jobs | A role your company hires for, with its own hiring stages | List, read, create and update published jobs; configure work locations, contract terms and hiring stages |
| Applications | One candidate’s application to one job | List, read, create, store an external reference and move between hiring stages |
| Candidates | A person in your company’s recruiting records | List, read and permanently delete; read, create and delete their notes |
| Scorecards | Published interview feedback | Read feedback for a candidate across their applications |
| Locations | Physical places where your company hires | List, read, create, update and delete |
How the resources fit together
A candidate can have multiple applications, one for each job they applied to. Use the application ID when moving someone through a job’s hiring process. Use the candidate ID when reading their profile, notes or scorecards. Candidate IDs are scoped to your company.
A pipeline template provides the initial stages when a job is created. The resulting job has its own stage IDs. Read the job’s stage IDs when choosing where to move an application.
A location supplies the physical address for an on-site or hybrid job. Remote jobs use a country, a remote region or an anywhere scope instead. Contract types determine employment type and allowed employment terms.
Start here
- Read Authentication and access and obtain a company token.
- Make your first API request, which only reads data.
- Follow Create and manage jobs, Create applications and move them through stages, or Read candidates, notes and scorecards.
For an existing integration, start with Moving from v2 to v3. This documentation describes revision 2026-11-01; pin that revision in requests.