# CareerBuilder Scraper \[from $0.002/job💰] | Salary & US Jobs (`ahmed_jasarevic/careerbuilder-scraper`) Actor

Collect US job listings from CareerBuilder.com by keyword and location - salary ranges, remote/onsite status, full descriptions, and apply links for salary benchmarking, hiring trends, and recruitment databases. CareerBuilder has no public API, so scrape the job data directly.

- **URL**: https://apify.com/ahmed\_jasarevic/careerbuilder-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.97 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## CareerBuilder Scraper — US Job Listings, Salary & Hiring Data

Extract CareerBuilder.com US job listings with salary ranges, remote/onsite/hybrid status, GPS locations, and full job descriptions — from just **$0.002 per job result**. CareerBuilder has no public API, so this Actor is the fastest way to turn US job postings into structured data for **salary benchmarking, hiring-trend analysis, and recruitment databases**.

### Main Use Cases

- **Salary benchmarking** — collect posted salary ranges (min/max with currency and unit) by role and location to rebuild pay bands from live market data
- **Hiring trend tracking** — monitor job posting volumes, remote-work adoption, and emerging roles across the US labor market
- **Competitor hiring analysis** — spot which companies are hiring for which roles, where, and at what posted pay
- **US recruitment databases** — build clean, deduplicatable job datasets for job boards, talent sourcers, and HR tech products
- **Remote / hybrid / onsite market monitoring** — track how employers split between REMOTE, HYBRID, and ONSITE roles over time
- **Job board aggregation & career-site data feeds** — feed structured CareerBuilder data into dashboards, CRMs, and AI pipelines

### How It Works

CareerBuilder (now operated under Bold Holdings, following the 2025 bankruptcy of CareerBuilder + Monster) serves its job data as embedded JSON hydration records inside the served HTML of its search pages and job-detail pages. This Actor parses those JSON blobs directly with CheerioCrawler — no browser, no login, no API key. Requests run through the Apify residential US proxy with Chrome TLS fingerprint impersonation so CareerBuilder's DataDome protection is handled for you.

Search by job keyword and optional location (every keyword × location combination is searched), or paste search-result / job-detail URLs directly. Each job becomes one flat, structured record in the dataset.

### Collect CareerBuilder Job Listings With Salary Data

Each result is a structured job record with **30+ fields**: job ID and URL, title, hiring company with its description and logo, location with city/state/country/postal code and **GPS coordinates**, salary min/max with currency and unit (YEAR/HOUR), employment type, remote/hybrid/onsite status, posting dates (ISO, recency label, and formatted date), apply type and URL, and the job description.

Turn on **`fetchDetails`** to also capture the full job description, separate **responsibilities** and **qualifications** lists, and **job benefits** from each job's detail page.

### Build Recruitment Databases Without an Official CareerBuilder API

CareerBuilder's developer API (`api.careerbuilder.com`) is **no longer operational** — the company merged with Monster and filed for Chapter 11 bankruptcy in June 2025; its job-board business was sold to Bold Holdings in July 2025 and the liquidation case closed in October 2025. There is no official way to buy CareerBuilder job data as a dataset. Scraping the public, robots-allowed SEO search pages is the available route — and this Actor does it with a clean schema, pay-per-result pricing, and no login or OAuth.

### Input

| Field | Type | Required | Default | Notes |
|-------|------|----------|---------|-------|
| `mode` | string | No | `search` | `search` = provide job keywords and optional locations; `url` = paste search-result or job-detail URLs directly |
| `queries` | array | No | `["software engineer"]` | One or more job titles or keywords, e.g. `software engineer`, `registered nurse`, `truck driver` |
| `location` | array | No | `[]` | Optional locations as `City, ST` (e.g. `New York, NY`). Each keyword is searched in each location. Leave empty for nationwide |
| `sortBy` | string | No | `relevance` | Order of results within each search: `relevance` or `date` (most recent first) |
| `startUrls` | array | No | `[]` | CareerBuilder search-result URLs (`jobs-...`) or job-detail URLs (`job-details/...`). Used in `url` mode |
| `fetchDetails` | boolean | No | `false` | Visit each job's detail page to get the FULL description, responsibilities, qualifications, and benefits. Off (default) = fast results straight from the search page with a short description, salary, and apply link |
| `maxItems` | integer | No | `50` | Total jobs to return across all searches or URLs — the run cap (1–1000, paying users only) |
| `proxyConfiguration` | object | No | Apify residential, US | Route requests through the Apify proxy. CareerBuilder is DataDome-protected, so residential (US) is strongly recommended. If enabled with no group selected, the Actor forces residential US |

