Discover/HiBob API
live

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.

Endpoint health
verified 2d ago
get_application_form
list_jobs
2/2 passing latest checkself-healing
Endpoints
2
Updated
16d ago

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.

This call costs2 credits / call— charged only on success
Try it
The job listing UUID taken from the listing URL path (/jobs/<job_id>); job_id from list_jobs.jobs[*].job_id.
The company's HiBob careers-site subdomain, i.e. the part before .careers.hibob.com in the listing URL (lowercase letters, digits, hyphens).
→ api.parse.bot/scraper/2ca488ba-05bf-4dba-b1c0-28ef8cd9b1b3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
All endpoints · 2 totalmissing one? ·

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.

Input
ParamTypeDescription
job_idrequiredstringThe job listing UUID taken from the listing URL path (/jobs/<job_id>); job_id from list_jobs.jobs[*].job_id.
companyrequiredstringThe company's HiBob careers-site subdomain, i.e. the part before .careers.hibob.com in the listing URL (lowercase letters, digits, hyphens).
Response
{
  "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.

Reliability & maintenanceVerified

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.

Last verified
2d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Mirror Oviva's open roles into an internal ATS or applicant tracking dashboard using list_jobs job 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 questionnaire question text and options
  • Map required document uploads (resume, portfolio) to your own candidate intake flow via the documents array
  • 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_consent object fields
  • Identify which listings include extended consent periods by checking extended_consent_period_months across all job form definitions
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does HiBob provide an official developer API for careers sites?+
HiBob offers an official HR platform API documented at https://apidocs.hibob.com, but it targets HR system integrations (employees, payroll, etc.) and does not provide public endpoints for reading individual careers-site job listings or application form definitions from hosted subdomains like oviva.careers.hibob.com.
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?+
Only currently published listings are returned by 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?+
No. The API covers job listing metadata and application form definitions — field structure, document requirements, screening questions, and consent settings. Submitted candidate applications and responses are not included. You can fork this API on Parse and revise it to add an endpoint if that data becomes accessible.
Can this API be used for other HiBob-hosted careers sites beyond Oviva?+
The 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.
Page content last updated . Spec covers 2 endpoints from oviva.careers.hibob.com.
Related APIs in JobsSee all →