Indeed Apply configuration reference
Parameters, examples, and restrictions to configure Indeed Apply through the XML feed.
- By using this API and its documentation and building an integration, you agree to the Additional API Terms and Guidelines.
Indeed Apply configuration parameter restrictions
#When you configure Indeed Apply in the XML feed, follow these restrictions:
-
URL-encode parameter values.
URL-encode
&and=inside a value so that they don't break the payload. Don't encode them when they separate parameters.For example,
&indeed-apply-jobId=Sample+ID&indeed-apply-jobCompanyName=My+Favorite& -
Give every Indeed Apply parameter in the feed a value. Empty parameters cause errors.
-
Element names are not case-sensitive.
For example,
<indeed-apply-jobCompanyName>and<indeed-apply-jobcompanyname>are equivalent. -
Start every Indeed Apply configuration parameter with
<indeed-apply-.Wrap the configuration settings in a
CDATAsection inside the Indeed Apply element. This removes line breaks and extra whitespace.Indeed Apply configuration parameters Parameter Description Example indeed-apply-jobUrlCanonical URL of the full job description. URL-encode it in XML files.
For applications on Indeed, the apply button's
jobUrlis the Indeed page where the candidate applies.https%3A%2F%2Fwww.yourcompany.com%2F%0Acareers%2Fyourjob123.htmlindeed-apply-jobIdRequiredJob ID for your internal tracking.
Indeed Apply uses this ID to detect duplicate applications. See the
409status code.Maximum 256 ASCII characters.
7775e2bc62b7f77eindeed-apply-jobTitleRequiredJob title that candidates see. Maximum 50 characters.
Must match
<title>in the XML.Test Engineerindeed-apply-jobCompanyNameRequiredCompany name. Maximum 50 characters.
Must match
<company>in the XML.Your Companyindeed-apply-jobLocationRequiredJob location. Maximum 50 characters.
The job must also include
<city>,<state>, and<country>.New York, NY 10110indeed-apply-jobMetaExtra information that candidates don't see. Indeed sends it to your post URL with each application.
right-rail-apply-buttonindeed-apply-apiTokenRequiredClient ID that you get when you request Indeed Apply credentials.
See Indeed Apply integration guide for ATS partners > Generate an API token.
your-api-tokenindeed-apply-postUrlRequiredURL where Indeed posts the application data.
URL-encode it in XML files. The URL must use HTTPS and your domain.
The URL can't contain user names, passwords, other personally identifiable information (PII), or embedded credentials.
https%3A%2F%2Fwww.yourcompany.com%2Fprocess-applicationsindeed-apply-phoneString. Controls whether the phone number field is required, optional, or hidden.
Valid values are
optional,hidden, andrequired.Default is
optional.optionalindeed-apply-coverletterString. Controls whether the
coverletterfield is required, optional, or hidden.Valid values are
optional,hidden, andrequired.Default is
optional.Indeed sends cover letters as free-form text. To get a file instead, add a screener question that asks for a file upload.
requiredindeed-apply-resumeControls whether a resume is required, optional, or hidden.
Valid values are
optional,hidden, andrequired. Default isrequired.If you set
optionalorhiddenand don't includeindeed-apply-resumefieldsoptionalorindeed-apply-resumefieldsrequired, you must include screener questions.You must accept resumes in .pdf, .doc, .docx, .rtf, and .txt formats. Candidates can also apply with their Indeed Resume instead of uploading a file.
requiredindeed-apply-resumefieldsrequiredJapan only Comma-separated list of resume fields that are required for the job seeker. Overrides the
phoneparameter. See Indeed Apply resume field standardization.phone,gender,dateOfBirthindeed-apply-resumefieldsoptionalJapan only Comma-separated list of resume fields that are optional for the job seeker. Overrides the
phoneparameter. See Indeed Apply resume field standardization.languages,educationindeed-apply-nameString. Controls whether the name appears as separate first and last name fields (
indeed-apply-name=firstlastname) or as one field (indeed-apply-name=fullname).Default is
fullname. Indeed recommendsfirstlastname.firstlastnameindeed-apply-questionsRequired if the job has screener questionsURL that returns the job's screener questions in JSON.
URL-encode it in XML files. The URL must use HTTPS.
To create questions, see Indeed Apply integration guide for ATS partners > Add Indeed Apply screener questions.
See the example screener questions JSON file (opens in a new window).
https%3A%2F%2Fwww.yourcompany.com%2Fjob1234%2Fquestions.jsonindeed-apply-advNumAdvertiser number that Indeed uses to attribute application conversions.
Applies only to direct employer integrations.
1432700306306892
Indeed Apply resume field standardization
#Use indeed-apply-resumefieldsrequired and indeed-apply-resumefieldsoptional to choose which resume fields Indeed collects and includes in the application JSON data. Indeed also tries to collect the job seeker's resume file.
-
Indeed asks for each
indeed-apply-resumefieldsrequiredfield and, unlessresumeishidden, requires a resume file. A job seeker who can't provide a required field can skip it and still apply.For example, if you require
positionsand a job seeker has no work experience, they can skip that step, and the application data omitspositions. -
The
indeed-apply-resumefieldsoptionalfields are optional for the job seeker. If you don't setindeed-apply-resumefieldsrequired, the resume file is also optional.
If resume is hidden, Indeed doesn't collect a resume file, but the application JSON data still includes the indeed-apply-resumefieldsrequired or indeed-apply-resumefieldsoptional fields. If resume is required or optional, Indeed ignores it and uses indeed-apply-resumefieldsrequired or indeed-apply-resumefieldsoptional to collect the resume file.
If you set indeed-apply-resumefieldsrequired or indeed-apply-resumefieldsoptional, Indeed ignores the phone parameter and adds namePronunciation as an optional field. To require namePronunciation, add it to indeed-apply-resumefieldsrequired.
You can include these resume fields in indeed-apply-resumefieldsrequired or indeed-apply-resumefieldsoptional. If a field is in both, Indeed treats it as required.
| Resume field | Location in the application JSON data |
|---|---|
namePronunciation | applicant.fullNamePronunciation/firstNamePronunciation/lastNamePronunciation |
phone | applicant.phoneNumber |
dateOfBirth | applicant.dateOfBirth |
gender | applicant.gender |
location | applicant.resume.json.location |
positions | applicant.resume.json.positions |
education | applicant.resume.json.educations |
skills | applicant.resume.json.skills |
languages | applicant.resume.json.languages |
certifications | applicant.resume.json.certifications |
XML feed with <indeed-apply-data>
#This example XML feed has one job with an <indeed-apply-data> element.
The example leaves the basic job elements empty. Your feed must give required elements values. Salary is optional when the career site does not list salary information.
<?xml version="1.0" encoding="utf-8"?><source> <!--publisher is applicable to ATS developers only--> <publisher/> <!--publisherurl is applicable to ATS developers only--> <publisherurl/> <job> <title/> <date/> <referencenumber/> <requisitionid/> <url/> <company/> <sourcename/> <city/> <state/> <country/> <email/> <postalcode/> <description/> <salary/> <education/> <jobtype/> <category/> <experience/> <indeed-apply-data> <![CDATA[indeed-apply-apiToken=1234ABCDE&indeed-apply-jobTitle=Professional+Basket+Weaver&indeed-apply-jobId=Sample+ID&indeed-apply-jobCompanyName=My+Favorite+Company&indeed-apply-jobLocation=Austin+TX&indeed-apply-jobUrl=http%3A%2F%2Fwww.indeed.com&indeed-apply-postUrl=https%3A%2F%2Fhookb.in%2FPxOjJqJELNH8lZLZDkpz&indeed-apply-questions=https%3A%2F%2Fpastebin.com%2Fraw%2F0vXq9q9b%23]]> </indeed-apply-data> </job></source>Test Indeed Apply metadata
#To test the full application flow, including screener questions, use the Indeed Apply XML configuration testing tool (opens in a new window). See Indeed Apply integration guide for direct employers > Test your Indeed Apply configuration.