Testing and Monitoring Your IA Integration

The goal is to provide the best possible experience for jobseekers and employers that use Indeed by minimizing errors. Review the following sections to avoid issues with your integration.

Testing IA

Test your Indeed Apply code using the Indeed Apply test tool. Using the test tool, you can enter job metadata and generate the appropriate XML element or HTML code. You can also enter your own XML element or HTML code and verify that Indeed reads the metadata correctly.

Monitoring integration health

When integrating with Indeed Apply, you should set up monitoring to ensure:

  • The integration successfully delivers job applications
  • Questions files are consistently available and valid

Indeed monitors whether applications are delivered successfully to our partners, along with other health indicators. If any problems arise, Indeed will contact you. In some cases, Indeed will disable the Apply feature for some or all of your jobs until issues are fixed.

Note: Undelivered applications are not lost. In case of failure, retry attempts are made automatically at periodic intervals after the original apply. If delivery is not possible, applications are retained for 30 days and retry attempts can be made on request.

To avoid integration issues, make sure you are returning HTTP status code 200 for all applications that are successfully received. Indeed Apply considers any other HTTP status codes to be failures.

Additionally, return the following statuses in these conditions:

  • 409 (Conflict): Use if there is a duplicate application already in your system.
    • We define duplicate as an application from the same job seeker email, to the same jobid, within 120 days.
    • Note: Applications with a status of 409 are presumed to be duplicate applications and will not be included in automatic resends.
  • 410 (Gone): Use if a job Indeed attempts to post to is expired or no longer available.

If your jobs use screener questions, also ensure the pages that host those files:

  • are consistently available
  • do not redirect
  • are properly formed

Common issues

The following common issues may cause integration errors with POST or Question URLs:

Common issues table
Issue Solution
Redirecting to another location (e.g. via 301 redirects)

Ensure the POST and Question URLs do not include redirects.

If you must include a protocol change (i.e. HTTP to HTTPS), be sure to:

  • send a 301 redirect error
  • include the precise HTTPS version of your URL in the location header

Any alternative behavior will cause errors.

Expired SSL certificate Renew your SSL certificate. For more information, see the List of Trusted Root SSL Certificates.
Misconfigured SSL

Use an SSL server test to analyze and help diagnose the problem. (e.g. https://www.ssllabs.com/ssltest/)

Make sure to:

  • send the full certificate chain
  • check that none of the certificates in the chain require additional downloads

Any alternative behavior will cause errors.

Question’s JSON is invalid or doesn’t follow Indeed’s requirements definition Review the screener question requirements. Use the Test Indeed Apply Questions tool to preview changes.
Other issues accessing the resource (404, 500 errors, timeouts) Implement strategies to ensure your resources reliably scale to accommodate high-traffic periods. Additionally, use appropriate HTTP response codes to help us investigate any issues that may occur.

Integration Checklist

Please review the following checklist before submitting your XML feed to your Alliances Manager. Following this checklist ensures the submission process is efficient for you and Indeed.

  1. Check the top of the XML file to make sure version, encoding, and publisher information are present.

     <?xml version=”1.0” encoding=”utf-8”?>
        <publisher> Example Job Site</publisher>
        <lastbuilddate>Thu, 15 Oct 2015 09:44:37 GMT</lastbuilddate>
  2. Include all companies in the XML file. Indeed already has a list of most jobs, so any missing companies will prevent the file from going live.

  3. Include all jobs for every company in the XML file. Missing job quantities for companies will cause a delay.

    Note: Every job needs to have a unique URL in the <url> tag.

  4. Confirm that all the following required fields are present and properly formatted as outlined in the XML Feed Elements section.

  5. Remove all TEST jobs from the file. Otherwise it will be rejected.

  6. Make sure you test the Indeed Apply data you’re including in the feed. If you have any trouble, contact your Alliances Manager and they’ll troubleshoot with you.

    • Use the Indeed Apply button test tool and the IA code in the XML to confirm the feed is working properly.
    • Ensure that all URLs (joburl, posturl, questions) included in metadata are fully URL encoded
    • Verify that your analytics field can categorize applications as organic, sponsored, or Indeed Targeted Ad.
      For more information, refer to Indeed Apply top-level JSON fields.
    • Make sure every job has Indeed Apply included in the <job> node.
    • Ensure you’ve properly encrypted the email address if you use email as your delivery method.
    • Check that your SSL certificate is valid and up-to-date.
    • Verify your question JSON using the question test tool. Note: The test tool does not provide sponsored data information.
    • Make sure your screener questions are in line with our best practices.
  1. After completing all of the preceding steps, you can either:
    • Upload the XML to Indeed’s FTP. (If you need an account, let your Alliance Manager know.)
    • Update the file hosted on either an FTP or a URL get request.
  1. Contact your Alliance Manager so they can review before submission.

Next steps