# ATS Detector & Careers Page Hiring Signals (`ausbizstack/b2b-hiring-intent-ats-careers-enricher`) Actor

ATS detector and careers page finder for lists of company domains. Finds the careers page, detects the ATS (Greenhouse, Lever, Ashby, Workday and more), estimates open roles by department, location and remote mix, and scores hiring intent for sales prospecting.

- **URL**: https://apify.com/ausbizstack/b2b-hiring-intent-ats-careers-enricher.md
- **Developed by:** [AusBizStack Intelligence](https://apify.com/ausbizstack) (community)
- **Categories:** Jobs, Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.00 / 1,000 company hiring intent audits

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

**ATS Detector & Careers Page Hiring Signals** lets you run a careers page finder for a list of companys in bulk. Finds the careers page, detects the ATS (Greenhouse, Lever, Ashby, Workday and more), estimates open roles by department, location and remote mix, and scores hiring intent for sales prospecting.

ATS Detector & Careers Page Hiring Signals is built by AusBizStack, reads only public web pages and DNS, and returns one clean row per company that you can export to CSV, Excel, JSON or Google Sheets, or call through the Apify API.

### What does ATS Detector & Careers Page Hiring Signals do?

ATS detector and careers page finder for lists of company domains. Finds the careers page, detects the ATS (Greenhouse, Lever, Ashby, Workday and more), estimates open roles by department, location and remote mix, and scores hiring intent for sales prospecting.

- **Company-level signal, not a job dump:** one row per domain with `atsProvider`, `openRolesCountEstimate`, sample job titles, the department split (7 groups), locations and remote/hybrid signals.
- **Uses public ATS APIs where available:** Greenhouse, Lever and Ashby boards are read directly for accurate counts, with careers-page detection as a fallback.
- **Ready-made prioritisation:** `hiringIntentScore` and `recruiterLeadScore` plus pitch hooks. $10 / 1,000 results (Free $10 · Bronze $9 · Silver $8 · Gold+ $7). Failed or unreachable domains cost $0.

### What data can I get with ATS Detector & Careers Page Hiring Signals?

#### What This Actor Audits & Extracts Per Company

1. **Applicant Tracking System (ATS) Fingerprinting & Public Job Board API Probing:**
   - Detects **Greenhouse**, **Lever**, **Ashby**, **Workable**, **Workday**, **SmartRecruiters**, **BambooHR**, **Employment Hero**, **Rippling**, **Breezy HR**, **Teamtailor**, and custom careers portals.
   - Automatically queries public ATS board endpoints (`boards-api.greenhouse.io`, `api.lever.co`, `api.ashbyhq.com`) plus on-page `JobPosting` JSON-LD and `/careers` / `/jobs` listings.
2. **Open Role Counts, Sample Job Titles & Department Classification:**
   - Calculates `openRolesCountEstimate` and extracts `sampleOpenJobTitles`.
   - Maps hiring demand across 7 core departments: `Engineering / AI`, `Sales / GTM`, `Marketing / Growth`, `Product / Design`, `Customer Success / Support`, `Finance / Legal / Ops`, and `People / Talent`.
3. **Locations, Remote/Hybrid Workplace Policy & Tech Stack Signals:**
   - Extracts `hiringLocationsDetected`, `remoteOrHybridSignals` (`Remote-Friendly / Distributed Roles Available`, `Hybrid / Flexible Workplace Policy`, or `On-site / Standard Office Model`), and `techStackSignals`.
4. **Role-Based Talent Contacts Only (`0` Personal Emails) & Dual Outbound Hooks:**
   - Extracts only generic corporate talent addresses (`careers@`, `jobs@`, `talent@`, `recruiting@`, `hr@`, `people@`, `info@`) and generates **`recruiterAgencyPitchHook`** and **`b2bSaasTimingHook`**.

### How to use ATS Detector & Careers Page Hiring Signals

1. Click **Try for free** (or **Start**) on this page and sign in to Apify. The free plan's monthly credit covers a first test.
2. Paste your companys into **Company Domains or URLs** (`domains`), one per line.
3. Leave the other options on their defaults, or switch checks on or off.
4. Click **Start**. Each company usually finishes in a few seconds.
5. Open the **Output** tab and export to CSV, Excel or JSON, or connect the dataset to Google Sheets, Make, n8n or Clay.

### How much does ATS Detector & Careers Page Hiring Signals cost?

ATS Detector & Careers Page Hiring Signals uses pay-per-event pricing: **$10 per 1,000 companys** (Free $10 · Bronze $9 · Silver $8 · Gold+ $7, by Apify plan), plus a tiny start fee per run. Failed, timed-out or unreachable companys still appear in the dataset with a `status` and reason, but cost **$0**. Apify's free plan includes monthly platform credit, which is enough to test ATS Detector & Careers Page Hiring Signals on a short list.

### Output example

A trimmed row from a real run (29 Oct 2026). Long text fields are shortened.

```json
{
  "domain": "stripe.com",
  "companyName": "Stripe",
  "status": "audited",
  "careersPageUrl": "https://stripe.com/au/careers",
  "atsProvider": "Greenhouse",
  "atsBoardUrl": "https://job-boards.greenhouse.io/stripe",
  "isActivelyHiring": true,
  "openRolesCountEstimate": 722,
  "sampleOpenJobTitles": [
    "Abuse Investigator",
    "Abuse Research Engineer",
    "Account Executive, AI Sales",
    "Account Executive, AI Startups - Grower"
  ],
  "hiringDepartmentsDetected": [
    "Engineering / AI",
    "Sales / GTM",
    "Marketing / Growth",
    "Product / Design"
  ],
  "hiringLocationsDetected": [
    "Dublin",
    "Seattle, San Francisco, New York City",
    "Remote from the US",
    "San Francisco, CA"
  ],
  "remoteOrHybridSignals": "Remote-Friendly / Distributed Roles Available",
  "techStackSignals": [
    "Next.js",
    "React"
  ],
  "roleTalentEmails": [
    "careers@stripe.com",
    "talent@stripe.com"
  ],
  "hiringVelocityTier": "HIGH_VELOCITY",
  "hiringIntentScore": 100,
  "recruiterLeadScore": 100,
  "recruiterAgencyPitchHook": "Stripe (stripe.com) is actively hiring 722 open role(s) on Greenhouse across Engineering / AI, Sales / GTM, Marketing / Growth (including \"Abuse Investigator\") — pitch sp…",
  "auditedAt": "2026-10-29T07:16:25.519Z"
}
```

### Use cases

- Sales prospecting: target companies hiring in the team your product serves.
- Recruitment agencies: find companies with open roles and the ATS they use.
- Market research: track hiring activity across a list of competitors.

#### How do I find which ATS a company uses?

Add the company domain. The Actor finds the careers page and detects Greenhouse, Lever, Ashby, Workday, SmartRecruiters and other ATS platforms.

#### How do I find companies that are hiring?

Run a list of domains and sort by `hiringIntentScore` or open-role count to see who is actively hiring and in which departments.

#### Where is a company's careers page?

The `careersPageUrl` field gives the careers or jobs page found from the domain.

### Integrations (API, Make, n8n, Clay, MCP)

Call ATS Detector & Careers Page Hiring Signals from the Apify API, schedule it in Apify, or plug it into Make, n8n, Clay, Zapier or an AI agent through the Apify MCP server (`mcp.apify.com`). Ready-to-import Make and n8n templates that send results to Google Sheets are free to download at https://ausbizstack.github.io/#templates.

##### 1. Claude Desktop & Cursor IDE via Apify MCP (`mcp.apify.com`)

```json
{
  "mcpServers": {
    "ausbizstack-apify": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--actors",
        "ausbizstack/b2b-hiring-intent-ats-careers-enricher,ausbizstack/shopify-ecommerce-tech-pixel-auditor,ausbizstack/b2b-email-security-dmarc-spf-auditor,ausbizstack/au-abn-kyb-commercial-lead-enricher"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"
      }
    }
  }
}
```

##### 2. Apify REST API (`curl` — Synchronous JSON Dataset Output)

```bash
curl -X POST "https://api.apify.com/v2/acts/ausbizstack~b2b-hiring-intent-ats-careers-enricher/run-sync-get-dataset-items" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "domains": [
      "stripe.com",
      "canva.com",
      "xero.com",
      "vercel.com",
      "servicem8.com"
    ],
    "probePublicAtsApis": true,
    "maxConcurrency": 10
  }'
```

##### 3. Clay.com HTTP API Waterfall (`$0.01/company`)

- **Method:** `POST`
- **Endpoint URL:** `https://api.apify.com/v2/acts/ausbizstack~b2b-hiring-intent-ats-careers-enricher/run-sync-get-dataset-items?`
- **Headers:** `Content-Type: application/json` and `Authorization: Bearer YOUR_APIFY_TOKEN`
- **JSON Body:**
  ```json
  {
    "domains": ["{{Company Domain}}"],
    "probePublicAtsApis": true
  }
  ```

Pass your token as a header, never in the URL:

```bash
curl -X POST "https://api.apify.com/v2/acts/ausbizstack~b2b-hiring-intent-ats-careers-enricher/run-sync-get-dataset-items" \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" -H "Content-Type: application/json" -d '{...}'
```

### Privacy and data scope

- **Zero Personal Emails (`0` PII):** Only role-based corporate talent and HR addresses (`careers@`, `talent@`, `jobs@`, `hr@`, `info@`) are extracted or returned.

### FAQ

**What does ATS Detector & Careers Page Hiring Signals do?**
For each company domain it finds the careers page and applicant tracking system (ATS), counts open roles, groups them by department and location, and returns a hiring-intent score with role-based talent contacts.

**Does it return full job descriptions?**
No. It returns a company-level summary: role counts, up to a handful of sample job titles, departments, locations and remote signals. Use a job-board scraper if you need every posting.

**Which ATSs are read via API, and which are only detected?**
Public job-board APIs are read for Greenhouse, Lever, Ashby, SmartRecruiters and Workable, so their counts are exact at run time. Workday, BambooHR, Teamtailor, Employment Hero, Rippling, Breezy HR and custom careers pages are detected from the site, and counts come from on-page listings or JSON-LD, so they can be lower than the real number (sometimes 0).

**How much does it cost?**
$10 per 1,000 results (Free $10 · Bronze $9 · Silver $8 · Gold+ $7). Invalid, timed-out or unreachable domains still appear in the dataset but cost $0.

**What inputs and output formats are supported?**
Pass company domains or URLs in `domains` (or `targets`). You get one JSON row per company (see the Output tab), exportable as JSON, CSV or Excel or readable via the API. Each company has a time cap of about 12 seconds.

**Who do I contact for help or a custom version?**
Email ausbizstack@outlook.com.

### Acceptable use

This Actor returns publicly available business information only. You are responsible for how you use it. If you send commercial electronic messages to Australian recipients you must comply with the *Spam Act 2003* (Cth): have consent (express or inferred), identify yourself accurately, and include a functional unsubscribe. Respect any website notice stating that unsolicited messages are not wanted, and comply with the Privacy Act 1988 (Cth), GDPR and other applicable laws. Do not use this Actor for bulk unsolicited messaging.

### Other AusBizStack Actors

- [Tech Stack Detector](https://apify.com/ausbizstack/b2b-tech-stack-contact-abn-enricher): tech stack detector and website technology lookup with role-based contact enrichment.
- [llms.txt Generator & GEO Audit](https://apify.com/ausbizstack/ai-geo-llms-txt-auditor): llms.txt generator and GEO audit for AI search visibility.
- [DMARC, SPF & DKIM Checker](https://apify.com/ausbizstack/b2b-email-security-dmarc-spf-auditor): bulk DMARC checker, SPF checker and DKIM lookup.
- [ABN Lookup Australia](https://apify.com/ausbizstack/au-abn-kyb-commercial-lead-enricher): bulk ABN lookup, ACN and GST check for Australian businesses.
- [Shopify Apps Detector](https://apify.com/ausbizstack/shopify-ecommerce-tech-pixel-auditor): Shopify apps detector and store tech stack checker.
- [SaaS Pricing Page Scraper](https://apify.com/ausbizstack/b2b-saas-pricing-tier-plg-auditor): SaaS pricing page scraper for plans, tiers and prices.
- [Store Locator Scraper](https://apify.com/ausbizstack/multi-location-franchise-footprint-mapper): store locator scraper and franchise location counter.

Questions or a custom version? Email ausbizstack@outlook.com.

# Actor input Schema

## `domains` (type: `array`):

Enter company domains or URLs (e.g. 'stripe.com', 'canva.com', 'xero.com', 'vercel.com', 'servicem8.com').

## `targets` (type: `array`):

Optional alias for domains so Clay, n8n, Make, and MCP agents can pass either `domains` or `targets`.

## `probePublicAtsApis` (type: `boolean`):

When true, queries public ATS job-board APIs (`boards-api.greenhouse.io`, `api.lever.co`, `api.ashbyhq.com`) for exact open role counts, job titles, departments, and locations.

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

Number of domains processed in parallel (1 to 200, default 50). 10 is plenty for small lists.

## `requestTimeoutSecs` (type: `integer`):

HTTP timeout in seconds per request.

## Actor input object example

```json
{
  "domains": [
    "stripe.com",
    "canva.com",
    "xero.com",
    "vercel.com",
    "servicem8.com"
  ],
  "probePublicAtsApis": true,
  "maxConcurrency": 10,
  "requestTimeoutSecs": 5
}
```

# 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 = {
    "domains": [
        "stripe.com",
        "canva.com",
        "xero.com",
        "vercel.com",
        "servicem8.com"
    ],
    "maxConcurrency": 10,
    "requestTimeoutSecs": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("ausbizstack/b2b-hiring-intent-ats-careers-enricher").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 = {
    "domains": [
        "stripe.com",
        "canva.com",
        "xero.com",
        "vercel.com",
        "servicem8.com",
    ],
    "maxConcurrency": 10,
    "requestTimeoutSecs": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("ausbizstack/b2b-hiring-intent-ats-careers-enricher").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 '{
  "domains": [
    "stripe.com",
    "canva.com",
    "xero.com",
    "vercel.com",
    "servicem8.com"
  ],
  "maxConcurrency": 10,
  "requestTimeoutSecs": 5
}' |
apify call ausbizstack/b2b-hiring-intent-ats-careers-enricher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ausbizstack/b2b-hiring-intent-ats-careers-enricher"
        }
    }
}
```

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/gShN1IRepwf1uubWT/builds/F5T4u2tbHFhJNLyZE/openapi.json
