# iCIMS Jobs Scraper - ATS Hiring Data (`benthepythondev/icims-jobs-scraper`) Actor

Scrape iCIMS/Jibe career sites via their public jobs API: title, company, location, category, employment type, description and URL.

- **URL**: https://apify.com/benthepythondev/icims-jobs-scraper.md
- **Developed by:** [ben](https://apify.com/benthepythondev) (community)
- **Categories:** Jobs, Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## iCIMS Jobs Scraper - ATS Hiring Data

Scrape public job listings from iCIMS and Jibe-powered career sites in one run. Get the job title, company, location, category, employment type, posted date, description and direct job URL from company career portals that use the iCIMS backend. Export the results to JSON, CSV or Excel, schedule recurring monitoring, call the actor by API, or connect it to Make, Zapier, n8n, Airtable, Google Sheets, a recruiting CRM or an internal hiring-intelligence dashboard.

### What is the iCIMS Jobs Scraper?

iCIMS is one of the large applicant-tracking systems used by enterprise employers. Many iCIMS and Jibe career sites expose a public `/api/jobs` endpoint that powers the search page. This actor calls that endpoint directly, which is faster, cheaper and more reliable than running a browser.

The actor is built for recruiters, staffing agencies, HR technology teams, B2B sales teams, labor-market analysts and data teams that monitor company hiring activity. Instead of manually opening each employer's career page, you can provide a list of iCIMS career-site base URLs and keywords, then receive normalized job records in a single dataset.

### What data does it extract?

- Job ID / requisition ID
- Job title
- Company / career site name
- Location
- Direct job URL
- Employment type when available
- Category or department when available
- Posted date when available
- Cleaned job description
- Keyword used
- Source career site URL

### Input

| Field | Type | Description |
|-------|------|-------------|
| `careerSites` | array | iCIMS/Jibe career-site base URLs, for example `https://careers.costco.com`. |
| `keywords` | array | Search terms to run against each career site, for example `software`, `data`, `security` or `manager`. |
| `maxResults` | integer | Maximum jobs to return per career site and keyword. |

### Example input

```json
{
  "careerSites": ["https://careers.costco.com"],
  "keywords": ["software", "analyst"],
  "maxResults": 25
}
````

### Output example

```json
{
  "job_id": "30620",
  "title": "Accounting Analyst - Costco Travel",
  "company": "Costco",
  "location": "Seattle",
  "url": "https://careers.costco.com/job/30620",
  "employment_type": "Full-time",
  "category": "Finance",
  "posted_date": "2026-07-01",
  "description": "Position Summary The Accounting Analyst is responsible...",
  "source": "https://careers.costco.com",
  "keyword": "software"
}
```

### Use cases

- **Hiring-signal lead generation** - identify companies hiring for specific roles, systems or departments.
- **Recruiting market research** - monitor demand for software, data, security, operations, logistics, healthcare or retail roles.
- **Competitor hiring alerts** - track new roles at strategic accounts or competitors.
- **ATS data enrichment** - combine job postings with company, domain, contact or CRM enrichment workflows.
- **Job-board aggregation** - pull iCIMS-backed career data into a niche job board or newsletter.
- **Enterprise account monitoring** - watch large employers that use iCIMS without scraping their rendered front end.

### Why use this actor?

The actor uses the same JSON endpoint that iCIMS pages use internally. That makes runs small and fast. There is no browser, no login and no paid proxy requirement for supported career sites. Because the output is normalized, it is easier to compare across employers than raw career-page HTML.

Generic ATS scrapers are useful because many companies share the same backend. Once you know that a company career portal is iCIMS or Jibe-powered, you can add the base URL to this actor and monitor it on a schedule. For sales teams, new job openings are a strong signal that a company is investing in a function and may need vendors, consultants, recruiting support, training, software or data services.

For best results, use targeted keywords. Broad searches like `manager` may return many unrelated openings, while `python`, `data engineer`, `cybersecurity`, `warehouse`, `nurse`, `analyst` or `product` produce cleaner datasets. Create separate Apify tasks for different keyword groups if you want a stable daily monitoring workflow.

The actor is also useful when a company does not advertise every job on large job boards. Enterprise employers often publish openings first on their own ATS pages, then syndicate only a subset elsewhere. Monitoring the source career site helps catch niche roles, local openings, early postings and requisitions that may disappear from aggregators. That makes iCIMS data especially valuable for account-based sales teams, recruiting teams tracking target employers, and analysts building a more complete view of hiring demand.

### Tips

- Use the career-site root, not a search-results URL.
- Start with one or two keywords when testing a new employer.
- De-duplicate downstream by `job_id` and `source`.
- Schedule daily runs to detect new openings.
- Pair with a contact enrichment actor for outbound hiring-signal workflows.

### FAQ

**Does this work on every company career site?** No. It is for iCIMS/Jibe sites that expose `/api/jobs`. Other ATS systems need their own actor.

**Does it require an account or API key?** No. It reads public job-search data from the employer career site.

**Does it use a browser?** No. It uses direct HTTP requests to the JSON endpoint.

**Can I scrape multiple companies at once?** Yes. Add multiple career-site base URLs to `careerSites`.

**Can I filter jobs?** Yes. Add one or more keywords in `keywords`.

**Is this useful for lead generation?** Yes. Job postings show active hiring demand, which is a strong B2B buying signal.

### You might also like

- [Workable Jobs Scraper](https://apify.com/benthepythondev/workable-jobs-scraper) for Workable career pages.
- [SmartRecruiters Jobs Scraper](https://apify.com/benthepythondev/smartrecruiters-jobs-scraper) for SmartRecruiters boards.
- [Ashby Jobs Scraper](https://apify.com/benthepythondev/ashby-jobs-scraper) for Ashby startup jobs.
- [Recruitee Jobs Scraper](https://apify.com/benthepythondev/recruitee-jobs-scraper) for Recruitee career pages.
- [StepStone Scraper](https://apify.com/benthepythondev/stepstone-scraper) for European job boards.

### Keywords

iCIMS scraper, iCIMS jobs scraper, Jibe jobs scraper, ATS jobs scraper, scrape company career pages, hiring data, job postings API, recruitment lead generation, hiring signals, enterprise jobs data, company jobs scraper, ATS hiring intelligence, Apify jobs scraper, export iCIMS jobs to CSV.

# Actor input Schema

## `careerSites` (type: `array`):

iCIMS/Jibe career-site base URLs. Example: https://careers.costco.com

## `keywords` (type: `array`):

Job keywords to search on each career site.

## `maxResults` (type: `integer`):

Maximum jobs returned per career site and keyword.

## Actor input object example

```json
{
  "careerSites": [
    "https://careers.costco.com"
  ],
  "keywords": [
    "software"
  ],
  "maxResults": 10
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "careerSites": [
        "https://careers.costco.com"
    ],
    "keywords": [
        "software"
    ],
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("benthepythondev/icims-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "careerSites": ["https://careers.costco.com"],
    "keywords": ["software"],
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("benthepythondev/icims-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "careerSites": [
    "https://careers.costco.com"
  ],
  "keywords": [
    "software"
  ],
  "maxResults": 10
}' |
apify call benthepythondev/icims-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=benthepythondev/icims-jobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "iCIMS Jobs Scraper - ATS Hiring Data",
        "description": "Scrape iCIMS/Jibe career sites via their public jobs API: title, company, location, category, employment type, description and URL.",
        "version": "1.0",
        "x-build-id": "ceMbTCDKUCAAYilUI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/benthepythondev~icims-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-benthepythondev-icims-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/benthepythondev~icims-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-benthepythondev-icims-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/benthepythondev~icims-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-benthepythondev-icims-jobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "careerSites": {
                        "title": "Career sites",
                        "type": "array",
                        "description": "iCIMS/Jibe career-site base URLs. Example: https://careers.costco.com",
                        "items": {
                            "type": "string"
                        }
                    },
                    "keywords": {
                        "title": "Keywords",
                        "type": "array",
                        "description": "Job keywords to search on each career site.",
                        "default": [
                            "software"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results per site/keyword",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum jobs returned per career site and keyword.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
