# Company Job Openings API - Hiring Signals by Company (`nabeelbaghoor/company-job-openings-api`) Actor

Get job openings for any company by domain, or discover companies hiring for a profession. Returns title, category, seniority, location, salary, first and last seen dates and apply links. Filter by category, recency and status. Pay per result. Bring your own API key.

- **URL**: https://apify.com/nabeelbaghoor/company-job-openings-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Jobs, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$12.00 / 1,000 job opening 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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Company Job Openings API - hiring signals by company

**Company Job Openings API** returns the job openings for any company you name by domain, or discovers companies hiring for a given profession. Each opening is parsed into clean structured fields - title, category, seniority, location, salary, first-seen and last-seen dates, status and apply link - ready to export as JSON, CSV or Excel.

Powered by the PredictLeads API. Bring your own API key and token, and pay only for the results you keep.

### Why use this actor?

- **Company-level hiring signals** - point it at a list of company domains and get every open role, ideal for account monitoring and intent scoring.
- **Discovery mode** - find companies hiring for an O*NET occupation in a country or state, even without a target list.
- **Rich structured output** - title, categories, seniority, contract types, location, salary, O*NET code, first and last seen dates, status and apply link, parsed into flat columns.
- **Precise filters** - 27 job categories, active-only, not-closed, with-description, with-location, and first/last-seen date ranges.
- **Pay per result** - you are charged only for the openings actually returned, up to 5,000 per run.
- **No proxies, no blocks** - data comes through a stable API, so runs are fast and reliable.

### Use cases

- **B2B intent and lead generation** - a company opening roles is a company with budget; track hiring across your target accounts.
- **Account-based marketing** - trigger plays when a watched account starts hiring for a relevant function.
- **Talent and market research** - measure hiring demand by company, category, seniority and location.
- **CRM enrichment** - append live hiring signals to accounts in your CRM or warehouse.
- **Alerting automations** - schedule daily runs and push new openings to Slack, a CRM or a database.

### Input

Configure everything from the visual editor - no code needed. Provide company domains, or use the discover fields. Example JSON input:

