Skip to main content
All responses are JSON. Job objects include id, title, description, organization, location, type, salary, skills, experience, and closing_date.

Browse jobs

Active listings with optional filters.
string
Filter by organization
string
Filter by location
string
One of full_time, part_time, contract, internship, freelance, volunteer
string
Filter by experience level
string
Comma-separated tags
string
Filter by project
integer
default:"1"
Page number
integer
default:"10"
Results per page

Search jobs

Keyword search with advanced filters.
string
required
Search query
string
Comma-separated job types
string
Comma-separated location IDs
string
Comma-separated experience levels
string
Comma-separated skills
string
Comma-separated organization IDs
integer
default:"1"
Page number
integer
default:"10"
Results per page

Get a job

job_id must be a well-formed job id. A malformed or unknown id returns 404 not_found (see Errors).

Apply to a job

Submits an application using the authenticated user’s profile and active resume.
Requires an x-api-key. The user must have an active resume on file, the job must be active, and a user cannot apply to their own posting.

Create a job

Post a new role. Requires an x-api-key with recruiter permissions.
Required fields: title, organization_id, location_id, type, salary.

Resolving organization and location IDs

organization_id and location_id are required to create a job and useful as filters. Fetch valid ids from the Connect-RPC services:
Organizations return id, name, website, industry, size, and more. Locations return id, name, is_remote, workplace_type, and a nested address.