List published jobs
const url = 'https://api.atlasthq.com/api/public/v1/jobs?page=1&pageSize=20';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.atlasthq.com/api/public/v1/jobs?page=1&pageSize=20' \ --header 'Authorization: Bearer <token>'Returns a paginated list of the organisation’s published jobs. Only jobs where isPublished = true are returned. Pagination is zero-latency on empty pages (returns 200 with { data: [], total: 0 }).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Example
1Page number (1-based, default 1, min 1)
Example
20Items per page (default 20, min 1, max 100)
Responses
Section titled “ Responses ”Paginated list of published jobs
object
object
Job internal ID
URL-friendly public job identifier
Job title
One-line summary of locations, derived by the server
The places this job is open in, in display order, each with its own work arrangement. Empty when the job has no locations. location is the server-derived one-line summary of this list.
object
Job location row id
ISO 3166-1 alpha-2 country code
Country name (English)
GeoNames city id; null for a country-wide location
City name; null for a country-wide location
How the role is worked in this location
Position in the job’s location list, starting at 0
Department
Employment type
Seniority level
Minimum salary
Maximum salary
Salary currency code
How the role states its compensation. UNPAID covers unpaid internships and volunteer roles.
Recruiter’s explanation of why the role is unpaid. Present when compensationType is UNPAID.
Public URL for the job detail page (attached by API layer)
Public URL for the job application form (attached by API layer)
Example
{ "data": [ { "id": "job-550e8400-e29b-41d4-a716-446655440000", "publicId": "abc123def456", "jobTitle": "Senior Software Engineer", "location": "Barcelona, Spain (Hybrid) · Spain (Remote)", "locations": [ { "id": "jlc-550e8400-e29b-41d4-a716-446655440000", "countryCode": "ES", "countryName": "Spain", "cityId": 3128760, "cityName": "Barcelona", "workArrangement": "HYBRID", "sortOrder": 0 }, { "id": "jlc-6fa459ea-ee8a-3ca4-894e-db77e160355e", "countryCode": "ES", "countryName": "Spain", "cityId": null, "cityName": null, "workArrangement": "REMOTE", "sortOrder": 1 } ], "department": "Engineering", "type": "Full-time", "seniorityLevel": "Senior", "minSalary": 80000, "maxSalary": 120000, "currency": "USD", "compensationType": "PAID", "compensationNote": "Volunteer role with travel and lunch expenses reimbursed.", "jobUrl": "https://acme.careers.atlasthq.com/jobs/abc123def456", "applyUrl": "https://acme.careers.atlasthq.com/jobs/abc123def456/apply" } ], "page": 1, "pageSize": 20, "total": 42}Missing or invalid API key
Organisation plan does not include the public API
Rate limit exceeded (60 req/min per key)