```json
{
  "companyDomains": ["stripe.com", "datadoghq.com"],
  "categories": ["software_development", "sales"],
  "activeOnly": true,
  "maxResults": 200,
  "apiKey": "YOUR_API_KEY",
  "apiToken": "YOUR_API_TOKEN"
}
````

### Output

One clean JSON object per job opening (full raw attributes included):

```json
{
  "job_title": "Senior Backend Engineer",
  "company_name": "Stripe",
  "company_domain": "stripe.com",
  "location": "San Francisco, California, United States",
  "categories": ["software_development", "engineering"],
  "seniority": "mid_senior",
  "contract_types": ["full time", "remote"],
  "salary": "150000 - 210000 USD",
  "onet_code": "15-1252.00",
  "first_seen_at": "2026-07-10T08:00:00Z",
  "last_seen_at": "2026-07-22T08:00:00Z",
  "status": null,
  "url": "https://stripe.com/jobs/listing/senior-backend-engineer",
  "id": "a1b2c3d4"
}
```

### Do I need an API key?

Yes. This actor calls the PredictLeads API on your behalf, which requires your own **API Key** and **API Token**. Get them from your PredictLeads subscription page, paste both into the input, and run. Your credentials are stored securely and never logged.

### Pay per result

You pay only for the job openings the actor actually returns - no subscriptions, no minimums. Set **Maximum results** to cap each run's spend exactly.

### FAQ

#### How do I get job openings for specific companies?

Add their domains to the **Company domains** field (e.g. `stripe.com`). The actor fetches each company's openings, applies your filters, pages through the results, and stops at your **Maximum results**.

#### What is discover mode?

If you do not have a target company list, provide one or more **O\*NET occupation codes** and/or a **Discover location** (country or US state). The actor then returns openings across companies hiring for that profession.

#### What filters can I use?

27 job categories, active-only, not-closed, with-description-only, with-location-only, and first-seen / last-seen date ranges. Discover mode also supports a seniority filter.

#### What data comes with each opening?

Title, categories, seniority, contract types, location, salary (raw and parsed), O\*NET code, first-seen, last-seen and posted dates, status, apply URL, and the hiring company's name and domain.

#### How many results can I get per run?

Up to 5,000 openings per run. Results page 100 at a time. For larger pulls, split your domain list or narrow the date window, and run on a schedule to collect new openings each day.

#### How much does it cost?

Pricing is pay-per-result: a small fixed amount per opening returned, plus standard Apify platform usage, plus your own PredictLeads credit usage against your key (one credit per API page). A run that returns nothing costs almost nothing.

#### Can I run this on a schedule?

Yes. Use Apify Schedules to run it daily and connect the dataset to Zapier, Make, n8n, a CRM or the API to route new openings anywhere.

#### Is this legal?

The actor returns publicly available job opening data retrieved through a licensed API. No login-walled or personal data is collected.

### Keyword map

job openings api, hiring signals api, company hiring data, b2b intent data api, job openings by company, hiring intent api, account based marketing data, jobs api, recruiting signals api, company job postings api, hiring alerts api, sales intelligence api.

### Support and feedback

Found an issue or missing a filter? Open an issue in the **Issues** tab - it is monitored daily.

# Actor input Schema

## `companyDomains` (type: `array`):

Look up job openings for these companies by domain, e.g. `stripe.com`, `datadoghq.com`. Provide these OR use the Discover fields below.

## `onetCodes` (type: `array`):

Discover companies hiring for these O\*NET codes, e.g. `15-1252.00` (software developers), `13-1161.00` (marketing analysts). Used only when no company domains are given.

## `discoverLocation` (type: `string`):

Country name or US state name/abbreviation to scope discovery, e.g. `United States`, `California`, `CA`.

## `seniority` (type: `string`):

Seniority to scope discovery (discover mode only).

## `categories` (type: `array`):

Limit openings to these job categories.

## `activeOnly` (type: `boolean`):

Only openings that are still open and recently seen.

## `notClosed` (type: `boolean`):

Exclude openings detected as closed (ignores last-seen recency).

## `withDescriptionOnly` (type: `boolean`):

Only openings that have a description.

## `withLocationOnly` (type: `boolean`):

Only openings that have a parsed location.

## `firstSeenAtFrom` (type: `string`):

Only openings first seen on or after this date. ISO 8601, e.g. `2026-07-01`. In discover mode this maps to found-at-from.

## `firstSeenAtUntil` (type: `string`):

Only openings first seen on or before this date. ISO 8601, e.g. `2026-07-23`.

## `lastSeenAtFrom` (type: `string`):

Only openings last seen on or after this date. ISO 8601 (company mode).

## `lastSeenAtUntil` (type: `string`):

Only openings last seen on or before this date. ISO 8601 (company mode).

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

Stop after this many job openings (1-5,000). Each API page consumes one credit against your key. You are charged per result returned.

## `apiKey` (type: `string`):

Your PredictLeads API Key (sent as X-Api-Key). Required. Get it from your PredictLeads subscription page. Stored securely and never logged.

## `apiToken` (type: `string`):

Your PredictLeads API Token (sent as X-Api-Token). Required. Stored securely and never logged.

## Actor input object example

```json
{
  "companyDomains": [],
  "seniority": "",
  "activeOnly": true,
  "notClosed": false,
  "withDescriptionOnly": false,
  "withLocationOnly": false,
  "maxResults": 100
}
```

# 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 = {
    "companyDomains": [],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/company-job-openings-api").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 = {
    "companyDomains": [],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/company-job-openings-api").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 '{
  "companyDomains": [],
  "maxResults": 100
}' |
apify call nabeelbaghoor/company-job-openings-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nabeelbaghoor/company-job-openings-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Company Job Openings API - Hiring Signals by Company",
        "description": "Get job openings for any company by domain, or discover companies hiring for a profession. Returns title, category, seniority, location, salary, first and last seen dates and apply links. Filter by category, recency and status. Pay per result. Bring your own API key.",
        "version": "0.1",
        "x-build-id": "n2ni8W4aJ45FeC2Nu"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nabeelbaghoor~company-job-openings-api/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nabeelbaghoor-company-job-openings-api",
                "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/nabeelbaghoor~company-job-openings-api/runs": {
            "post": {
                "operationId": "runs-sync-nabeelbaghoor-company-job-openings-api",
                "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/nabeelbaghoor~company-job-openings-api/run-sync": {
            "post": {
                "operationId": "run-sync-nabeelbaghoor-company-job-openings-api",
                "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": {
                    "companyDomains": {
                        "title": "Company domains",
                        "type": "array",
                        "description": "Look up job openings for these companies by domain, e.g. `stripe.com`, `datadoghq.com`. Provide these OR use the Discover fields below.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "onetCodes": {
                        "title": "Discover: O*NET occupation codes",
                        "type": "array",
                        "description": "Discover companies hiring for these O*NET codes, e.g. `15-1252.00` (software developers), `13-1161.00` (marketing analysts). Used only when no company domains are given.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "discoverLocation": {
                        "title": "Discover: location",
                        "type": "string",
                        "description": "Country name or US state name/abbreviation to scope discovery, e.g. `United States`, `California`, `CA`."
                    },
                    "seniority": {
                        "title": "Discover: seniority",
                        "enum": [
                            "",
                            "founder",
                            "c_level",
                            "partner",
                            "president",
                            "vice_president",
                            "head",
                            "director",
                            "manager",
                            "mid_senior",
                            "junior"
                        ],
                        "type": "string",
                        "description": "Seniority to scope discovery (discover mode only).",
                        "default": ""
                    },
                    "categories": {
                        "title": "Job categories",
                        "type": "array",
                        "description": "Limit openings to these job categories.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "administration",
                                "consulting",
                                "data_analysis",
                                "design",
                                "directors",
                                "education",
                                "engineering",
                                "finance",
                                "healthcare_services",
                                "human_resources",
                                "information_technology",
                                "internship",
                                "legal",
                                "management",
                                "marketing",
                                "military_and_protective_services",
                                "operations",
                                "purchasing",
                                "product_management",
                                "quality_assurance",
                                "real_estate",
                                "research",
                                "sales",
                                "software_development",
                                "support",
                                "manual_work",
                                "food"
                            ]
                        }
                    },
                    "activeOnly": {
                        "title": "Active openings only",
                        "type": "boolean",
                        "description": "Only openings that are still open and recently seen.",
                        "default": true
                    },
                    "notClosed": {
                        "title": "Not closed",
                        "type": "boolean",
                        "description": "Exclude openings detected as closed (ignores last-seen recency).",
                        "default": false
                    },
                    "withDescriptionOnly": {
                        "title": "With description only",
                        "type": "boolean",
                        "description": "Only openings that have a description.",
                        "default": false
                    },
                    "withLocationOnly": {
                        "title": "With location only",
                        "type": "boolean",
                        "description": "Only openings that have a parsed location.",
                        "default": false
                    },
                    "firstSeenAtFrom": {
                        "title": "First seen from",
                        "type": "string",
                        "description": "Only openings first seen on or after this date. ISO 8601, e.g. `2026-07-01`. In discover mode this maps to found-at-from."
                    },
                    "firstSeenAtUntil": {
                        "title": "First seen until",
                        "type": "string",
                        "description": "Only openings first seen on or before this date. ISO 8601, e.g. `2026-07-23`."
                    },
                    "lastSeenAtFrom": {
                        "title": "Last seen from",
                        "type": "string",
                        "description": "Only openings last seen on or after this date. ISO 8601 (company mode)."
                    },
                    "lastSeenAtUntil": {
                        "title": "Last seen until",
                        "type": "string",
                        "description": "Only openings last seen on or before this date. ISO 8601 (company mode)."
                    },
                    "maxResults": {
                        "title": "Maximum results",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many job openings (1-5,000). Each API page consumes one credit against your key. You are charged per result returned."
                    },
                    "apiKey": {
                        "title": "API Key",
                        "type": "string",
                        "description": "Your PredictLeads API Key (sent as X-Api-Key). Required. Get it from your PredictLeads subscription page. Stored securely and never logged."
                    },
                    "apiToken": {
                        "title": "API Token",
                        "type": "string",
                        "description": "Your PredictLeads API Token (sent as X-Api-Token). Required. Stored securely and never logged."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
