Skip to main content

Jobs API

Search, retrieve, and filter job listings.

Methods

client.jobs.list(params?)

List and filter jobs.

const jobs = await client.jobs.list({
status?: 'published' | 'draft' | 'archived'
limit?: number
offset?: number
organizationId?: string
location?: string
employmentType?: 'full_time' | 'part_time' | 'contract' | 'temp' | 'intern'
remoteOption?: 'on_site' | 'hybrid' | 'remote'
})

Parameters:

ParameterTypeDescription
statusstringFilter by job status (default: published)
limitnumberResults per page (1-100, default: 20)
offsetnumberPagination offset (default: 0)
organizationIdstringFilter by organization ID
locationstringFilter by location (partial match)
employmentTypestringFilter by employment type
remoteOptionstringFilter by remote work option

Returns:

{
data: Job[]
pagination: {
total: number
limit: number
offset: number
has_more: boolean
}
}

Example:

// Get remote full-time jobs
const jobs = await client.jobs.list({
status: 'published',
employmentType: 'full_time',
remoteOption: 'remote',
limit: 50
})

// Paginate through all jobs
let offset = 0
while (true) {
const response = await client.jobs.list({ limit: 100, offset })
// Process response.data
if (!response.pagination.has_more) break
offset += 100
}

client.jobs.retrieve(id)

Get a single job by ID.

const job = await client.jobs.retrieve(id: string)

Parameters:

ParameterTypeDescription
idstringJob ID

Returns: { data: Job }

Example:

const job = await client.jobs.retrieve('job_abc123')
console.log(job.data.title)
console.log(job.data.description)
console.log(job.data.requirements)

client.jobs.similar(id, params?)

Get jobs similar to a given job.

const similar = await client.jobs.similar(
id: string,
params?: {
limit?: number
offset?: number
}
)

Parameters:

ParameterTypeDescription
idstringJob ID to find similar jobs for
limitnumberResults per page (1-100, default: 10)
offsetnumberPagination offset (default: 0)

Returns:

{
data: Job[]
pagination: {
total: number
limit: number
offset: number
has_more: boolean
}
}

Example:

// Get 5 similar jobs
const similar = await client.jobs.similar('job_abc123', { limit: 5 })

client.jobs.filterOptions()

Get available filter values for job search.

const options = await client.jobs.filterOptions()

Returns:

{
data: {
employmentTypes: string[]
remoteOptions: string[]
locations: string[]
organizations: Array<{ id: string; name: string }>
}
}

Example:

const options = await client.jobs.filterOptions()
console.log('Available employment types:', options.data.employmentTypes)
console.log('Available locations:', options.data.locations)

Job Type

interface Job {
id: string
title: string
organization_id: string
organization_name: string
description: string
requirements: string
location: string | null
employment_type: 'full_time' | 'part_time' | 'contract' | 'temp' | 'intern'
remote_option: 'on_site' | 'hybrid' | 'remote'
salary_min_cents: number | null
salary_max_cents: number | null
status: 'published' | 'draft' | 'archived'
created_at: string
updated_at: string
}

Next Steps