---
title: "Bulk import job postings"
method: POST
path: "/ai-apply/job-feeds/{job_feed_id}/bulk-import"
tags: ["AI Apply"]
---

# Bulk import job postings

`POST /ai-apply/job-feeds/{job_feed_id}/bulk-import`

Bulk import job postings into a job feed using NDJSON (newline-delimited JSON) format.

**Request Format:**
Send one JSON object per line. Each line represents a job posting to import.

**Example Request Body:**
```
{"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"}}
```

**Behavior:**
- Career sites are automatically created based on unique `career_site_label` values
- Job postings are identified by the combination of URL + career_site_label + job_code
- Existing job postings are updated; new ones are created and queued for parsing
- Job postings from previous imports that are not included in the current import are archived

**Constraints:**
- Maximum request size: 35 MB
- Timeout: 5 minutes
- One concurrent import per job feed

## Path parameters

- `job_feed_id` string, required

## Response `200`

Import completed successfully

- BulkImportResponse — Response from the bulk import endpoint
  - `status` 'success', required
  - `data` object, required
    - `created` integer, required — Number of new job postings created
    - `processed` integer, required — Number of job postings processed
    - `archived` integer, required — Number of job postings archived (not included in this import)

## Other responses

- `default` — The standard error response with the error codes for AI Apply.

---

[API](https://skmtc.net/kombo/apis/kombo-api.md) · [All operations](https://skmtc.net/kombo/apis/kombo-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kombo/kombo-api/revisions/fdcb894a4742/schema)
