Discover/OpenText API
live

OpenText APIcareers.opentext.com

Retrieve full job application form definitions from OpenText Careers — steps, fields, validation rules, dropdown options, and job-specific questions by job ID.

Endpoint health
verified 2h ago
get_application_form
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the OpenText API?

The OpenText Careers API exposes 1 endpoint, get_application_form, that returns the complete application form definition for any OpenText job listing identified by its numeric job ID. The response includes over a dozen structured fields across the form definition: ordered sections with step IDs and field counts, per-field validation rules (pattern, min/max length, data type), hidden inputs, resume upload requirements, and any job-specific questions attached to that posting.

This call costs10 credits / call— charged only on success
Try it
Numeric OpenText job ID as shown on the job listing page and in its URL (careers.opentext.com/us/en/job/<job_id>/...).
api.parse.bot/scraper/8785c4a4-4553-4e5e-9562-88d07657544e/<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/8785c4a4-4553-4e5e-9562-88d07657544e/get_application_form?job_id=52075' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 1 totalmissing one? ·

Returns the full application form definition for one OpenText Careers job listing, identified by its numeric job ID (the number shown on the job page, e.g. 52075 is one shape). The result is a single object: `job` summarises the posting the form is bound to (title, location, ISO-3 country code, category, requisition template and whether the quick-apply flow is active); `resume_upload` gives the resume requirement, accepted file types and size limit; `sections` lists the application steps in order (Profile Information, My Experience, Application Questions, Review), each with `visible` (whether that step is part of this job's flow) and its `fields`; `job_specific_questions` lists the questions the recruiter attached to this specific job (empty array when the job has none); `hidden_fields` lists the form's internal hidden inputs. Every field carries `name`, `label`, `input_type` (the site's widget type such as text, asyncselect, choice, valuecheckbox, markdown, textarea, array-of-object), `data_type`, `required`, `visible` (conditional fields such as US EEO disclosures or country-specific address lines are included for completeness with `visible:false` when this job's country/template does not trigger them), `max_length`, `min_length`, `pattern`, `default`, and `options` (array of `{value,label}` for dropdowns/choices, fetched live for visible dropdowns; null for free text). A dropdown whose options depend on another answer (region depends on country) has `options_depend_on` set and `options` null. Repeatable groups (employment, education, certifications, languages) expose their sub-fields in `item_fields` with `max_items`/`min_items`. Labels are resolved to the site's English text; a few fields have no translation on the site and echo their internal name (e.g. firstName). Costs about ten upstream requests per call. A job ID that no longer exists returns a not-found input error.

Input
ParamTypeDescription
job_idrequiredstringNumeric OpenText job ID as shown on the job listing page and in its URL (careers.opentext.com/us/en/job/<job_id>/...).
Response
{
  "type": "object",
  "fields": {
    "job": "object describing the posting the form belongs to: job_id, job_title, location, job_country (ISO-3), category, requisition_template, quick_apply (boolean), locale",
    "sections": "array of application steps in order; each has step_id, title, visible (boolean), field_count and fields (array of field objects)",
    "hidden_fields": "array of {name, default} for the form's internal hidden inputs",
    "resume_upload": "object: required (boolean), accepted_file_types (string), max_file_size_mb (number)",
    "sections[].fields": "array of field objects: name, label, input_type, data_type, required, visible, hidden_input, max_length, min_length, pattern, default, options (array of {value,label} or null), options_depend_on, plus item_fields/max_items/min_items/date_format for repeatable or composite fields",
    "job_specific_questions": "array of field objects for questions attached to this job only; empty when none"
  },
  "sample": {
    "data": {
      "job": {
        "job_id": "52075",
        "locale": "en_US",
        "category": "Sales",
        "location": "Virtual, FIN",
        "job_title": "Commercial Solution Sales Executive - Content",
        "job_country": "FIN",
        "quick_apply": true,
        "requisition_template": "OpenText Global Req"
      },
      "sections": [
        {
          "title": "Profile Information",
          "fields": [
            {
              "name": "firstName",
              "label": "firstName",
              "default": null,
              "options": null,
              "pattern": "^(?!.*\\.\\.)[.A-Za-zÑñ ]+(?:[ .'\\-/][A-Za-zÑñ ]+)*$",
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "text",
              "max_length": 100,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            },
            {
              "name": "country",
              "label": "Country",
              "default": null,
              "options": [
                {
                  "label": "United States",
                  "value": "122290"
                },
                {
                  "label": "Finland",
                  "value": "122213"
                }
              ],
              "pattern": null,
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "asyncselect",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            },
            {
              "name": "region",
              "label": "State",
              "default": null,
              "options": null,
              "pattern": null,
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "asyncselect",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": "country"
            },
            {
              "name": "currentTitle",
              "label": "Most Recent Job Title",
              "default": null,
              "options": null,
              "pattern": null,
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "text",
              "max_length": 500,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            }
          ],
          "step_id": "personalInformation",
          "visible": true,
          "field_count": 23
        },
        {
          "title": "My Experiemce",
          "fields": [
            {
              "name": "experienceData",
              "label": "Employment",
              "default": null,
              "options": null,
              "pattern": null,
              "visible": true,
              "required": false,
              "data_type": "array",
              "max_items": 10,
              "min_items": null,
              "input_type": "array-of-object",
              "max_length": null,
              "min_length": null,
              "item_fields": [
                {
                  "name": "companyName",
                  "label": "Employer Name",
                  "default": null,
                  "options": null,
                  "pattern": null,
                  "visible": true,
                  "required": true,
                  "data_type": "string",
                  "input_type": "string",
                  "max_length": 500,
                  "min_length": null,
                  "hidden_input": false,
                  "options_depend_on": null
                }
              ],
              "hidden_input": false,
              "options_depend_on": null
            }
          ],
          "step_id": "workAndEducation",
          "visible": false,
          "field_count": 5
        },
        {
          "title": "Application Questions",
          "fields": [
            {
              "name": "applicantSource",
              "label": "How did you hear about us?",
              "default": null,
              "options": [
                {
                  "label": "Agency",
                  "value": "171802"
                },
                {
                  "label": "LinkedIn",
                  "value": "135676"
                }
              ],
              "pattern": null,
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "choice",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            },
            {
              "name": "eligibleToWork",
              "label": "Are You Eligible",
              "default": null,
              "options": [
                {
                  "label": "No",
                  "value": "123109"
                },
                {
                  "label": "Yes",
                  "value": "123110"
                }
              ],
              "pattern": null,
              "visible": true,
              "required": true,
              "data_type": "string",
              "input_type": "text",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            },
            {
              "name": "race",
              "label": "Race",
              "default": null,
              "options": null,
              "pattern": null,
              "visible": false,
              "required": true,
              "data_type": "string",
              "input_type": "text",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            }
          ],
          "step_id": "applicationQuestions",
          "visible": true,
          "field_count": 18
        },
        {
          "title": "Review",
          "fields": [
            {
              "name": "untitled5979",
              "label": "untitled5979",
              "default": null,
              "options": null,
              "pattern": null,
              "visible": true,
              "required": false,
              "data_type": "object",
              "input_type": "summary",
              "max_length": null,
              "min_length": null,
              "hidden_input": false,
              "options_depend_on": null
            }
          ],
          "step_id": "applicationReview",
          "visible": true,
          "field_count": 1
        }
      ],
      "hidden_fields": [
        {
          "name": "loginType",
          "default": null
        },
        {
          "name": "jobId",
          "default": null
        },
        {
          "name": "flowNumber",
          "default": "1"
        }
      ],
      "resume_upload": {
        "required": true,
        "max_file_size_mb": 3,
        "accepted_file_types": "doc, docx, pdf, html, txt"
      },
      "job_specific_questions": []
    },
    "status": "success"
  }
}

About the OpenText API

What the API returns

The get_application_form endpoint accepts a single required parameter, job_id — the numeric identifier visible in the OpenText Careers URL (for example, 52075). It returns one top-level object that combines a job summary with the full form structure bound to that posting.

The job object in the response covers identifying metadata: job_id, job_title, location, job_country (ISO-3 code), category, and requisition_template. This is the posting the form is attached to, not a search result or listing summary.

Form structure and field definitions

The sections array lists each application step in order. Every section carries step_id, title, visible (boolean), field_count, and a fields array. Each field object within a section exposes name, label, input_type, data_type, required, visible, hidden_input, max_length, min_length, pattern, and default — everything needed to reproduce or validate the form client-side.

Supporting objects

The hidden_fields array lists internal form inputs as {name, default} pairs. The resume_upload object specifies whether upload is required, the accepted_file_types string, and max_file_size_mb. The job_specific_questions array contains additional field objects unique to the individual posting; it is an empty array when none are present. Together these objects give a complete picture of what a candidate would encounter when applying to a specific OpenText role.

Reliability & maintenanceVerified

The OpenText API is a managed, monitored endpoint for careers.opentext.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when careers.opentext.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 careers.opentext.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
2h ago
Latest check
1/1 endpoint 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 OpenText job application forms in an internal recruiting tool, pre-populating fields using name and default values.
  • Validate candidate-submitted application data against pattern, min_length, and max_length rules before submission.
  • Track which roles carry job_specific_questions to flag postings with non-standard screening steps.
  • Build accessibility audits of the OpenText application flow by iterating over input_type and visible attributes across sections.
  • Monitor changes to required fields or resume upload constraints (max_file_size_mb, accepted_file_types) across postings over time.
  • Aggregate location and job_country data across multiple job IDs to map where OpenText is actively hiring.
  • Automate QA testing of ATS integrations by using real form definitions from live postings as test fixtures.
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 OpenText provide an official public developer API for its careers site?+
OpenText does not publish a public developer API for careers.opentext.com. The Parse API is the structured programmatic access point available for this data.
What does `get_application_form` return for a job with no custom questions?+
The job_specific_questions array is returned as an empty array. All other response objects — job, sections, hidden_fields, and resume_upload — are still populated regardless of whether job-specific questions are present.
Does the API return a list of all open OpenText job postings?+
Not currently. The API covers the application form definition for a single job identified by job_id; it does not expose a search or listing endpoint to enumerate available roles. You can fork it on Parse and revise to add a job search or listing endpoint.
Are candidate submission results or application status data included in the response?+
No submission outcomes or status data are returned. The response is limited to form structure: sections, field definitions, validation rules, hidden inputs, resume upload requirements, and job-specific questions. You can fork the API on Parse and revise it to add an endpoint if that data becomes accessible.
How current is the form definition returned for a given job ID?+
The response reflects the form as it exists at the time of the request. If OpenText updates a posting's required fields, dropdown options, or job-specific questions, subsequent calls to get_application_form with the same job_id will return the updated definition. There is no built-in change history or diffing in the current response shape.
Page content last updated . Spec covers 1 endpoint from careers.opentext.com.
Related APIs in JobsSee all →