Discover/Gem API
live

Gem APIjobs.gem.com

Retrieve the complete application form for any job posting on jobs.gem.com, including standard applicant fields, custom screening questions with answer options, and optional demographic survey sections. Use this to understand exactly what information employers are requesting from candidates before applying.

Endpoint health
monitored
get_application_form
Checks pendingself-healing
Endpoints
1
Updated
1h ago
This call costs1 credit / call— charged only on success
Try it
The employer's job board path segment, i.e. the first path segment of a jobs.gem.com listing URL (letters, digits, '-' or '_').
The job posting identifier, i.e. the second path segment of a jobs.gem.com listing URL (letters, digits, '-' or '_'). Echoed back unchanged as `job_post_id` in the payload.
api.parse.bot/scraper/efb4aac5-67a6-4f13-a9f5-04f292acf83a/<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/efb4aac5-67a6-4f13-a9f5-04f292acf83a/get_application_form?board_slug=senndertechnologies-gmbh&job_post_id=am9icG9zdDow-hl-MZiIibYQLtscNrmG' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 1 totalmissing one? ·

Returns the application form for one jobs.gem.com job posting in a single round trip, identified by the two path segments of its listing URL (https://jobs.gem.com/<board_slug>/<job_post_id>). The payload carries posting context (title, requisition id, company, department, employment and location type, locations) and a `sections` object with four groups: `personal_information` (the standard identity/contact fields: first name, last name, email, phone, location), `profile` (career-profile fields such as LinkedIn URL and resume upload), `details` (the employer's custom screening questions, each with its answer type, display type, required flag and answer options with stable option ids), and `demographic_survey` (null when the posting has no voluntary demographic survey; otherwise the survey id, type and questions in the same question shape). Every standard field carries `field_type` (the site's field code, e.g. FIRST_NAME), a display `label` and `is_required`. `total_fields` counts all fields and questions across sections. Postings with no custom questions return an empty `details` array. An unknown board or posting id yields a not-found input error. Uploading a resume or submitting the form is not supported.

Input
ParamTypeDescription
board_slugrequiredstringThe employer's job board path segment, i.e. the first path segment of a jobs.gem.com listing URL (letters, digits, '-' or '_').
job_post_idrequiredstringThe job posting identifier, i.e. the second path segment of a jobs.gem.com listing URL (letters, digits, '-' or '_'). Echoed back unchanged as `job_post_id` in the payload.
Response
{
  "type": "object",
  "fields": {
    "title": "job posting title",
    "company": "employer display name",
    "sections": "object with personal_information (array of standard fields), profile (array of standard fields), details (array of custom questions), demographic_survey (object or null)",
    "locations": "array of posting locations with name, city, ISO-3 country and is_remote",
    "board_slug": "job board path segment the form belongs to",
    "department": "department name, null when absent",
    "eeoc_config": "object of booleans race_and_gender, veteran_status, disability_status describing which EEOC parts the template enables",
    "job_post_id": "posting identifier as used in the listing URL",
    "total_fields": "integer count of all fields and questions across sections",
    "includes_eeoc": "true when the posting includes an EEOC self-identification form",
    "location_type": "site work-location code such as IN_OFFICE",
    "requisition_id": "employer requisition reference shown under the form, null when absent",
    "employment_type": "site employment type code such as FULL_TIME",
    "is_application_form_hidden": "true when the employer hides the form on the posting page"
  },
  "sample": {
    "data": {
      "title": "Head of Product Operations (Maternity cover, 1 year contract)",
      "company": "sennder Technologies GmbH",
      "sections": {
        "details": [
          {
            "text": "Are you currently based in Berlin, Barcelona or Amsterdam?",
            "options": [
              {
                "value": "Yes",
                "option_id": "cXVlc29wdDoYn1kst792uiea0nUnGeKn"
              },
              {
                "value": "No",
                "option_id": "cXVlc29wdDqT-882Gpvg2na7veKgHw1G"
              }
            ],
            "file_type": null,
            "answer_type": "SINGLE_SELECT",
            "description": null,
            "is_required": true,
            "question_id": "cXVlczqSixGvsy7fja1xV6NLqbP1",
            "display_type": "RADIO_BUTTON",
            "numeric_rating_range": null
          }
        ],
        "profile": [
          {
            "label": "LinkedIn URL",
            "field_type": "LINKEDIN_URL",
            "is_required": false
          },
          {
            "label": "Resume",
            "field_type": "RESUME",
            "is_required": true
          }
        ],
        "demographic_survey": null,
        "personal_information": [
          {
            "label": "First name",
            "field_type": "FIRST_NAME",
            "is_required": true
          },
          {
            "label": "Last name",
            "field_type": "LAST_NAME",
            "is_required": true
          },
          {
            "label": "Email",
            "field_type": "EMAIL",
            "is_required": true
          },
          {
            "label": "Phone number",
            "field_type": "PHONE",
            "is_required": false
          },
          {
            "label": "Location",
            "field_type": "LOCATION",
            "is_required": false
          }
        ]
      },
      "locations": [
        {
          "city": "Barcelona",
          "name": "Barcelona, Spain",
          "country": "ESP",
          "is_remote": false
        }
      ],
      "board_slug": "senndertechnologies-gmbh",
      "department": "Technology ",
      "eeoc_config": {
        "veteran_status": false,
        "race_and_gender": true,
        "disability_status": false
      },
      "job_post_id": "am9icG9zdDow-hl-MZiIibYQLtscNrmG",
      "total_fields": 8,
      "includes_eeoc": false,
      "location_type": "IN_OFFICE",
      "requisition_id": "R7458",
      "employment_type": "FULL_TIME",
      "is_application_form_hidden": false
    },
    "status": "success"
  }
}

About the Gem API

The Gem API on Parse exposes 1 endpoint for the publicly available data on jobs.gem.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.