Job Opportunity Index
Job feed API (v1) · On demand

Collect now

Ask the index to go and get postings for something specific now (a job, a city, a country), above all for a place it has little on: it finds the employers located there (organisations headquartered nearby on Wikidata, offices, companies, hospitals, universities and banks on OpenStreetMap, with their websites), adds the new ones, reads the career sites of the 80 most important at once, searches the public employment services with those words and that place, and moves the place's other companies to the front of the scraping queue. Returns a request id; GET /api/v1/collect/{id} shows progress and what was found. A feed search returning fewer than 20 postings triggers the same automatically.

GET /api/v1/collect

Query parameters

Request

titlestring
Job title or keywords to collect for, e.g. nurse.
locationstring
City, region or country, e.g. Lyon or Munich, Germany.
countrystring
Two-letter country code, when no location is given, e.g. FR.

Response 200 · application/json

Default layout. With schema=native the ai_ prefix is dropped and salary_raw / employment_type_raw hold the source's own text. Employer profile fields (org_industry, org_headcount…) come with include_basic_organization_details=true.

FieldTypeDescription
idintegerRequest id.
statusstringqueued, running, done.
status_urlstringWhere to follow it: GET /api/v1/collect/{id}.
foundintegerPostings collected (on the status URL).
companies_prioritisedintegerCompanies moved to the front of the scraping queue.
notesobjectPostings per service, and the country the request was resolved to.

Errors

400 a parameter is not understood (the message names it) · 404 no such endpoint · 429 slow down · 503 the query would scan too much: add a filter or a shorter window.