# ATS Hiring-Intent Lead Finder (`ayeeyee/ats-hiring-intent-lead-finder`) Actor

Turn a company list into hiring-intent sales/recruiting leads from official keyless ATS APIs (Greenhouse, Lever, Ashby) + verified contact enrichment. Per-successful-result pricing.

- **URL**: https://apify.com/ayeeyee/ats-hiring-intent-lead-finder.md
- **Developed by:** [Virtual Footprint LLC](https://apify.com/ayeeyee) (community)
- **Categories:** Lead generation, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 hiring-intent leads

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

<p align="center">
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjMyMCIgdmlld0JveD0iMCAwIDEyMDAgMzIwIiByb2xlPSJpbWciIGFyaWEtbGFiZWxsZWRieT0idGl0bGUgZGVzYyI+CiAgPHRpdGxlIGlkPSJ0aXRsZSI+QVRTIEhpcmluZy1JbnRlbnQgTGVhZCBGaW5kZXI8L3RpdGxlPgogIDxkZXNjIGlkPSJkZXNjIj5SZWFsIG9wZW4tcm9sZSBjb3VudHMgZnJvbSBHcmVlbmhvdXNlLCBMZXZlciAmYW1wOyBBc2hieSAtLSB0dXJuZWQgaW50byBzY29yZWQgc2FsZXMgbGVhZHM8L2Rlc2M+CiAgPGRlZnM+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImVkZ2UiIHgxPSIwIiB5MT0iMCIgeDI9IjEiIHkyPSIxIj4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMTBiOTgxIiBzdG9wLW9wYWNpdHk9IjAuMTgiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTBiOTgxIiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxyZWN0IHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjMyMCIgcng9IjI2IiBmaWxsPSIjMGEwZDEyIi8+CiAgPHJlY3Qgd2lkdGg9IjEyMDAiIGhlaWdodD0iMzIwIiByeD0iMjYiIGZpbGw9InVybCgjZWRnZSkiLz4KICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjExOTkiIGhlaWdodD0iMzE5IiByeD0iMjUuNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMWMyMTI5IiBzdHJva2Utd2lkdGg9IjEiLz4KCiAgPGcgaWQ9InRpdGxlLWJsb2NrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NiA2NCkiPgogICAgPHJlY3QgeD0iMCIgeT0iLTI4IiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIiBmaWxsPSIjMTBiOTgxIi8+CiAgICA8dGV4dCB4PSIyMCIgeT0iLTIwIiBmb250LWZhbWlseT0idWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZSIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzEwYjk4MSI+TEVBRC1HRU4gQUNUT1IgJiMxODM7IFJFQUwgREFUQSwgTk8gRkFCUklDQVRJT048L3RleHQ+CiAgICA8dGV4dCB4PSIwIiB5PSIyNiIgZm9udC1mYW1pbHk9Ii1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iNDAiIGZvbnQtd2VpZ2h0PSI4MDAiIGZpbGw9IiNmZmZmZmYiPkFUUyBIaXJpbmctSW50ZW50IExlYWQgRmluZGVyPC90ZXh0PgogICAgPHRleHQgeD0iMCIgeT0iNjAiIGZvbnQtZmFtaWx5PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjE2IiBmaWxsPSIjYzlkMWQ5Ij5SZWFsIG9wZW4tcm9sZSBjb3VudHMgZnJvbSBHcmVlbmhvdXNlLCBMZXZlciAmYW1wOyBBc2hieSAtLSB0dXJuZWQgaW50byBzY29yZWQgc2FsZXMgbGVhZHM8L3RleHQ+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDEwMCkiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwKSI+CiAgICAgIDx0ZXh0IHg9IjAiIHk9IjAiIGZvbnQtZmFtaWx5PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjI4IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjZmZmZmZmIj41MDk8L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjAiIHk9IjIwIiBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzhiOTQ5ZSI+b3BlbiByb2xlcyBmb3VuZDwvdGV4dD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MCAwKSI+CiAgICAgIDx0ZXh0IHg9IjAiIHk9IjAiIGZvbnQtZmFtaWx5PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjI4IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjZmZmZmZmIj4xMDA8L3RleHQ+CiAgICAgIDx0ZXh0IHg9IjAiIHk9IjIwIiBmb250LWZhbWlseT0iLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBTZWdvZSBVSSwgc2Fucy1zZXJpZiIgZm9udC1zaXplPSIxMiIgZmlsbD0iIzhiOTQ5ZSI+aGlyaW5nIGludGVudCBzY29yZTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwMCAwKSI+CiAgICAgIDx0ZXh0IHg9IjAiIHk9IjAiIGZvbnQtZmFtaWx5PSItYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFNlZ29lIFVJLCBzYW5zLXNlcmlmIiBmb250LXNpemU9IjI4IiBmb250LXdlaWdodD0iNzAwIiBmaWxsPSIjZmZmZmZmIj5BPC90ZXh0PgogICAgICA8dGV4dCB4PSIwIiB5PSIyMCIgZm9udC1mYW1pbHk9Ii1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTIiIGZpbGw9IiM4Yjk0OWUiPmxlYWQgZ3JhZGU8L3RleHQ+CiAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBpZD0idGVybWluYWwtcHJvb2YiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwMCA3NikiPgogICAgPHJlY3QgeD0iLTI0IiB5PSItNDAiIHdpZHRoPSI0NzAiIGhlaWdodD0iMTM0IiByeD0iMTQiIGZpbGw9IiMwZDExMTciIHN0cm9rZT0iIzFjMjEyOSIgc3Ryb2tlLXdpZHRoPSIxIi8+CiAgICA8dGV4dCB4PSIwIiB5PSItMTQiIGZvbnQtZmFtaWx5PSJ1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlIiBmb250LXNpemU9IjExIiBmaWxsPSIjOGI5NDllIj4kIGFwaWZ5IGNhbGwgYXRzLWhpcmluZy1pbnRlbnQtbGVhZC1maW5kZXI8L3RleHQ+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDE2KSI+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDE2KSI+CiAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgcng9IjIiIGZpbGw9IiM1MWNmNjYiLz4KICAgICAgPHRleHQgeD0iMTgiIHk9IjkiIGZvbnQtZmFtaWx5PSJ1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlIiBmb250LXNpemU9IjEyIiBmaWxsPSIjYzlkMWQ5Ij5jb21wYW55OiBzdHJpcGUgKGdyZWVuaG91c2UpPC90ZXh0PgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA0MikiPgogICAgICA8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHJ4PSIyIiBmaWxsPSIjNTFjZjY2Ii8+CiAgICAgIDx0ZXh0IHg9IjE4IiB5PSI5IiBmb250LWZhbWlseT0idWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIG1vbm9zcGFjZSIgZm9udC1zaXplPSIxMiIgZmlsbD0iI2M5ZDFkOSI+NTA5IG9wZW4gcm9sZXMgLS0gNzkgU2FsZXMsIDEzNiBFbmcvRGF0YTwvdGV4dD4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNjgpIj4KICAgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iMiIgZmlsbD0iIzUxY2Y2NiIvPgogICAgICA8dGV4dCB4PSIxOCIgeT0iOSIgZm9udC1mYW1pbHk9InVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBtb25vc3BhY2UiIGZvbnQtc2l6ZT0iMTIiIGZpbGw9IiNjOWQxZDkiPmNvbnRhY3RzOiBwcmVzc0BzdHJpcGUuY29tICh2ZXJpZmllZCk8L3RleHQ+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDk0KSI+CiAgICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgcng9IjIiIGZpbGw9IiM1MWNmNjYiLz4KICAgICAgPHRleHQgeD0iMTgiIHk9IjkiIGZvbnQtZmFtaWx5PSJ1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgbW9ub3NwYWNlIiBmb250LXNpemU9IjEyIiBmaWxsPSIjYzlkMWQ5Ij5oaXJpbmdJbnRlbnRHcmFkZTogQSAmIzE4MzsgbGVhZEdyYWRlOiBBPC90ZXh0PgogICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+" width="100%" alt="ats-hiring-intent-lead-finder hero banner">
</p>

## ATS Hiring-Intent Lead Finder 📈

**Turn a list of companies into ranked, hiring-intent sales & recruiting leads.**

For each company you provide, this Actor pulls the **current open roles** straight
from the company's **official, keyless public ATS API** — Greenhouse, Lever, or
Ashby — then computes a **hiring-intent score** and plain-English **buying signals**
from the role mix (e.g. *"79 Sales roles open — active GTM / revenue expansion"*).
Add a `domain` and it also enriches the hiring company with **verified business
contacts** (MX/DNS-validated emails, phones, socials, tech stack) so each result is
a ready-to-use lead.

- ✅ **No API keys, no login, no residential proxy** — these are the ATS platforms' own public JSON endpoints, so there's no anti-bot fight and no upstream scraping cost.
- ✅ **Three ATS providers**, auto-detected: Greenhouse, Lever, Ashby.
- ✅ **Hiring-intent scoring (0–100 + A–D grade)** with human-readable buying signals.
- ✅ **Optional verified-contact enrichment** of the hiring company (reuses our verified-email engine).
- ✅ **Clean, normalized, deduped output.** Charged **per successful company** (one that actually returns open roles).

***

### What you give it

A `companies` array. Each item can be any of:

| Form | Example |
|---|---|
| `provider:slug` string | `"lever:spotify"`, `"ashby:ramp"` |
| Careers-board URL | `"https://jobs.lever.co/spotify"` |
| Bare slug (all providers tried) | `"stripe"` |
| Object (recommended — enables contact enrichment) | `{"provider":"greenhouse","slug":"stripe","domain":"stripe.com"}` |

**Finding a company's ATS slug:** it's in their careers-page URL — e.g.
`boards.greenhouse.io/`**`stripe`**, `jobs.lever.co/`**`spotify`**,
`jobs.ashbyhq.com/`**`ramp`**.

#### Optional inputs

- `functionFilter` — only return roles in these functions (e.g. `["Sales","Marketing"]`).
- `enrichContacts` (default `true`) — fetch verified contacts when a `domain` is given.
- `verifyEmails` (default `true`) — MX/DNS-validate the best email.
- `concurrency` (1–10, default 5).

***

### Real-run sample (verified live, 2026-07-10)

Input:

```json
{ "companies": [
  { "provider": "greenhouse", "slug": "stripe", "domain": "stripe.com" }
] }
```

Output (one record per company):

```json
{
  "company": "stripe",
  "atsProvider": "greenhouse",
  "domain": "stripe.com",
  "totalOpenRoles": 509,
  "openRolesByFunction": {
    "Engineering": 118, "Sales": 79, "Data/AI": 18,
    "Marketing": 37, "Customer Success": 44, "Other": 96, "...": "..."
  },
  "hiringIntentScore": 100,
  "hiringIntentGrade": "A",
  "signals": [
    "79 Sales roles open — active GTM / revenue expansion",
    "37 Marketing roles open — demand-gen investment",
    "136 Engineering/Data roles open — scaling product & headcount",
    "509 total openings — high-growth / well-funded signal"
  ],
  "leadGrade": "A",
  "contacts": {
    "emails": ["press@stripe.com"],
    "emailVerified": true,
    "phones": [],
    "socials": { "twitter": "https://twitter.com/stripe", "linkedin": "https://linkedin.com/company/stripe" },
    "techStack": ["Cloudflare", "React", "Google Analytics"]
  },
  "openRoles": [
    { "provider": "greenhouse", "companySlug": "stripe", "jobId": "7954688",
      "title": "Account Executive, AI Sales (Grower)", "department": "Sales",
      "function": "Sales", "location": "San Francisco, CA", "remote": false,
      "url": "https://stripe.com/jobs/search?gh_jid=7954688",
      "updatedAt": "2026-06-26T17:05:44-04:00" }
  ]
}
```

> The `contacts` block is illustrative of the enrichment shape; exact values depend
> on what each company publishes on its own site at run time. The ATS role data
> (counts, titles, functions, signals) is pulled live from the official board.

**Also verified live the same day:** `lever:spotify` → 103 open roles, intent A;
`ashby:ramp` → 126 open roles, intent A. All three providers returned clean,
non-empty data.

***

### Output schema (per company)

| Field | Type | Meaning |
|---|---|---|
| `company` | string | ATS slug you supplied |
| `atsProvider` | string | `greenhouse` | `lever` | `ashby` (auto-detected) |
| `domain` | string | null | domain you supplied (for enrichment) |
| `totalOpenRoles` | int | number of currently open, listed roles |
| `openRolesByFunction` | object | role counts by business function |
| `hiringIntentScore` | int (0–100) | volume + weighted GTM/eng expansion signals |
| `hiringIntentGrade` | `A`–`D` | banded intent |
| `signals` | string\[] | plain-English buying signals |
| `contacts` | object | null | verified emails, phones, socials, tech stack |
| `leadGrade` | `A`–`D` | intent blended with contact reachability |
| `openRoles` | object\[] | normalized roles (title, department, function, location, remote, url, updatedAt) |

Only companies that return **at least one open role** are pushed and billed.

***

### Pricing

**Pay per result** — you're charged only for companies that actually return hiring data.

| Event | Price | When |
|---|---|---|
| Hiring-Intent Lead (primary) | **$0.008** | once per company with ≥1 open role + intent score |
| Contact-Enriched Lead | $0.004 | when the company is also enriched with ≥1 verified email |
| Actor start | $0.0001 | one-time per run |

No upstream scraping/compose cost — direct calls to official public ATS APIs, so
the primary event sits comfortably above per-run compute.

***

### Why this beats the alternatives

Existing "multi-ATS job scraper" actors are tiny and unrated, and they stop at a raw
job feed. This Actor is the only one that **turns those postings into a scored,
contact-enriched lead** — hiring-intent signals + verified contacts of the hiring
company, clean and deduped, at one transparent per-success price. MCP-ready for
agent workflows ("who's hiring for Sales right now, with a way to reach them").

### Troubleshooting

| Symptom | Cause / fix |
|---|---|
| `No open roles found for X` | Wrong slug or the company isn't on that ATS. Check their careers URL for the exact slug, or pass `provider:slug`. Some companies migrate between ATS platforms. |
| Empty `contacts` | No `domain` supplied, or the site blocked a plain fetch. Contacts are best-effort and never block the lead. |
| Fewer roles than the careers page shows | We return **listed, public** roles only (Ashby `isListed`, Lever public postings). |
| Lever returns "Document not found" | That company isn't on Lever (or changed slug); try a bare slug to auto-detect the provider. |

### Data source & compliance

Data comes exclusively from the ATS providers' **own official public job-board APIs**
(Greenhouse `boards-api`, Lever `postings` API, Ashby `posting-api`) — the same
endpoints that power the companies' public careers pages. No login, no scraping of
gated content.

### Frequently asked questions

**Does this work for companies not on Greenhouse, Lever, or Ashby?**
No — it only queries those three providers' own public APIs. A company on Workday, SmartRecruiters, or a custom careers page won't return data.

**How is `hiringIntentScore` different from just counting open roles?**
Volume matters, but the score also weights *which* functions are hiring — Sales and Engineering growth reads differently than a single ops backfill. The `signals` array explains the reasoning in plain English so you're not just trusting a number.

**Can I get contacts without hiring data, or vice versa?**
Yes — `enrichContacts` is optional per company. Skip it if you only want the hiring signal, or supply a `domain` to also get verified contacts.

**Are companies with zero open roles billed?**
No — only companies that return at least one open role are pushed to the dataset and billed.

### Related lead-gen Actors

Part of a signal-based B2B lead catalog, each sourced from a different official, keyless public API and each pay-per-verified-result: [ATS Hiring-Intent Lead Finder](https://apify.com/ayeeyee/ats-hiring-intent-lead-finder) (open-roles hiring signal via Greenhouse/Lever/Ashby), [GitHub Org / Dev-Tool Lead Extractor](https://apify.com/ayeeyee/github-org-devtool-lead-extractor) (repo-traction signal), [Show HN Founder Lead Extractor](https://apify.com/ayeeyee/hackernews-showhn-founder-lead-extractor) (launch-traction signal), [Hugging Face AI Org Lead Extractor](https://apify.com/ayeeyee/huggingface-ai-org-lead-extractor) (AI-adoption signal), [SEC Form D Funded Company Lead Extractor](https://apify.com/ayeeyee/sec-formd-funded-company-lead-extractor) (fresh-funding signal), [Steam Game Studio Lead Extractor](https://apify.com/ayeeyee/steam-game-studio-lead-extractor) (shipped-product signal), [Website Contact & Company Extractor](https://apify.com/ayeeyee/website-contact-company-extractor) (bring-your-own-domain-list enrichment).

# Actor input Schema

## `companies` (type: `array`):

Each item can be: a bare ATS slug ('stripe'), a 'provider:slug' ('lever:spotify', 'ashby:ramp'), a careers-board URL ('https://jobs.lever.co/spotify'), or an object {"provider":"greenhouse","slug":"stripe","domain":"stripe.com"}. Include a 'domain' to also get verified contacts for that company.

## `functionFilter` (type: `array`):

Only return roles matching these business functions/keywords (e.g. 'Sales', 'Engineering', 'Marketing'). Leave empty for all roles.

## `enrichContacts` (type: `boolean`):

When a company includes a 'domain', fetch its own public site for verified emails, phones, socials, and tech stack. Adds ~2s per company.

## `verifyEmails` (type: `boolean`):

Validate the best email's domain against live MX/DNS records.

## `concurrency` (type: `integer`):

How many companies to process in parallel (1–10).

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

Optional. ATS endpoints are public APIs, so a proxy is usually NOT needed. Use a datacenter proxy only if you hit rate limits.

## Actor input object example

```json
{
  "companies": [
    {
      "provider": "greenhouse",
      "slug": "stripe",
      "domain": "stripe.com"
    },
    "lever:spotify",
    {
      "provider": "ashby",
      "slug": "ramp",
      "domain": "ramp.com"
    }
  ],
  "functionFilter": [
    "Sales",
    "Marketing"
  ],
  "enrichContacts": true,
  "verifyEmails": true,
  "concurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "companies": [
        {
            "provider": "greenhouse",
            "slug": "stripe",
            "domain": "stripe.com"
        },
        "lever:spotify",
        {
            "provider": "ashby",
            "slug": "ramp",
            "domain": "ramp.com"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ayeeyee/ats-hiring-intent-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 = { "companies": [
        {
            "provider": "greenhouse",
            "slug": "stripe",
            "domain": "stripe.com",
        },
        "lever:spotify",
        {
            "provider": "ashby",
            "slug": "ramp",
            "domain": "ramp.com",
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ayeeyee/ats-hiring-intent-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 '{
  "companies": [
    {
      "provider": "greenhouse",
      "slug": "stripe",
      "domain": "stripe.com"
    },
    "lever:spotify",
    {
      "provider": "ashby",
      "slug": "ramp",
      "domain": "ramp.com"
    }
  ]
}' |
apify call ayeeyee/ats-hiring-intent-lead-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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