### Output

Each dataset item is one job record. Search-mode records include (subset shown — full 30+ field list is in Example Output):

| Field | Description |
|-------|-------------|
| `title` / `company` | Job title and hiring company name |
| `companyLogo` / `companyDescription` | Employer logo URL and profile text |
| `location` / `city` / `state` / `country` / `postalCode` | Location breakdown |
| `latitude` / `longitude` | Job location GPS coordinates |
| `salaryMin` / `salaryMax` / `salaryCurrency` / `salaryUnit` | Posted salary range with currency and unit (YEAR/HOUR) |
| `employmentType` / `jobLocationType` | e.g. `FULL_TIME`; `ONSITE`, `REMOTE`, or `HYBRID` |
| `isRemote` | Boolean — true for REMOTE or HYBRID roles |
| `datePosted` / `dateRecency` / `formattedDate` | Posting dates in ISO, relative, and display formats |
| `applyUrl` / `applyType` | Where and how to apply |
| `description` / `shortDescription` | Full or short job description |
| `responsibilities` / `qualifications` | Duties and requirements (with `fetchDetails`) |
| `jobBenefits` | Job benefits (with `fetchDetails`, detail mode only) |
| `url` / `jobId` / `seoJobId` | Canonical CareerBuilder URL and stable IDs |

### Example Input

```json
{
  "mode": "search",
  "queries": ["software engineer", "data scientist"],
  "location": ["New York, NY", "Austin, TX"],
  "sortBy": "date",
  "fetchDetails": true,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "US"
  }
}
```

### Example Output

```json
{
  "jobId": "cf7dc3eb-fb16-4c96-afc3-222c6e5e5098",
  "title": "Embedded Software Engineer (only w2 contractors)",
  "company": "22nd Century Technologies, Inc. (TSCTI)",
  "companyLogo": "https://media.example.com/logo.png",
  "location": "Indianapolis, IN, US",
  "city": "Indianapolis",
  "state": "IN",
  "country": "US",
  "postalCode": "46204",
  "latitude": 39.7713348,
  "longitude": -86.1543633,
  "employmentType": ["FULL_TIME"],
  "jobLocationType": "ONSITE",
  "isRemote": false,
  "salaryMin": 75,
  "salaryMax": 100,
  "salaryCurrency": "USD",
  "salaryUnit": "HOUR",
  "applyUrl": "https://www.careerbuilder.com/job-details/...",
  "applyType": "ONSITE",
  "datePosted": "2026-08-17T17:18:07.000Z",
  "dateRecency": "3 days ago",
  "formattedDate": "2026-08-17",
  "description": "<p>The ideal candidate...</p>",
  "shortDescription": "Embedded software engineer needed for FPGA/ARM work.",
  "responsibilities": "<ul><li>Develop...</li></ul>",
  "qualifications": "<ul><li>Strong C...</li></ul>",
  "jobBenefits": ["401K", "Medical, Dental, Vision"],
  "jobType": "JPW",
  "status": "ACTIVE",
  "url": "https://www.careerbuilder.com/job-details/..."
}
```

### Integrations & Automation

- **Apify API** — call the Actor programmatically with `run-sync-get-dataset-items` from JavaScript/Python/CLI, or via Apify MCP from AI agents
- **Scheduling** — run daily or weekly for recurring job postings monitoring (recommended: every 24h for fresh postings, weekly for market snapshots)
- **Webhooks, Zapier, Make, n8n** — export dataset items to Google Sheets, CRMs, Slack, or a database on each run
- **Export** — JSON, CSV, Excel, XML from the Apify dataset

Recurring runs also improve the Actor's Apify Store recommendation signals — schedule a monitor once and it keeps collecting fresh postings automatically.

### Related Actors

