# HiringCafe Scraper — Real-Time Jobs & Salaries (`scrapepilot/hiringcafe-scraper-real-time-jobs-salaries`) Actor

Scrape real jobs from HiringCafe.com — titles, companies, salaries, remote/onsite, seniority, apply URLs & company funding data. Zero login. Pay only $1.25 per 1,000 jobs. Clean JSON, proxy ready.

- **URL**: https://apify.com/scrapepilot/hiringcafe-scraper-real-time-jobs-salaries.md
- **Developed by:** [Scrape Pilot](https://apify.com/scrapepilot) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.25 / 1,000 hiring cafe scraped jobs

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

***

## 💼 HiringCafe Job Scraper — Real-Time Jobs, Salaries & Company Data

***

**HiringCafe Job Scraper — extract real-time, 100% genuine job postings from HiringCafe (hiringcafe.com) at scale.** Get job titles, companies, salaries, locations, workplace types, seniority levels, apply URLs, company enrichment data (funding, employees, investors, LinkedIn), and more — in clean structured JSON. Zero login required. The most reliable **HiringCafe scraper** for job boards, recruiters, market research, and AI training datasets.

If you searched for **hiringcafe scraper**, **hiring cafe job scraper**, **hiring.cafe API**, **real-time job scraper**, **tech job scraper**, **startup job scraper**, **job listings extractor**, **salary data scraper**, **hiring cafe export**, **hiringcafe.com data**, **startup jobs API alternative**, or a **no-login job board scraper** — this is the actor you're looking for. ✅

***

### 💡 What is the HiringCafe Job Scraper?

**HiringCafe** (hiringcafe.com) is one of the fastest-growing job boards, indexing **2M+ real job postings** directly from company career pages — no aggregator duplicates, no dead links. This **HiringCafe scraper** turns that data into a structured, ready-to-use dataset.

Just feed it a **search URL**, **company page**, or a **single job link** — the actor returns everything including:

- ✅ Job title, company name, workplace type (Remote / Onsite / Hybrid)
- ✅ Full salary range (min, max, currency)
- ✅ Seniority level & commitment type (Full-time, Part-time, Contract)
- ✅ Direct apply URL (LinkedIn, Greenhouse, Lever, SAA SHRM, Indeed, custom boards)
- ✅ Company enrichment — funding, employees, investors, website, LinkedIn, industries
- ✅ Requirements summary, technical tools, job category
- ✅ Posted date & source board token

All data is **100% real**. No fabricated entries. No aggregator noise.

***

### 🔥 SEO Keywords (Why This HiringCafe Scraper Ranks)

This actor ranks for **hiringcafe scraper**, **hiring cafe scraper**, **hiring.cafe job scraper**, **real-time job scraper**, **tech job scraper**, **startup job board scraper**, **job listings scraper**, **salary data scraper**, **job market intelligence**, **hiringcafe export**, **hiringcafe.com data**, **hiringcafe API alternative**, **no login job scraper**, **apify hiringcafe actor**, **job posting extractor**, **remote job scraper**, **greenhouse job scraper**, **lever job scraper**, **indeed job scraper alternative**, **job board aggregation**.

***

### 🚀 Key Features

| Feature | Description |
|---------|-------------|
| **Multi-Mode Input** | Works with search URLs, company pages (`/org/`), and single job URLs. |
| **Keyword + URL Combo** | Use `searchQuery` + `startUrls` together — both run in parallel without conflict. |
| **Rich Company Enrichment** | Funding amount, investors, employee count, LinkedIn, website, industries, subsidiaries. |
| **Full Salary Data** | Min/max salary, currency, hourly/yearly normalization. |
| **Remote / Onsite / Hybrid** | Workplace type accurately captured per job. |
| **Commitment Type** | Full-time, Part-time, Contract, Internship, Seasonal. |
| **Seniority Level** | Entry, Mid, Senior, Staff, Principal. |
| **Direct Apply URLs** | LinkedIn, Greenhouse, Lever, SAA SHRM, Indeed, custom ATS. |
| **Fast Pagination** | Automatic pagination across search results & company pages. |
| **Multi-Target Quotas** | Distributes item budget fairly across all provided URLs. |
| **Duplicate Protection** | Job IDs are deduplicated automatically. |
| **Pay-Per-Event Pricing** | Only charged for successfully delivered jobs. Empty runs are $0. |

***

### 📥 Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | array | No | – | Search URLs, `/org/` company pages, or single job URLs. |
| `searchQuery` | string | No | – | Keyword search (e.g. `"software engineer"`). Works alongside `startUrls`. |
| `location` | string | No | – | City, state, or country. E.g. `"San Francisco, CA"`. |
| `workplaceType` | string | No | `"all"` | `all`, `remote`, `hybrid`, `onsite`. |
| `commitment` | string | No | `"all"` | `all`, `full_time`, `part_time`, `contract`, `internship`. |
| `seniorityLevel` | string | No | `"all"` | `all`, `entry`, `mid`, `senior`, `staff`, `principal`. |
| `company` | string | No | – | Filter by specific company name. |
| `dateFetchedPastNDays` | integer | No | `0` | Only return jobs posted within last N days (0 = no filter). |
| `sortBy` | string | No | `"date"` | `date` or `relevance`. |
| `maxItems` | integer | No | `100` | Maximum total jobs to return. |
| `fetchFullDescription` | boolean | No | `false` | Fetch complete description text per job. |
| `proxyConfiguration` | object | No | – | Apify proxy config. Residential recommended for high volume. |

***

### 📤 Output Fields

Each job record includes:

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | HiringCafe job ID. |
| `title` | string | Job title. |
| `companyName` | string | Company name. |
| `workplaceLocation` | string | Location (city, state, country). |
| `workplaceType` | string | `Remote`, `Onsite`, `Hybrid`, `Field`. |
| `commitment` | string | Full Time, Part Time, Contract, Seasonal. |
| `seniorityLevel` | string | Entry Level, Mid Level, Senior Level, etc. |
| `minSalary` | integer | Minimum yearly salary (nullable). |
| `maxSalary` | integer | Maximum yearly salary (nullable). |
| `salaryCurrency` | string | e.g. `USD`. |
| `applyUrl` | string | Direct apply link. |
| `description` | string | Full job description (when `fetchFullDescription=true`). |
| `requirementsSummary` | string | Requirements summary text. |
| `technicalTools` | array | List of technical tools / skills. |
| `jobCategory` | string | Functional job category. |
| `companyWebsite` | string | Company website URL. |
| `companyLinkedin` | string | Company LinkedIn URL. |
| `postedDate` | string | Estimated publish date. |
| `source` | string | Source ATS: `greenhouse`, `lever`, `saashr`, `adhoc`, etc. |
| `board_token` | string | Internal ATS board token. |
| `apply_url` | string | Raw apply URL (alias). |
| `source_and_board_token` | string | Combined source identifier. |
| `job_information` | object | Raw job info (title, description, raw title). |
| `v5_processed_job_data` | object | Full processed job data (advanced). |
| `v5_processed_company_data` | object | Full company enrichment (advanced). |
| `_geoloc` | array | Geolocation coordinates if available. |
| `objectID` | string | Alias for `id`. |
| `scrapedAt` | string | ISO 8601 extraction timestamp. |

#### Company Enrichment (`v5_processed_company_data`)

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Company name. |
| `image_url` | string | Company logo URL. |
| `website` | string | Homepage URL. |
| `linkedin_url` | string | LinkedIn company page. |
| `industries` | array | Industry tags. |
| `num_employees` | integer | Employee count. |
| `year_founded` | integer | Year founded. |
| `headquarters_country` | string | HQ country. |
| `total_funding_amount` | number | Total funding raised. |
| `latest_investment_amount` | number | Latest round amount. |
| `latest_investment_series` | string | e.g. `Series A`, `Seed`. |
| `investors` | array | Investor names. |
| `stock_symbol` | string | If publicly traded. |
| `is_non_profit` | boolean | Non-profit flag. |
| `is_public_company` | boolean | Publicly traded. |
| `latest_revenue` | number | Latest reported revenue. |

***

### 📚 Full Input & Output Examples

#### 🔹 Example 1 — Keyword Search (No Cookie Needed)

**Input:**

```json
{
  "searchQuery": "software engineer",
  "location": "San Francisco, CA",
  "workplaceType": "remote",
  "commitment": "full_time",
  "seniorityLevel": "senior",
  "dateFetchedPastNDays": 7,
  "sortBy": "date",
  "maxItems": 50
}
```

**Output:**

```json
[
  {
    "id": "abc123def456",
    "title": "Senior Software Engineer, Platform",
    "companyName": "Stripe",
    "workplaceLocation": "San Francisco, California, United States",
    "workplaceType": "Remote",
    "commitment": "Full Time",
    "seniorityLevel": "Senior Level",
    "minSalary": 180000,
    "maxSalary": 260000,
    "salaryCurrency": "USD",
    "applyUrl": "https://boards.greenhouse.io/stripe/jobs/1234567",
    "description": "We're looking for a Senior Software Engineer to build the payments platform...",
    "requirementsSummary": "5+ years of backend engineering experience, strong CS fundamentals, experience with distributed systems.",
    "technicalTools": ["Go", "Java", "Kafka", "PostgreSQL", "AWS"],
    "jobCategory": "Engineering",
    "companyWebsite": "https://stripe.com",
    "companyLinkedin": "https://linkedin.com/company/stripe",
    "postedDate": "2026-10-10",
    "source": "greenhouse",
    "board_token": "stripe",
    "v5_processed_company_data": {
      "name": "Stripe",
      "image_url": "https://logo.clearbit.com/stripe.com",
      "website": "https://stripe.com",
      "linkedin_url": "https://linkedin.com/company/stripe",
      "industries": ["Fintech", "Payments"],
      "num_employees": 8000,
      "year_founded": 2010,
      "headquarters_country": "United States",
      "total_funding_amount": 8700000000,
      "latest_investment_series": "Series I",
      "investors": ["Sequoia", "Andreessen Horowitz", "Thrive Capital"],
      "is_public_company": false
    },
    "scrapedAt": "2026-10-15T14:17:09.049281+00:00"
  }
]
```

***

#### 🔹 Example 2 — Company Page (`/org/`)

**Input:**

```json
{
  "startUrls": ["https://hiringcafe.com/org/stripe"],
  "maxItems": 30
}
```

**Output:**

```json
[
  {
    "id": "xyz789",
    "title": "Product Manager, Payments",
    "companyName": "Stripe",
    "workplaceLocation": "New York, New York, United States",
    "workplaceType": "Hybrid",
    "commitment": "Full Time",
    "seniorityLevel": "Mid Level",
    "minSalary": 150000,
    "maxSalary": 210000,
    "salaryCurrency": "USD",
    "applyUrl": "https://boards.greenhouse.io/stripe/jobs/2233445",
    "source": "greenhouse",
    "scrapedAt": "2026-10-15T14:17:09.238142+00:00"
  }
]
```

***

#### 🔹 Example 3 — Multiple URLs + Keyword Combo

**Input:**

```json
{
  "startUrls": [
    "https://hiringcafe.com/org/openai",
    "https://hiringcafe.com/org/anthropic"
  ],
  "searchQuery": "machine learning",
  "maxItems": 60
}
```

**The actor will:**

- Scrape OpenAI and Anthropic company pages filtered by "machine learning"
- **ALSO** run a global "machine learning" keyword search
- Distribute the 60-item budget fairly across all 3 targets

**Output:**

```json
[
  {
    "title": "Research Engineer, Machine Learning",
    "companyName": "OpenAI",
    "workplaceLocation": "San Francisco, California, United States",
    "workplaceType": "Onsite",
    "seniorityLevel": "Senior Level",
    "minSalary": 250000,
    "maxSalary": 400000,
    "salaryCurrency": "USD",
    "applyUrl": "https://openai.com/careers/research-engineer-ml",
    "source": "adhoc",
    "scrapedAt": "2026-10-15T14:17:10.000000+00:00"
  }
]
```

***

#### 🔹 Example 4 — Single Job URL

**Input:**

```json
{
  "startUrls": ["https://hiringcafe.com/classic?openJob=abc123def456xyz"]
}
```

**Output:**

```json
[
  {
    "id": "abc123def456xyz",
    "title": "Staff Backend Engineer",
    "companyName": "Notion",
    "workplaceLocation": "San Francisco, California, United States",
    "workplaceType": "Hybrid",
    "commitment": "Full Time",
    "seniorityLevel": "Staff Level",
    "minSalary": 220000,
    "maxSalary": 320000,
    "salaryCurrency": "USD",
    "applyUrl": "https://boards.greenhouse.io/notion/jobs/9876543",
    "companyWebsite": "https://notion.so",
    "companyLinkedin": "https://linkedin.com/company/notionhq",
    "source": "greenhouse",
    "scrapedAt": "2026-10-15T14:17:11.000000+00:00"
  }
]
```

***

#### 🔹 Example 5 — Real Delivered Output (Verified)

```json
[
  {
    "title": "5562 - Assistant Store Manager PT",
    "companyName": "Lids",
    "workplaceLocation": "Las Vegas, Nevada, United States",
    "workplaceType": "Onsite",
    "commitment": "Part Time",
    "seniorityLevel": "Mid Level",
    "minSalary": 33280,
    "maxSalary": 37440,
    "salaryCurrency": "USD",
    "source": "saashr",
    "applyUrl": "https://secure5.saashr.com/ta/lids.careers?ShowJob=503680194",
    "scrapedAt": "2026-10-15T14:17:09.049281+00:00"
  },
  {
    "title": "Technical Product Manager — Software and Agents (Core Platform)",
    "companyName": "Radical AI",
    "workplaceLocation": "Brooklyn, New York, United States",
    "workplaceType": "Onsite",
    "commitment": "Full Time",
    "seniorityLevel": "Senior Level",
    "minSalary": 195000,
    "maxSalary": 265000,
    "salaryCurrency": "USD",
    "source": "adhoc",
    "applyUrl": "https://app.nodi.global/jobs/public/57a5088d-fb88-4545-922f-052bfa8e7091",
    "scrapedAt": "2026-10-15T14:17:16.936293+00:00"
  },
  {
    "title": "Corporate HR Manager",
    "companyName": "Anovaeon",
    "workplaceLocation": "United States",
    "workplaceType": "Remote",
    "commitment": "Full Time",
    "seniorityLevel": "Senior Level",
    "minSalary": 95000,
    "maxSalary": 115000,
    "salaryCurrency": "USD",
    "source": "saashr",
    "applyUrl": "https://secure7.saashr.com/ta/6224057.careers?ShowJob=638046211",
    "scrapedAt": "2026-10-15T14:17:09.786860+00:00"
  }
]
```

***

### 💰 Pricing (Pay-Per-Event)

Only charged for **successfully delivered jobs**. Empty runs and failed lookups are **$0**.

| Event | Event Name | Price | When Charged |
|-------|------------|-------|--------------|
| **Job extracted** | `job-extracted` | **$1.25 / 1,000** ($0.00125 per job) | A verified job record is pushed to the dataset. |
| **Actor start** | `apify-actor-start` | **$0.02 / run** | One-time startup fee. |

**Example costs:**

- **100 jobs** = 100 × $0.00125 = **$0.125** + $0.02 start = **$0.145**
- **1,000 jobs** = 1,000 × $0.00125 = **$1.25** + $0.02 start = **$1.27**
- **10,000 jobs** = 10,000 × $0.00125 = **$12.50** + $0.02 start = **$12.52**

> The most **cost-effective job scraper on Apify** — pay only for real jobs, not for attempts.

***

### 🛠 How to Use This HiringCafe Scraper on Apify

1. **Create a task** with this actor.
2. **Provide input** — either a keyword, a URL, or both.
3. **(Optional) Enable residential proxies** — recommended for 500+ jobs.
4. **Run** — the actor handles Cloudflare, pagination, and extraction automatically.
5. **Export** — download results as JSON, CSV, or Excel.

#### Running via API

```bash
curl -X POST "https://api.apify.com/v2/acts/your-username~hiringcafe-scraper/runs" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "searchQuery": "software engineer",
    "location": "Remote",
    "maxItems": 100
  }'
```

***

### 🎯 Use Cases (Who Uses This HiringCafe Scraper)

- **Recruiters** — Build a live pipeline of matching candidates.
- **Job boards & aggregators** — Sync HiringCafe listings into your platform.
- **Salary benchmarking** — Analyze real compensation ranges across roles, seniority, and locations.
- **Market research** — Track which companies are hiring and where.
- **Investment research** — Monitor headcount growth at portfolio companies.
- **AI/ML training data** — Build labeled job datasets for resume matchers or chatbots.
- **Career coaches** — Find best-fit opportunities for clients by keyword + salary + seniority.
- **Competitor research** — Monitor competitor hiring velocity.
- **Lead generation** — Enrich your CRM with hiring signals.
- **Trend tracking** — Weekly snapshots of remote job supply across industries.

***

### ❓ Frequently Asked Questions

**1. Do I need a HiringCafe account or login?**\
No. The actor works fully anonymously — no account, no cookie, no API key.

**2. What's the difference between `startUrls` and `searchQuery`?**\
`startUrls` accepts search URLs, `/org/` company pages, or single job links. `searchQuery` accepts a keyword. **You can use both together** — the actor distributes the item budget fairly across all targets.

**3. How does the actor handle Cloudflare?**\
The actor has a dual-engine architecture: a fast HTTP tier (Chrome TLS impersonation) and an automatic stealth browser fallback if Cloudflare challenges the fast tier.

**4. Are salaries always available?**\
Not every job posts a salary. When not published, `minSalary` and `maxSalary` are `null`.

**5. Can I filter by salary?**\
Not directly — but you can filter after scraping using `filterByMinLikes`-style logic on the JSON output.

**6. What's the `source` field?**\
It shows which ATS the original job came from: `greenhouse`, `lever`, `saashr`, `workday`, `adhoc`, `idealtraits`, etc.

**7. What's `v5_processed_company_data`?**\
Full company enrichment including funding rounds, investors, employee count, LinkedIn, revenue, and industry tags. Useful for investment or sales intelligence.

**8. How fresh is the data?**\
Real-time. The actor fetches live HiringCafe pages on every run.

**9. Do I need a proxy?**\
For small runs (under 500 jobs), direct IP works. For bulk runs, use Apify residential proxies.

**10. Can I schedule this actor?**\
Yes. Perfect for daily/weekly job-market snapshots with delta mode.

***

### 📝 Technical Notes

- Built with a **dual-engine architecture** optimized for HiringCafe's modern SSR pages.
- Handles anonymous access, optional proxy configuration, and payload integrity automatically.
- Runs entirely server-side on Apify — no local setup required.
- **Empty runs (0 jobs) are always free.** You only pay for successfully delivered records.
- All records are validated for JSON-serializable output and sanitized for special characters.
- **Robust error handling**: a single job failure never stops the run. Failures are logged and skipped.
- **Duplicate protection**: job IDs are deduplicated automatically within and across targets.
- **Fair quota distribution**: budget is shared across all targets — no URL starves another.
- **Multi-page pagination**: automatically fetches subsequent result pages until budget is reached.
- **Delta state** and per-run summaries are stored in Apify Key-Value Store for scheduled monitoring.

***

### 🔗 Related Actors

- **[RedNote Scraper — Xiaohongshu Posts, Comments, Profiles & Video](https://apify.com/your-username/rednote-scraper)**
- **[Weibo Scraper — Posts, Comments, Hot Search & Black Cat](https://apify.com/your-username/weibo-scraper)**
- **[Bilibili Scraper — Videos, Comments, Danmaku & Users](https://apify.com/your-username/bilibili-scraper)**

***

***

**Start extracting real HiringCafe jobs today — only $1.25 per 1,000 jobs. Zero login required.**

````



# Actor input Schema

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

Optional list of HiringCafe search URLs, company URLs, or direct job URLs to scrape. If left empty, the scraper uses the Keyword and Filter fields below.
## `searchQuery` (type: `string`):

Job title or keyword to search for (e.g. 'Software Engineer', 'Python', 'Product Manager', 'Data Scientist'). Works standalone or combined with Start URLs.
## `location` (type: `string`):

Filter by city, country, or region (e.g. 'United States', 'Germany', 'London', 'Remote').
## `workplaceType` (type: `string`):

Filter by Remote, Hybrid, or Onsite workplace.
## `commitment` (type: `string`):

Filter by employment commitment type (Full Time, Part Time, Contract, Internship, Temporary).
## `seniorityLevel` (type: `string`):

Filter by required experience seniority.
## `dateFetchedPastNDays` (type: `integer`):

Only return jobs posted within the last N days (e.g. 1 for past 24h, 2 for past 48h, 7 for past week, 30 for past month). Set 0 for any time.
## `sortBy` (type: `string`):

Sort order of the listings: 'date' for newest first, or 'relevance'.
## `company` (type: `string`):

Filter jobs from a specific company (e.g. 'Google', 'Meta', 'Amazon', or company token).
## `maxItems` (type: `integer`):

Maximum number of job listings to extract across all pages.
## `fetchFullDescription` (type: `boolean`):

When enabled, visits each job page individually to extract the full uncropped HTML description and detailed job specs.
## `proxyConfiguration` (type: `object`):

Apify Proxy configuration to bypass rate limits and geographic restrictions. Recommended: useApifyProxy: true.

## Actor input object example

```json
{
  "workplaceType": "all",
  "commitment": "all",
  "seniorityLevel": "all",
  "dateFetchedPastNDays": 0,
  "sortBy": "date",
  "maxItems": 100,
  "fetchFullDescription": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
````

# Actor output Schema

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

Collection of extracted job listings containing position details, requirements, compensation, company data, and direct ATS apply URLs.

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapepilot/hiringcafe-scraper-real-time-jobs-salaries").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 = { "proxyConfiguration": { "useApifyProxy": True } }

# Run the Actor and wait for it to finish
run = client.actor("scrapepilot/hiringcafe-scraper-real-time-jobs-salaries").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 '{
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapepilot/hiringcafe-scraper-real-time-jobs-salaries --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapepilot/hiringcafe-scraper-real-time-jobs-salaries"
        }
    }
}
```

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/WjbOyp7exIQe7nHPL/builds/08eYDx3ehs5zwXJ0D/openapi.json
