# Hired Email Scraper (`neuro-scraper/hired-email-scraper`) Actor

Hired Email Scraper SD - Hired Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Hired results by keyword, location and email domain - Hired email extractor.

- **URL**: https://apify.com/neuro-scraper/hired-email-scraper.md
- **Developed by:** [Neuro Scraper](https://apify.com/neuro-scraper) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

### Hired Email Scraper

Start with the honest headline: in a measured live run the Hired Email Scraper returned zero results. Not few results, not thin results. Zero.

Hired has wound down much of its public marketplace, so its indexed footprint is small and volume is low. That is the single most important thing to know before you spend a compute unit on the Hired Email Scraper.

The Hired Email Scraper runs the same proven Google-index pipeline as the other 27 Actors in this category. The code is fine; the source is the problem.

This README is written to save you time rather than sell you a run. If you need tech recruiter and employer contacts today, skip to the [Dice Email Scraper](https://apify.com/leads-scraper/dice-email-scraper) or the [Toptal Email Scraper](https://apify.com/neuro-scraper/toptal-email-scraper), or use the Wellfound startup Actor in the same store for venture-backed employers.

#### Why the Hired Email Scraper still exists

Hired was, for years, a genuine tech-hiring marketplace with company pages worth prospecting. The Hired Email Scraper is maintained for completeness in this 28-Actor category and for anyone auditing what remains in Google's index.

There are two legitimate reasons to run the Hired Email Scraper. One is a completeness pass in a multi-board sweep where you want every source covered. The other is research: confirming for yourself, with a dated dataset, how little of the marketplace is still publicly indexed.

Neither of those is a contact-volume promise. Read the rest of this page with that framing.

### What the Hired Email Scraper does

The Hired Email Scraper builds Google queries with the `site:` operator against `hired.com`, fetches the result pages through the Apify GOOGLE_SERP proxy, and parses each result block structurally. It locates the `<h3>` title and then the smallest surrounding block, so it does not depend on Google's CSS class names.

From that block it extracts emails with a domain-filtered regular expression, deduplicates globally, and pushes each lead to the Apify dataset immediately. A representative query is `site:hired.com tech recruiter "@gmail.com"`.

The Hired Email Scraper never logs in, never opens Hired's website, and never uses a Hired API. There is no browser, no JavaScript rendering, no authentication and no cookies.

#### What kind of contacts it targets

Like every Actor in this family, the Hired Email Scraper finds employer, recruiter, freelancer and agency contacts that people or companies published publicly. It does not read private platform messages and it does not target candidate or jobseeker personal data.

On a tech-hiring marketplace the intended audience for the Hired Email Scraper is HR-tech and ATS vendors, employer-branding agencies, and B2B sellers who use hiring activity as a buying signal. The problem is not the audience fit; it is the supply.

For those same buyers, the sibling Actors listed below deliver what the Hired Email Scraper currently cannot. Pick one of them for live pipeline work.

### How the Hired Email Scraper works step by step

| Step | What happens |
|---|---|
| 1 | Reads your input: keywords, location, email domains and limits |
| 2 | Builds Google `site:hired.com` queries per keyword x domain pair |
| 3 | Fetches result pages through the Apify GOOGLE_SERP proxy (async `aiohttp`) |
| 4 | Parses each result block structurally, not by CSS class name |
| 5 | Extracts emails with a domain-filtered regex |
| 6 | Deduplicates globally and pushes each lead to the dataset immediately |

Base queries run first, then expansion variants. On a healthy index that ordering matters a lot; on Hired's current footprint there is often nothing for either pass to find.

### Features of the Hired Email Scraper

| Feature | What it means in practice |
|---|---|
| Query expansion | Base, quoted, `intitle:` and one variant per query modifier |
| Global deduplication | Each email appears once across the entire run |
| Email normalisation | Handles `name [at] domain [dot] com`, `(at)`, `name @ domain.com`, `domain .com`, zero-width characters and the full-width `＠` |
| Junk filter | Rejects `email@`, `yourname@`, `test@`, `xxx@` and single-character locals |
| Boundary-correct matching | `@gmail.com` never matches inside `@gmail.company` or `@gmail.com.br` |
| Soft-wrap repair | Drops a hit that is only the tail of another email in the same block |
| Concurrency | `asyncio` worker pool with a shared stop signal on `maxEmails` |
| Retries | Up to 3 attempts per page, exponential backoff, fresh proxy session per request |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty |
| Re-queueing | Blocked or failed queries get one more attempt at the end of the run |
| Resumable state | Key-value store state keyed by an input hash, saved on `PERSIST_STATE`, `MIGRATING` and `ABORTING` |
| Fallback parser | If Google's markup changes, the run degrades to emails without account details rather than to nothing |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |

#### Block detection matters here more than usual

Because the Hired Email Scraper often returns nothing, it is worth knowing the difference between an empty index and a blocked page. The Hired Email Scraper distinguishes them.

CAPTCHA pages, "unusual traffic" interstitials and consent screens are detected and retried rather than silently counted as zero. The run summary reports blocked pages separately, so an empty Hired Email Scraper dataset really does mean an empty index.

That distinction is what makes the zero-result finding trustworthy. It is a measured absence of indexed pages, not a proxy failure.

### Hired Email Scraper input fields

| Field | Type | Default | Meaning |
|---|---|---|---|
| `keywords` | array (required) | `["tech recruiter", "hiring"]` | Search terms: niche, job title, industry |
| `location` | string | `""` | Optional location phrase added to every query |
| `customDomains` | array | `["@gmail.com","@yahoo.com"]` | Only emails on these domains are kept; `@` optional |
| `maxEmails` | integer 1-10000 | `20` | Stop after this many unique emails |
| `countryCode` | string | `""` | Two-letter country for the search proxy (US, GB, DE...) |
| `expandQueries` | boolean | `true` | Search each keyword x domain pair in several phrasings |
| `queryModifiers` | array | `["email","contact","apply","recruiter","hiring"]` | Extra words combined with each keyword when expansion is on |
| `maxPagesPerQuery` | integer 1-50 | `30` | Page cap per query |
| `maxConcurrency` | integer 1-20 | `5` | Parallel queries |

Only `keywords` is required. Every other field in the Hired Email Scraper has a working default.

#### A Hired Email Scraper input example

```json
{
  "keywords": ["tech recruiter", "hiring", "engineering manager"],
  "location": "San Francisco",
  "customDomains": ["@gmail.com", "@yahoo.com"],
  "maxEmails": 50,
  "countryCode": "US",
  "expandQueries": true,
  "queryModifiers": ["email", "contact", "apply", "recruiter", "hiring"],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

Widening `customDomains` and raising `maxPagesPerQuery` will not manufacture pages that no longer exist. It only makes an empty run take longer.

### Hired Email Scraper output fields

| Field | Meaning |
|---|---|
| `network` | Platform name |
| `keyword` | The keyword that produced the lead |
| `query` | The exact Google query used |
| `title` | Raw result title |
| `accountName` | Account label Google prints |
| `fullName` | Display name parsed from a profile-style title; empty for snippets |
| `username` | URL-safe handle when Hired exposes one; otherwise `null` |
| `profileUrl` | Canonical account URL when a handle is known; otherwise empty |
| `url` | Direct platform link when exposed, else the profile URL |
| `description` | Bio or snippet text, cleaned of labels and counters |
| `email` | Lower-cased email address |
| `emailDomain` | The matched domain, for example `@gmail.com` |
| `possiblyTruncated` | `true` when Google's snippet ellipsis touched the email |
| `foundAt` | ISO 8601 UTC timestamp |

#### The shape a Hired Email Scraper row would take

The block below is **not** sample output from a successful run. The measured run produced no rows at all. This is the schema a row would follow if a company page with a published address were still indexed.

```json
{
  "network": "Hired",
  "keyword": "tech recruiter",
  "query": "site:hired.com tech recruiter \"@gmail.com\"",
  "title": "Company Profile | Hired",
  "accountName": "example-company",
  "fullName": "Example Company",
  "username": "example-company",
  "profileUrl": "https://hired.com/companies/example-company",
  "url": "https://hired.com/companies/example-company",
  "description": "Placeholder snippet showing where a published address would appear.",
  "email": "talent@example.com",
  "emailDomain": "@example.com",
  "possiblyTruncated": false,
  "foundAt": "2026-08-29T11:24:06Z"
}
```

### What to expect from the Hired Email Scraper

Zero. That is the measured result, and it is the number you should plan around.

A live Hired Email Scraper run produced no result blocks, no resolved identities, no profile URLs and no unique emails. Hired has wound down much of its public marketplace, so its indexed footprint is small and volume is low.

For contrast, the same pipeline against PeoplePerHour returned ten emails from ten blocks, and against FlexJobs nine resolved employer identities. The Hired Email Scraper is the outlier in this batch, not the norm.

If a future change repopulates Hired's public pages, the Hired Email Scraper will pick them up without modification. Until then, treat it as a completeness slot rather than a lead source.

### Where to go instead of the Hired Email Scraper

| Need | Better Actor |
|---|---|
| Tech recruiter and employer contacts | [Dice Email Scraper](https://apify.com/leads-scraper/dice-email-scraper) |
| Vetted senior engineering and consulting talent | [Toptal Email Scraper](https://apify.com/neuro-scraper/toptal-email-scraper) |
| Venture-backed and startup employers | Wellfound startup Actor in the same store |
| Broadest general employer index | [Indeed Email Scraper](https://apify.com/leads-scraper/indeed-email-scraper) |
| Highest-yielding freelance source in this category | [PeoplePerHour Email Scraper](https://apify.com/leads-scraper/peopleperhour-email-scraper) |
| Employer profile and review context | [Glassdoor Email Scraper](https://apify.com/leads-scraper/glassdoor-email-scraper) |

### Use cases for the Hired Email Scraper

| Use case | Who runs it | Realistic outcome |
|---|---|---|
| Index audit | Market researchers | A dated, evidenced record of how little of Hired remains public |
| Completeness pass | Data teams running all 28 category Actors | A documented empty source rather than an untested gap |
| Residual page discovery | HR-tech analysts | Occasional archived pages if Google's index shifts |
| Monitoring | Competitive intelligence | Re-run periodically to detect a marketplace relaunch |

Every one of those is a research use, not an outreach use. Nobody should budget contact volume against the Hired Email Scraper.

If your goal is a list you can actually mail, the Hired Email Scraper is the wrong tool and this page will keep saying so until the source recovers.

### Limitations of the Hired Email Scraper

- **Yield first:** Hired has wound down much of its public marketplace, so its indexed footprint is small and volume is low. The measured live run returned zero results.
- The Hired Email Scraper only finds accounts whose email is publicly visible in Google's index. If a page is gone, no setting brings it back.
- Google caps a single query at roughly 300 results, which is why query expansion exists and why `expandQueries` defaults to `true`.
- `possiblyTruncated: true` means Google's snippet ellipsis touched the address. Verify those before sending.
- `username` and `profileUrl` populate only when Hired exposes a handle in the Google result. Rows without one still carry `accountName` and `fullName`. That is a Google limitation, not a bug.
- The Actor requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run; paid plans are uncapped. On this source you will not reach either ceiling.
- Results vary with keywords, domains and location. No volume is guaranteed.

### Responsible use, GDPR and CAN-SPAM

This is not legal advice, just a short note on using the Hired Email Scraper as designed.

Anything it could return was published publicly and indexed by Google. Business email is still regulated: GDPR expects a lawful basis, a clear purpose and an honest sender identity, and CAN-SPAM expects accurate headers, a real postal address and a working opt-out.

Keep outreach relevant to the recipient's role, honour unsubscribe requests immediately, and delete records on request. Do not use the Hired Email Scraper, or any Actor in this family, to collect candidate or jobseeker personal data.

### Related Actors

| Actor | What it collects |
|---|---|
| [Hired Email and Phone Number Scraper](https://apify.com/neuro-scraper/hired-email-and-phone-number-scraper) | Emails and phone numbers from Hired |
| [Hired Phone Number Scraper](https://apify.com/neuro-scraper/hired-phone-number-scraper) | Public phone numbers from Hired |
| [CareerBuilder Email Scraper](https://apify.com/leads-scraper/careerbuilder-email-scraper) | Public contact emails from CareerBuilder |
| [CV-Library Email Scraper](https://apify.com/leads-scraper/cv-library-email-scraper) | Public contact emails from CV-Library |
| [Dice Email Scraper](https://apify.com/leads-scraper/dice-email-scraper) | Public contact emails from Dice |
| [Fiverr Email Scraper](https://apify.com/leads-scraper/fiverr-email-scraper) | Public contact emails from Fiverr |
| [FlexJobs Email Scraper](https://apify.com/leads-scraper/flexjobs-email-scraper) | Public contact emails from FlexJobs |
| [Freelancer Email Scraper](https://apify.com/leads-scraper/freelancer-email-scraper) | Public contact emails from Freelancer |
| [Glassdoor Email Scraper](https://apify.com/leads-scraper/glassdoor-email-scraper) | Public contact emails from Glassdoor |
| [Guru.com Email Scraper](https://apify.com/leads-scraper/guru-com-email-scraper) | Public contact emails from Guru |
| [Indeed Email Scraper](https://apify.com/leads-scraper/indeed-email-scraper) | Public contact emails from Indeed |
| [JobServe Email Scraper](https://apify.com/leads-scraper/jobserve-email-scraper) | Public contact emails from JobServe |
| [Jobspresso Email Scraper](https://apify.com/leads-scraper/jobspresso-email-scraper) | Public contact emails from Jobspresso |
| [JobStreet Email Scraper](https://apify.com/leads-scraper/jobstreet-email-scraper) | Public contact emails from JobStreet |
| [Ladders Email Scraper](https://apify.com/neuro-scraper/ladders-email-scraper) | Public contact emails from Ladders |
| [Monster Email Scraper](https://apify.com/leads-scraper/monster-email-scraper) | Public contact emails from Monster |
| [PeoplePerHour Email Scraper](https://apify.com/leads-scraper/peopleperhour-email-scraper) | Public contact emails from PeoplePerHour |
| [Reed Email Scraper](https://apify.com/neuro-scraper/reed-email-scraper) | Public contact emails from Reed |
| [Remote.co Email Scraper](https://apify.com/leads-scraper/remote-co-email-scraper) | Public contact emails from Remote.co |
| [Remote OK Email Scraper](https://apify.com/leads-scraper/remote-ok-email-scraper) | Public contact emails from Remote OK |
| [Remotive Email Scraper](https://apify.com/leads-scraper/remotive-email-scraper) | Public contact emails from Remotive |
| [SEEK Email Scraper](https://apify.com/neuro-scraper/seek-email-scraper) | Public contact emails from SEEK |
| [SimplyHired Email Scraper](https://apify.com/leads-scraper/simplyhired-email-scraper) | Public contact emails from SimplyHired |
| [The Muse Email Scraper](https://apify.com/leads-scraper/the-muse-email-scraper) | Public contact emails from The Muse |
| [Toptal Email Scraper](https://apify.com/neuro-scraper/toptal-email-scraper) | Public contact emails from Toptal |
| [Totaljobs Email Scraper](https://apify.com/leads-scraper/totaljobs-email-scraper) | Public contact emails from Totaljobs |
| [Upwork Email Scraper](https://apify.com/leads-scraper/upwork-email-scraper) | Public contact emails from Upwork |
| [We Work Remotely Email Scraper](https://apify.com/leads-scraper/we-work-remotely-email-scraper) | Public contact emails from We Work Remotely |
| [ZipRecruiter Email Scraper](https://apify.com/leads-scraper/ziprecruiter-email-scraper) | Public contact emails from ZipRecruiter |
| [CV-Library Email and Phone Number Scraper](https://apify.com/leads-scraper/cv-library-email-and-phone-number-scraper) | Emails and phone numbers from CV-Library |
| [Fiverr Email and Phone Number Scraper](https://apify.com/neuro-scraper/fiverr-email-and-phone-number-scraper) | Emails and phone numbers from Fiverr |
| [FlexJobs Email and Phone Number Scraper](https://apify.com/leads-scraper/flexjobs-email-and-phone-number-scraper) | Emails and phone numbers from FlexJobs |
| [Freelancer Email and Phone Number Scraper](https://apify.com/leads-scraper/freelancer-email-and-phone-number-scraper) | Emails and phone numbers from Freelancer |
| [Glassdoor Email and Phone Number Scraper](https://apify.com/leads-scraper/glassdoor-email-and-phone-number-scraper) | Emails and phone numbers from Glassdoor |
| [Guru Email and Phone Number Scraper](https://apify.com/neuro-scraper/guru-com-email-and-phone-number-scraper) | Emails and phone numbers from Guru |
| [Indeed Email and Phone Number Scraper](https://apify.com/leads-scraper/indeed-email-and-phone-number-scraper) | Emails and phone numbers from Indeed |
| [JobServe Email and Phone Number Scraper](https://apify.com/neuro-scraper/jobserve-email-and-phone-number-scraper) | Emails and phone numbers from JobServe |
| [Jobspresso Email and Phone Number Scraper](https://apify.com/neuro-scraper/jobspresso-email-and-phone-number-scraper) | Emails and phone numbers from Jobspresso |
| [JobStreet Email and Phone Number Scraper](https://apify.com/leads-scraper/jobstreet-email-and-phone-number-scraper) | Emails and phone numbers from JobStreet |
| [Ladders Email and Phone Number Scraper](https://apify.com/neuro-scraper/ladders-email-and-phone-number-scraper) | Emails and phone numbers from Ladders |
| [Monster Email and Phone Number Scraper](https://apify.com/leads-scraper/monster-email-and-phone-number-scraper) | Emails and phone numbers from Monster |
| [PeoplePerHour Email and Phone Number Scraper](https://apify.com/leads-scraper/peopleperhour-email-and-phone-number-scraper) | Emails and phone numbers from PeoplePerHour |

### Hired Email Scraper FAQ

#### How many results should I expect from the Hired Email Scraper?

Realistically, none. A measured live run returned zero result blocks, zero identities, zero profile URLs and zero emails. Hired has wound down much of its public marketplace, so its indexed footprint is small and volume is low.

#### Then why would I run the Hired Email Scraper at all?

For an index audit, a completeness pass across the category, or periodic monitoring in case the marketplace relaunches. Not for outreach volume.

#### Does the Hired Email Scraper access private platform messages or candidate data?

No. It never logs in and never reads Hired messaging. It only parses publicly indexed Google results, and it targets employer, recruiter and agency contacts, not candidate or jobseeker personal data.

#### Does it use the Hired API?

No. There is no API access, no login and no page rendering. All data comes from Google search results fetched through the Apify GOOGLE_SERP proxy.

#### Can I tune the Hired Email Scraper to get results?

You can widen `customDomains`, broaden `keywords` and raise `maxPagesPerQuery`, but no setting creates pages that are no longer indexed. Expect the same outcome.

#### What should I use instead?

For tech hiring contacts, the [Dice Email Scraper](https://apify.com/leads-scraper/dice-email-scraper). For senior contract talent, the [Toptal Email Scraper](https://apify.com/neuro-scraper/toptal-email-scraper). For startup employers, the Wellfound startup Actor in the same store.

#### Why is the output example labelled as a shape rather than a sample?

Because publishing a fabricated "successful" row would misrepresent the Actor. The measured run produced nothing, so the example documents the schema only.

#### What does `possiblyTruncated` mean?

Google's snippet cut off around the address, so it may be incomplete. Verify any such row before use.

#### Do I need a proxy?

Yes. The Hired Email Scraper requires the Apify GOOGLE_SERP proxy and will not run without Apify proxy credentials.

#### Is there a free-plan cap?

Free Apify plans stop at 100 emails per run and paid plans are uncapped. Neither ceiling is reachable on this source.

#### Is this affiliated with Hired?

No. This is an independent Apify Actor, not supported, endorsed or affiliated with Hired.

#### Will the Hired Email Scraper be updated if Hired comes back?

It needs no update. The Actor reads whatever Google has indexed, so restored public pages would appear in a future run automatically.

### Leave a review

If the Hired Email Scraper saved you time, please leave a star rating and a short review on the
Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to
build next.

If something did not work, email <neurodata.apify@gmail.com>
instead - bugs get fixed faster than they get complained about.

### Support

Questions, bug reports or a custom build? Contact **neurodata.apify@gmail.com**.

# Actor input Schema

## `keywords` (type: `array`):

Search terms describing the Hired accounts you want (niche, job title, industry).

## `location` (type: `string`):

Optional location phrase added to every query (e.g. "New York").

## `customDomains` (type: `array`):

Only emails ending with one of these domains are collected. With or without the leading @. Each domain is searched separately, so more domains means more results but a longer run - remove some for a faster, narrower search, or add your own (e.g. @company.com).

## `maxEmails` (type: `integer`):

Stop once this many unique emails have been collected.

## `countryCode` (type: `string`):

Two-letter country code for the search proxy (e.g. US, GB, DE). Empty for any.

## `expandQueries` (type: `boolean`):

Search each keyword x domain pair with several phrasings. Recommended - Google caps a single query at ~300 results.

## `queryModifiers` (type: `array`):

Extra words combined with each keyword when Expand queries is on. Tuned for Hired.

## `maxPagesPerQuery` (type: `integer`):

Google rarely returns more than ~30 pages for one query.

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

How many queries run in parallel.

## Actor input object example

```json
{
  "keywords": [
    "tech recruiter",
    "hiring"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "countryCode": "",
  "expandQueries": true,
  "queryModifiers": [
    "email",
    "contact",
    "apply",
    "recruiter",
    "hiring"
  ],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

# Actor output Schema

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

Records produced by Hired Email Scraper, stored in the run's default dataset.

# 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 = {
    "keywords": [
        "tech recruiter",
        "hiring"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "apply",
        "recruiter",
        "hiring"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("neuro-scraper/hired-email-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 = {
    "keywords": [
        "tech recruiter",
        "hiring",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "apply",
        "recruiter",
        "hiring",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("neuro-scraper/hired-email-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 '{
  "keywords": [
    "tech recruiter",
    "hiring"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "countryCode": "",
  "queryModifiers": [
    "email",
    "contact",
    "apply",
    "recruiter",
    "hiring"
  ]
}' |
apify call neuro-scraper/hired-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,neuro-scraper/hired-email-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/ic6wvR1GPdAbh760W/builds/KeFgRs8NlhKgMR6Tg/openapi.json
