# Hiring Signal Lead Finder (`xavier_rx/hiring-signal-lead-finder`) Actor

Turn public Greenhouse, Lever and Ashby job boards into ranked company hiring signals.

- **URL**: https://apify.com/xavier\_rx/hiring-signal-lead-finder.md
- **Developed by:** [Xavier](https://apify.com/xavier_rx) (community)
- **Categories:** Jobs, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 company analyses

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 web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Hiring Signal Lead Finder

Find companies that are actively hiring and prioritize the best prospects before outreach. This Actor converts public Greenhouse, Lever and Ashby job boards into one ranked, CRM-ready record per company.

### Why use it

Raw job listings are noisy. Hiring Signal Lead Finder summarizes the signals that matter for prospecting:

- How many roles the company has open
- How many roles were posted or updated recently
- Which jobs match your target services or candidate profile
- Whether the company is hiring leaders, remote teams or in target locations
- A transparent 0–100 hiring score with plain-language reasons

Use the output to identify companies that may need recruiting, lead generation, software development, marketing, training, payroll, relocation or other B2B services.

### Supported job boards

- Greenhouse: `https://job-boards.greenhouse.io/company`
- Lever: `https://jobs.lever.co/company`
- Ashby: `https://jobs.ashbyhq.com/company`

The Actor uses official public job-board endpoints and does not require third-party API keys or a proxy.

### How to use

1. Add public company job board URLs.
2. Enter role keywords that indicate a good prospect for your offer.
3. Optionally enter target countries, cities or `Remote`.
4. Choose whether to return every analyzed company or only companies with matches.
5. Run the Actor and export results as JSON, CSV, Excel, XML or JSONL.

### Example input

```json
{
  "startUrls": [
    { "url": "https://jobs.ashbyhq.com/openai" },
    { "url": "https://job-boards.greenhouse.io/stripe" }
  ],
  "targetRoles": ["sales", "marketing", "growth", "data engineer"],
  "targetLocations": ["remote", "united states"],
  "recentDays": 30,
  "minimumOpenJobs": 3,
  "onlyMatchingCompanies": true,
  "includeJobDetails": true,
  "maxJobsPerCompany": 500,
  "maxConcurrency": 10
}
```

### Example output

```json
{
  "companyName": "Example",
  "ats": "ashby",
  "boardUrl": "https://jobs.ashbyhq.com/example",
  "totalOpenJobs": 42,
  "matchedJobs": 8,
  "recentJobs": 12,
  "remoteJobs": 9,
  "leadershipJobs": 3,
  "hiringScore": 91,
  "hiringLevel": "very-high",
  "signals": [
    "Active hiring: 42 open roles",
    "12 roles posted or updated in the last 30 days",
    "8 jobs match the target profile",
    "3 leadership hiring signals"
  ],
  "matchingJobTitles": [
    "Growth Marketing Manager",
    "Senior Data Engineer"
  ]
}
```

### Output fields

- `hiringScore` and `hiringLevel`: priority indicators based on hiring volume, recency, target matches, leadership hiring, remote hiring and location matches
- `signals`: human-readable reasons for the score
- `matchedJobs`: jobs matching both role and location filters
- `departments`, `locations` and `matchingJobTitles`: compact prospecting context
- `jobs`: normalized source records, optional to reduce output size
- `OUTPUT`: aggregate run summary stored in the default key-value store

### Cost control

The Actor uses lightweight JSON requests and no browser automation, external AI model or paid data provider. When pay-per-event pricing is enabled, the chargeable event is one successfully saved `company-analysis` record.

### Responsible use

This Actor processes public job postings. Use results lawfully, verify important information before contacting a company, respect applicable privacy and marketing rules, and do not use the output for spam, harassment or unlawful profiling.

# Actor input Schema

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

Greenhouse, Lever or Ashby public job board URLs. Examples: job-boards.greenhouse.io/company, jobs.lever.co/company, jobs.ashbyhq.com/company.

## `targetRoles` (type: `array`):

Case-insensitive keywords used to flag relevant roles. Leave empty to treat every role as a match.

## `targetLocations` (type: `array`):

Optional location keywords such as United States, London, Brazil or Remote.

## `recentDays` (type: `integer`):

Jobs published or updated within this number of days count as recent.

## `minimumOpenJobs` (type: `integer`):

Do not output companies with fewer open jobs.

## `onlyMatchingCompanies` (type: `boolean`):

Output only companies with at least one job matching the role and location filters.

## `includeJobDetails` (type: `boolean`):

Include normalized job records inside each company result.

## `maxJobsPerCompany` (type: `integer`):

Maximum number of public jobs fetched and analyzed for each company.

## `maxConcurrency` (type: `integer`):

Maximum number of company job boards analyzed simultaneously.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://jobs.ashbyhq.com/openai"
    }
  ],
  "targetRoles": [
    "sales",
    "marketing",
    "growth",
    "customer success",
    "software engineer",
    "data engineer"
  ],
  "targetLocations": [],
  "recentDays": 30,
  "minimumOpenJobs": 1,
  "onlyMatchingCompanies": false,
  "includeJobDetails": true,
  "maxJobsPerCompany": 500,
  "maxConcurrency": 10
}
```

# Actor output Schema

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

Ranked company records with job counts, matches, score and buying signals.

## `summary` (type: `string`):

Aggregate counts for analyzed companies, jobs and target matches.

# 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 = {
    "startUrls": [
        {
            "url": "https://jobs.ashbyhq.com/openai"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("xavier_rx/hiring-signal-lead-finder").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 = { "startUrls": [{ "url": "https://jobs.ashbyhq.com/openai" }] }

# Run the Actor and wait for it to finish
run = client.actor("xavier_rx/hiring-signal-lead-finder").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 '{
  "startUrls": [
    {
      "url": "https://jobs.ashbyhq.com/openai"
    }
  ]
}' |
apify call xavier_rx/hiring-signal-lead-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=xavier_rx/hiring-signal-lead-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/KZfkLIdiRw9oBsmjX/builds/CHDXe8khUQknsPXjZ/openapi.json
