Skip to main content
POST
cURL

Authorizations

X-Api-Key
string
header
required

API key provided by Jobo

Body

application/json

Cursor-paginated export request for the managed job feed. Same filters as JobFeedRequest minus sources (you choose the companies in the portal) and stable_scan (this endpoint always pages by keyset). The cursor preserves the filters and batch size from the first request; start a new scan to change them.

locations
object[] | null

Structured location filters. A job matches if it matches ANY entry. Each entry routes to its most-specific populated level (city, then region, then country) and every level needs country. Use {"country": "Remote"} to match remote jobs.

work_models
enum<string>[] | null

Filter by work model: remote, hybrid, onsite. null = all jobs

Available options:
remote,
hybrid,
onsite
employment_types
enum<string>[] | null

Filter by employment type. null = all jobs

Available options:
full-time,
part-time,
contract,
internship,
freelance,
temporary
experience_levels
enum<string>[] | null

Filter by experience level. null = all jobs

Available options:
intern,
entry,
mid,
senior,
lead,
executive
posted_after
string<date-time> | null

Only return jobs posted after this date

updated_after
string<date-time> | null

Only return jobs created or updated after this UTC timestamp — incremental watermark for syncs.

cursor
string | null

Opaque cursor from next_cursor. Omit on the first request. The cursor embeds the filters and batch size, so values sent alongside it are ignored — except batch_size, which a continuation may reduce but never raise.

batch_size
integer
default:1000
Required range: 1 <= x <= 1000

Response

Batch of jobs from managed job sources with cursor for next page

jobs
object[]
required
next_cursor
string | null
required
has_more
boolean
required
estimated_total
integer<int64> | null

Estimated number of jobs the scan will deliver. Present on the first page of a scan only; omitted on continuation pages.