Skip to main content

Overview

General considerations for job postings (query parameters, location, etc.) still apply. See the AI Apply documentation for details.
Depending on the number of job postings you want to import into AI Apply, adding them one by one can take a long time. Additionally, you will have to continually keep job postings in AI Apply up to date, archiving and updating them as required. With job feeds and bulk imports, we will handle this for you! You can import a large number of postings at once and continually send updates to us as you receive them from your providers. Creating, archiving, and updating job postings are automatically taken care of.

Job feeds

Bulk imports are managed through Job Feeds. Each job feed represents a self-contained list of jobs from a single source, for example, a Recruiting agency. Before you can send data for a job feed, you need to create it in the Kombo Dashboard. Managing job feeds
Choose clear, descriptive names for Job Feeds. Whenever possible, use the data source name so you can easily track the origin of imported job postings later.

How bulk imports work

Each import you send to us includes a newline-separated list of JSON records as a request body. Each record maps to a job posting in AI Apply.
{ "url": "https://careers.acme.com/job/1", "career_site_label": "ACME Corp" }
{ "url": "https://careers.acme.com/job/2", "career_site_label": "ACME Corp", "job_code": "ENG-123" }
{ "url": "https://careers.acme.com/job/3", "career_site_label": "ACME Corp", "location": { "country": "US", "postal_code": "94115" } }
If any record is invalid or ill-formatted, the import process will be aborted. You can resume the import at any time after fixing the faulty record by simply re-submitting the request. The following logic is used to generate career sites, job postings, and job posting statuses from your data:
  • Career sites are auto-generated for each unique career_site_label.
  • Job postings are identified by url, career_site_label, and job_code (same combination means same posting).
  • Existing postings are updated; new ones are created and queued for parsing.
  • Missing postings are archived automatically (parsed data is preserved for re-import).
Note: Job postings imported through different job feeds are always treated as distinct!
You can find the endpoint in our API documentation: POST Bulk Import