JSON screener question parameters.

JSON screener question parameters

JSON screener questions parameters table
Name Description Values Example

id

Required

Unique ID for this question.

any string strengths

type

Required

The question type.

See the descriptions for each of the allowed values.

textarea

question

Required except for "type": "information" and "type": "pagebreak"

The question text that applicants see.

any string Veteran status?

text

Required for "type": "information"

Not supported for other types. Text that applicants see.

any string The following questions are optional.

options

Required for "type": "select" and "type": "multiselect"

The list of options available in the dropdown menu.

JSON [{ "value": "1", "label": "Female" }]

value

Required for "type": "select" and "type": "multiselect"

The value corresponding to each option that is returned for questions with dropdown menus.

any string 1

label

Required for "type": "select" and "type": "multiselect"

The text for options in any dropdown menus.

any string Female

required

If set to true, the question is required, which produces a non-empty text field or selection. Omit this parameter to define questions as optional. If a question is optional and the candidate chooses not to answer, Indeed sends an answer value of "".

true "required":true

format

Required for "type": "date" but not required for "type": "text"

The accepted format of the input.

If used with "type": "text", the question accepts only integer, decimal, or numeric_text validation answers. If used with "type": "date", the question only accepts SimpleDateFormat with MM.

Text formats:
  • integer
  • decimal
  • numeric_text
  • other locale specific formats (please use Unicode CLDR as a guide)
Date formats:
  • integer
  • dd/MM/yyyy
integer, dd/MM/yyyy

limit

For "type": "text" and "type": "textarea", the character limit for the answer. any integer 100

min

For "format": "integer" or "format": "decimal", the minimum value for the answer. For "type": "date", the date that the answer must be on or after. any integer for "format": "integer"
any decimal for "format": "decimal"
any date for "type": "date" (in the specified format)
0

max

For "format": "integer" or "format": "decimal" the maximum value for the answer. For "type": "date", the date the answer must be on or before. any integer for "format": "integer"
any decimal for "format": "decimal"
any date for "type": "date" (in the specified format)
100

condition

Marks a question as conditional, depending on the answer to a previous select question. Specify the id of the previous question as well as the option value that activates this question.
For example, you might ask the applicant if they served in the military. If they answer yes, you display a conditional question that asks what branch they served in.
JSON "condition": { "id": "parent1", "value": 0}

Screener question types

textarea

A question that displays a multi-line text entry field. Used for questions with long-form answers.

{
  "id": "envirotext",
  "type": "textarea",
  "question": "Describe your ideal work environment:"
}

text

A question that displays a single-line text entry field. Used for questions with shorter answers.

📘

Note:

For more information on the different formats available for text questions, see the following examples and the JSON screener questions parameters. The formats are integer, decimal, numeric_text.

No format specification

{
  "id": "city",
  "type": "text",
  "question": "What city are you located in?",
  "required": true
}

Integer

Displays whole numbers; does not allow for decimals or leading zeroes.

{
  "id": "age",
  "type": "text",
  "question": "Age?",
  "format": "integer",
  "min": "16",
  "max": "75"
}

Numeric text

Allows for numbers with leading zeroes; does not allow for decimals.

{
  "id": "ssn",
  "type": "text",
  "format": "numeric_text",
  "question": "Enter last 4 digits of your SSN.",
  "required": false
}

Decimal

Displays numbers with decimals; allows for leading zeroes.

{
  "id": "gpa",
  "type": "text",
  "format": "decimal",
  "question": "What was your GPA?",
  "required": true
}

select

A question that displays a dropdown menu that allows the applicant to select a single answer. Used for questions with multiple choice answers.

📘

Note:

If you include from 1 to 5 answer options, they appear with radio buttons. If you include from 6 or more answer options, they appear in a dropdown menu.

{
  "id": "gender",
  "type": "select",
  "question": "Gender?",
  "options": [{
      "value": "0",
      "label": "Decline to answer"
    },
    {
      "value": "1",
      "label": "Male"
    },
    {
      "value": "2",
      "label": "Female"
    }
  ]
}

multiselect

A question that displays a list of checkboxes that enables the applicant to select multiple answers. Used for questions with multiple answers.

{
  "id": "favoritecolors",
  "type": "multiselect",
  "question": "Select your two favorite colors:",
  "options": [{
      "value": "0",
      "label": "Maize"
    },
    {
      "value": "1",
      "label": "Blue"
    },
    {
      "value": "2",
      "label": "Green"
    }
  ]
}

conditional

A question that does or does not appear based on responses to previous questions. For example, you might ask an applicant if they are at least 18 years of age. If they answer no, you ask if they can provide required work documentation.

[{
    "id": "profile-atLeast18",
    "question": "Are you at least 18 years of age?",
    "required": true,
    "options": [{
        "value": "1",
        "label": "Yes"
      },
      {
        "value": "0",
        "label": "No"
      }
    ],
    "type": "select"
  },
  {
    "id": "profile-permit",
    "question": "Can you provide a work permit?",
    "required": true,
    "condition": {
      "id": "profile-atLeast18",
      "value": "0"
    },
    "options": [{
        "value": "1",
        "label": "Yes"
      },
      {
        "value": "0",
        "label": "No"
      }
    ],
    "type": "select"
  }
]