- [lergassy/jobs-api](https://apify.com/lergassy/jobs-api) — Jobs API for Indeed, LinkedIn & company career sites (one schema across sources)
- [flash\_scraper/multi-jobboard-scraper](https://apify.com/flash_scraper/multi-jobboard-scraper) — Multi job board scraper: LinkedIn, Indeed, Glassdoor + dedup
- [ahmed\_jasarevic/indeed-job-scraper](https://apify.com/ahmed_jasarevic/indeed-job-scraper) — US job listings from Indeed
- [ahmed\_jasarevic/wellfound-startup-jobs-scraper](https://apify.com/ahmed_jasarevic/wellfound-startup-jobs-scraper) — Startup job listings from Wellfound
- [ahmed\_jasarevic/usajobs-scraper](https://apify.com/ahmed_jasarevic/usajobs-scraper) — US federal government job postings

### FAQ: CareerBuilder API, Alternatives & Cost

**Does CareerBuilder have a public API?**
No. CareerBuilder's developer API (`api.careerbuilder.com`) is no longer operational. CareerBuilder merged with Monster and filed for Chapter 11 bankruptcy in June 2025; the job-board business was sold to Bold Holdings in July 2025 and liquidation concluded in October 2025. The site remains live, but there is no official API to purchase CareerBuilder job data as a dataset — scraping the public pages is the only route.

**Why use this Actor instead of the official CareerBuilder API?**
Because there is no working official API. This Actor needs no API key, no OAuth, and no login — it reads the public, robots-allowed SEO search pages and returns one clean structured record per job.

**How much does it cost to scrape CareerBuilder jobs?**
Pay-per-event: **$0.002 per job result** (about $2 per 1,000 search results) and **$0.004 per job** when you enable `fetchDetails` for full descriptions and benefits. Free-tier users get a capped 10-result preview; paying users can run up to the 1,000-job cap per run.

**What are alternatives to this Actor / other CareerBuilder scrapers?**
Other CareerBuilder scrapers on Apify include `parseforge/careerbuilder-scraper`, `abotapi/careerbuilder-scraper`, and `lexis-solutions/careerbuilder-com-scraper`. For cross-board coverage, pair this Actor with a multi-board jobs actor (e.g. `lergassy/jobs-api` or `flash_scraper/multi-jobboard-scraper`).

**Is salary data available for every job?**
No. Salary ranges are only present when the employer publishes them — roughly a minority of postings. Every returned record carries whatever the posting discloses, including currency and unit (YEAR/HOUR).

**How do I get remote and hybrid jobs?**
Filter on the `isRemote` / `jobLocationType` fields in the output, or add `remote` to your keyword queries. `isRemote` is set to true for both REMOTE and HYBRID roles.

**Can I scrape a specific CareerBuilder search or job page?**
Yes — switch `mode` to `url` and paste any `jobs-...` search URL or `job-details/...` URL into `startUrls`.

**Is scraping CareerBuilder legal?**
Scraping publicly available job listings for legitimate analytical, research, or monitoring use is generally acceptable public-data collection, but you are responsible for reviewing CareerBuilder's Terms of Service and applicable law in your jurisdiction. This Actor only reads publicly accessible pages.

### Competitive Positioning

| Capability | parseforge/careerbuilder-scraper | This Actor |
|------------|----------------------------------|------------|
| Price per result | $0.01999 (≈ $19.99 / 1k) | **$0.002** (≈ $2 / 1k) |
| Full-detail mode | Optional (`includeDetails`) | Optional (`fetchDetails`) |
| Responsibilities & qualifications | Combined inside description | Separate `responsibilities` + `qualifications` fields |
| Company description & logo | Not part of the 29-field schema | `companyDescription` + `companyLogo` on every record |
| Location precision | Latitude/longitude | Latitude/longitude + postal code + street address (when present) |

**Switching from another CareerBuilder scraper?** The main pain points reported across CareerBuilder scrapers on the Store are per-result price and thin fields. Several CareerBuilder actors bill $3.99–$19.99 per 1,000 results ([fatihtahta](https://apify.com/fatihtahta/careerbuilder-scraper): $3.99/1k; [moving\_beacon-owner1](https://apify.com/moving_beacon-owner1/careerbuilder-job-scraper): $9.99/1k; [parseforge](https://apify.com/parseforge/careerbuilder-scraper): $0.01999/result). This Actor bills $0.002 per search result and $0.004 with full details — you pay only for records actually written to the dataset.

### SEO Keywords

careerbuilder scraper, careerbuilder api alternative, careerbuilder jobs api, careerbuilder job listings, scrape careerbuilder jobs, us job postings data, careerbuilder jobs dataset, job listings dataset, job posting data, salary benchmarking data, salary ranges by job title, hiring trends data, labor market analysis, labor market intelligence, competitor hiring analysis, recruitment database, talent sourcing data, remote jobs data, hybrid jobs tracking, jobs data api, job search api alternative, workforce planning data

### For AI Agents & LLM Apps

This Actor is callable via the [Apify MCP server](https://apify.com/apify/mcp) and the Apify API. An agent can run a CareerBuilder job search and consume the dataset without any official CareerBuilder API dependency.

**Purpose:** returns one structured job record per CareerBuilder job listing (title, company, location with GPS, salary min/max with currency and unit, employment type, remote/hybrid/onsite, posting dates, apply URL, and — with `fetchDetails` — full description, responsibilities, qualifications, benefits).

**Minimal working input:**

```json
{ "queries": ["software engineer"], "maxItems": 10 }
```

**Variant inputs (two distinct modes):**

```json
{ "mode": "search", "queries": ["registered nurse"], "location": ["Austin, TX"], "sortBy": "date", "maxItems": 50 }
```

```json
{ "mode": "url", "startUrls": ["https://www.careerbuilder.com/jobs-software-engineer-in-new-york,ny"], "maxItems": 50 }
```

**Output field names:** `jobId`, `seoJobId`, `title`, `company`, `companyLogo`, `companyDescription`, `location`, `city`, `state`, `country`, `postalCode`, `streetAddress`, `latitude`, `longitude`, `employmentType`, `jobLocationType`, `isRemote`, `salaryMin`, `salaryMax`, `salaryCurrency`, `salaryUnit`, `applyUrl`, `applyType`, `datePosted`, `dateRecency`, `formattedDate`, `description`, `shortDescription`, `responsibilities`, `qualifications`, `jobBenefits` (detail mode), `jobType`, `status`, `url`

**Behaviors an agent should know:**

- `mode: "search"` (default) builds URLs from `queries` × `location`; `mode: "url"` overrides it when `startUrls` is non-empty
- `maxItems` is the hard run cap — the crawler stops as soon as it's reached
- `fetchDetails` (default off) adds one extra request per job to the detail page and **doubles the per-result price** ($0.004 instead of $0.002) — leave it off for budget runs
- `isRemote` is `true` for both REMOTE and HYBRID postings
- Salary fields are null when the employer didn't publish a salary
- Proxy defaults to Apify residential US when proxy is enabled with no group selected — do not disable the proxy for reliable results (CareerBuilder blocks datacenter IPs)

**Billing:** pay-per-event — $0.002 per job result, $0.004 per job result when `fetchDetails` is on, plus a small $0.0005 actor-start event (approximately $2 per 1,000 search results).

### Legal & Compliance Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by CareerBuilder, Monster, or Bold Holdings. It accesses only publicly available pages on careerbuilder.com, uses the site's public SEO search URLs, does not bypass login walls, and does not solve CAPTCHAs. Users are responsible for reviewing CareerBuilder's Terms of Service and for complying with applicable data-protection law when using or redistributing scraped data. Job listings may contain personal data such as contact details or names; do not use scraped data for unsolicited commercial outreach in violation of applicable law (e.g. CAN-SPAM or GDPR).

# Actor input Schema

## `mode` (type: `string`):

search = provide job keywords and optional locations. url = paste search-result or job-detail URLs directly.

## `queries` (type: `array`):

One or more job titles or keywords, e.g. software engineer, registered nurse, truck driver.

## `location` (type: `array`):

Optional. One or more locations as 'City, ST' (e.g. New York, NY) or a city name. Each keyword is searched in each location. Leave empty for nationwide.

## `sortBy` (type: `string`):

Order of results within each search.

## `startUrls` (type: `array`):

Paste CareerBuilder search-result URLs (jobs-...) or job-detail URLs (job-details/...). Used in url mode.

## `fetchDetails` (type: `boolean`):

Visit each job's detail page to get the FULL description and benefits. Off (default) = fast results straight from the search page with a short description, salary, and apply link.

## `maxItems` (type: `integer`):

Total jobs to return across all searches or URLs. This is the run cap.

## `proxyConfiguration` (type: `object`):

Route requests through the Apify proxy. CareerBuilder is DataDome-protected, so an Apify residential proxy (with a US country/zip setting) is strongly recommended for reliable results. Leave disabled to use the Actor's direct connection.

## Actor input object example

```json
{
  "mode": "search",
  "queries": [
    "software engineer"
  ],
  "location": [],
  "sortBy": "relevance",
  "startUrls": [],
  "fetchDetails": false,
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "queries": [
        "software engineer"
    ],
    "location": [],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/careerbuilder-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 = {
    "queries": ["software engineer"],
    "location": [],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

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

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

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

```

## CLI example

```bash
echo '{
  "queries": [
    "software engineer"
  ],
  "location": [],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call ahmed_jasarevic/careerbuilder-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/careerbuilder-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/exgyN50V6dVPjNDXc/builds/cGpitr7x3S9Nc3yhg/openapi.json
