HiBob APIoviva.careers.hibob.com ↗
Retrieve open job listings and full application form definitions from oviva.careers.hibob.com via two endpoints covering fields, documents, and screening questions.
What is the HiBob API?
This API provides two endpoints that expose job listing data and application form structure from oviva.careers.hibob.com. The list_jobs endpoint returns every currently published opening with metadata including title, department, employment type, country, and workspace type. The get_application_form endpoint returns the complete form definition for any listing, including ordered sections, field types, required documents, and screening questionnaire items.
curl -X GET 'https://api.parse.bot/scraper/2ca488ba-05bf-4dba-b1c0-28ef8cd9b1b3/get_application_form?job_id=227d6725-ac91-4455-828a-712bba35e7b6&company=oviva' \ -H 'X-API-Key: $PARSE_API_KEY'
Returns the application form definition for one job listing on a HiBob careers site (<company>.careers.hibob.com), in two fixed requests. The result has ordered sections (as displayed on the site, e.g. 'Personal information' and 'Professional profile') each holding ordered candidate fields with label, field type and whether it is mandatory; the list of documents the applicant is asked to upload (name, type, instructions, mandatory flag); the questionnaire with each question's type, mandatory flag and answer options; and the data-retention consent configuration shown at the bottom of the form (null if that setting cannot be read). A listing that does not exist or has been closed returns a stale_input error; a company identifier with no HiBob careers site also returns stale_input. Sections, documents and questionnaire are empty arrays when the form defines none of that kind. Current listing UUIDs come from list_jobs.
| Param | Type | Description |
|---|---|---|
| job_idrequired | string | The job listing UUID taken from the listing URL path (/jobs/<job_id>); job_id from list_jobs.jobs[*].job_id. |
| companyrequired | string | The company's HiBob careers-site subdomain, i.e. the part before .careers.hibob.com in the listing URL (lowercase letters, digits, hyphens). |
{
"type": "object",
"fields": {
"job_id": "the listing UUID as supplied",
"company": "careers-site subdomain as supplied",
"sections": "ordered array of {title, fields[]}; each field has key (site field name), label (display label), field_type (text|date|currency|json|...), display_type (widget hint such as languages/skills, or null), required (boolean), ordinal (display order)",
"documents": "ordered array of requested uploads: name, type (e.g. resume, portfolio), instructions, required, ordinal",
"questionnaire": "ordered array of screening questions: question_id, text, description, type (e.g. yes_no), required, allow_multiple_answers, options[{option_id, text}], ordinal",
"application_form_id": "integer id of the form definition on the site",
"data_retention_consent": "object with initial_consent_type, extended_consent_period_months, requests_extended_consent; null when unavailable"
},
"sample": {
"data": {
"job_id": "227d6725-ac91-4455-828a-712bba35e7b6",
"company": "oviva",
"sections": [
{
"title": "Personal information",
"fields": [
{
"key": "firstName",
"label": "Vorname",
"ordinal": 0,
"required": true,
"field_type": "text",
"display_type": null
},
{
"key": "email",
"label": "E-Mail",
"ordinal": 2,
"required": true,
"field_type": "text",
"display_type": null
}
]
},
{
"title": "Professional profile",
"fields": [
{
"key": "languages",
"label": "Languages",
"ordinal": 5,
"required": false,
"field_type": "json",
"display_type": "languages"
}
]
}
],
"documents": [
{
"name": "Lebenslauf",
"type": "resume",
"ordinal": 0,
"required": true,
"instructions": "Deinen Lebenslauf hochladen"
}
],
"questionnaire": [
{
"text": "Hast du derzeit die Berechtigung, in dem Land zu arbeiten, in dem diese Stelle ausgeschrieben ist?",
"type": "multi_select",
"options": [
{
"text": "Ja, ich habe das Recht zu arbeiten, ohne Sponsoring",
"option_id": 28785596
}
],
"ordinal": 1,
"required": true,
"description": null,
"question_id": 28785600,
"allow_multiple_answers": false
}
],
"application_form_id": 28785585,
"data_retention_consent": {
"initial_consent_type": "implied",
"requests_extended_consent": true,
"extended_consent_period_months": 6
}
},
"status": "success"
}
}About the HiBob API
Endpoints Overview
The list_jobs endpoint accepts a single company parameter (the subdomain before .careers.hibob.com) and returns all published listings at once in a jobs array alongside a total count. Each listing object includes job_id (the UUID used in the listing URL path), title, department, employment_type, site, country, workspace_type, and a language code indicating the listing language. There is no server-side pagination — the full set is returned in one response.
Application Form Structure
The get_application_form endpoint takes a job_id and company as inputs and returns the full form definition. The sections array mirrors the on-site display order (for example, "Personal information" and "Professional profile"), and each section holds an ordered fields array. Each field carries a key (the site's internal field name), a label (display text), and a field_type — values include text, date, currency, and js (for dynamic fields).
Documents, Questionnaire, and Consent
Beyond form fields, the response includes a documents array describing any requested file uploads, with each entry specifying name, type (such as resume or portfolio), instructions, whether it is required, and its display ordinal. A questionnaire array carries screening questions with question_id, text, description, type (e.g. yes_no), required, allow_multiple_answers, and answer options. The data_retention_consent object exposes initial_consent_type, extended_consent_period_months, and requests_extended_consent — or null when the site does not configure data-retention settings.
Scope Note
This API targets the Oviva instance at oviva.careers.hibob.com. The company parameter is fixed to that subdomain for the hosted endpoints, and the application_form_id integer is returned alongside the job-specific UUID for reference.
The HiBob API is a managed, monitored endpoint for oviva.careers.hibob.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when oviva.careers.hibob.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official oviva.careers.hibob.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Mirror Oviva's open roles into an internal ATS or applicant tracking dashboard using
list_jobsjob metadata - Audit application form accessibility by reviewing field labels and types returned by
get_application_form - Detect changes to screening questionnaire items across deployments using
questionnairequestion text and options - Map required document uploads (resume, portfolio) to your own candidate intake flow via the
documentsarray - Build a candidate-facing job preview that surfaces department, country, workspace type, and employment type from
list_jobs - Track data-retention consent configuration changes over time using the
data_retention_consentobject fields - Identify which listings include extended consent periods by checking
extended_consent_period_monthsacross all job form definitions
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does HiBob provide an official developer API for careers sites?+
What does `list_jobs` return and can results be filtered by department or country?+
list_jobs returns the full published listing array for the careers site in a single response — no server-side filtering is available. The response includes department, country, employment_type, and workspace_type on each listing, so filtering can be applied client-side after retrieving the full jobs array.Are closed or draft job listings included in the response?+
list_jobs. Draft, paused, or closed listings are not exposed. The total field reflects the count of published listings at the time of the request.Does the API return candidate application data or submitted responses?+
Can this API be used for other HiBob-hosted careers sites beyond Oviva?+
company parameter in both endpoints accepts any HiBob careers-site subdomain, so both list_jobs and get_application_form are not restricted to Oviva specifically. Passing a different subdomain value will target that company's careers site at <company>.careers.hibob.com.