hierarchical

A question that displays additional questions and responses based on previously selected answers. For example, you might ask an applicant to choose a state. Then, depending on what they select, you could offer them a dropdown list of cities within that state. Each hierarchical question is limited to three levels. For example: state/city/county.

📘

Note:

Hierarchical questions are similar to conditional questions. However, hierarchical questions may be better suited to certain question types where an initial selection defines potential answers for subsequent questions. Using the hierarchical functionality reduces the total number of questions needed to obtain related information.

[{
  "id": "hierarchical",
  "type": "hierarchical",
  "question": "State",
  "required": true,
  "options": [{
    "value": "0",
    "label": "California"
  }, {
    "value": "1",
    "label": "Texas"
  }, {
    "value": "2",
    "label": "New York"
  }],
  "hierarchicalOptions": [{
      "id": "cali_cities",
      "options": [{
        "value": "0",
        "label": "San Francisco"
      }, {
        "value": "1",
        "label": "Los Angeles"
      }],
      "condition": {
        "id": "hierarchical",
        "value": "0"
      }
    }, {
      "id": "texas_cities",
      "options": [{
        "value": "0",
        "label": "San Antonio"
      }, {
        "value": "1",
        "label": "Austin"
      }],
      "condition": {
        "id": "hierarchical",
        "value": "1"
      }
    },
    {
      "id": "sa_zipcodes",
      "options": [{
        "value": "0",
        "label": "78212"
      }, {
        "value": "1",
        "label": "78209"
      }],
      "condition": {
        "id": "texas_cities",
        "value": "0"
      }
    }
  ]
}]

date

A question that displays a text field that only accepts date entry. Used for questions that must be answered with a date.

📘

Note:

Format is required when using this screener question type. The format must be dd/MM/yyyy or another locale specific format that meets Unicode CLDR formatting.

Indeed uses the SimpleDateFormat, so month must be formatted as MM. Using mm results in misconfiguration.

The format of type=date impacts how the application is passed to the ATS and the parsing of minimum and maximum values. The job seeker still enters the date based on their locale, not the specified format, and validation error messages are in their locale’s format. Use yyyy instead of yy in the format to prevent confusion.

{
  "id": "startdate",
  "required": true,
  "type": "date",
  "question": "Start date?",
  "format": "dd/MM/yyyy",
  "min": "01/06/2023",
  "max": "03/10/2023"
}

file

A question that displays a file upload interface. Used for questions that require a file upload as an answer, such as certifications, portfolios, or example work. As detailed in Application data reference, the answer data returned in the JSON POST request contains three fields: contentType, data, and fileName.

Valid file types are:

  • doc
  • docx
  • gif
  • jfif
  • jif
  • jpe
  • jpeg
  • jpg
  • pdf
  • png
  • rtf
  • tif
  • tiff
  • txt

File size limit is 5 MB. The maximum combined limit per application is 15MB, including resume file.

📘

Note:

Do not use this question type to acquire resumes. Instead, use the Indeed Apply Resume configuration parameter.

{
  "id": "file2",
  "type": "file",
  "question": "Please attach a recent example of your work.",
  "required": true,
  "min": "1",
  "max": "3"
}

information

A text display that does not require a response. Creates explanatory text or provide section headings.

You can include the following HTML elements in the text:

  • <b>
  • <p>
  • <br>
  • <li>
  • <ul>
  • <ol>
  • <a href=" ">

Only HTTP and HTTPS protocols are allowed in URLs. Links open in a new tab.

📘

Note:

Do not use <br> to force line breaks after paragraphs. Indeed automatically inserts line breaks between paragraphs.

[{
  "id": "first_header",
  "type": "information",
  "text": "The next set of questions are <b>optional</b> and are for recording purposes only. 
  Make sure to view the < a href = 'http://www.eeoc.gov/employers/upload/poster_screen_reader_optimized.pdf' > EEO is the Law < /a> poster.",
  "fontsize": 8
}]

pagebreak

Groups questions on a page. All questions included between two pagebreak types appear on the same page. You can group up to 20 questions on the same page. Indeed defaults to 3 questions per page on desktop and groups all questions onto a single page for mobile.

[{
    "id": "page1_open",
    "type": "pagebreak"
  },
  {
    "id": "question_sample",
    "type": "text",
    "question": "Age?"
  },
  {
    "id": "page1_close",
    "type": "pagebreak"
  }
]

Best practices

Use the pagebreak question type to split applications into logical sections. By default, Indeed inserts page breaks if none are included in your JSON, but this can split your application in unintended ways. Indeed shows up to ten questions on each page for both mobile and desktop.

Provide guidance to job seekers when answers require a specific format. Indeed uses the SimpleDateFormat, so month must be formatted as MM. Using mm results in misconfiguration.