HiringCafe Jobs Scraper avatar

HiringCafe Jobs Scraper

Pricing

from $0.48 / 1,000 job extracteds

Go to Apify Store
HiringCafe Jobs Scraper

HiringCafe Jobs Scraper

Search HiringCafe and export structured job identity, company, location, remote, compensation, posting, requirements context, and application data for recruiting feeds.

Pricing

from $0.48 / 1,000 job extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Search public HiringCafe job results and export structured hiring data for recruiting and labor-market feeds.

HiringCafe Jobs Scraper returns one dataset row per unique job.

Each row can include job identity, title, company, location, workplace type, compensation, posting date, requirements context, technical tools, and application URLs.

The Actor accepts ordinary keyword searches and HiringCafe URLs with encoded search filters.

What does HiringCafe Jobs Scraper do?

The Actor turns HiringCafe searches into reusable datasets.

Use it to:

  • find jobs for a role, skill, or company;
  • refresh a recruiting feed on a schedule;
  • export hiring data to JSON, CSV, Excel, or another integration;
  • analyze remote, location, seniority, and compensation signals;
  • collect stable job IDs and source URLs for downstream comparison.

The Actor reads HiringCafe's public structured search data.

It does not require a HiringCafe account.

Who is it for?

Recruiters can build focused role or company searches.

Talent sourcing teams can export openings for candidate research.

Labor-market analysts can collect repeatable samples of current hiring demand.

Sales and research teams can identify companies with relevant open roles.

Data engineers can schedule runs and load normalized rows into a warehouse.

Job-feed builders can retain source attribution and direct application links.

Why use this HiringCafe scraper?

HiringCafe exposes rich search-result metadata across many employer career sites.

This Actor normalizes the useful fields without requiring a browser for every run.

It provides:

  • keyword and filtered-URL inputs;
  • deterministic pagination;
  • within-run deduplication by stable job ID;
  • explicit maximum-item control;
  • typed, integration-ready dataset rows;
  • bounded retries for transient upstream failures;
  • non-zero failure status for challenge pages or changed response shapes.

The Actor does not silently treat a blocked response as an empty search.

What HiringCafe job data can I extract?

FieldMeaning
jobIdStable HiringCafe job identity
requisitionIdSource or employer requisition identity when shown
titlePublished job title
companyNameHiring company
companyWebsiteCompany website when available
companySizeEstimated employee count when available
companyIndustryCompany sector or industry
companyTaglineShort company context from HiringCafe enrichment
locationFormatted workplace location
countriesWorkplace countries
workplaceTypeRemote, hybrid, onsite, or related classification
employmentTypesFull time, contract, internship, or other commitments
senioritySeniority level when available
salaryMin / salaryMaxYearly normalized compensation range
salaryCurrencyListed currency
salaryFrequencyFrequency used in the original compensation statement
compensationTransparentWhether compensation is marked transparent
datePostedEstimated publication timestamp
sourcePlatformOriginal ATS or career-site platform
sourceUrlPublic source or application URL
applyUrlDirect application URL
canonicalUrlCanonical URL retained for the exported record
descriptionTextDescription, requirements, or company context available in search results
requirementsHiringCafe requirements summary
technicalToolsTools and technologies associated with the role
roleActivitiesNormalized role activities
languagesLanguage requirements
benefitsBenefits indicated in job metadata
visaSponsorshipVisa-sponsorship signal when available
relocationAssistanceRelocation-assistance signal when available
isExpiredHiringCafe expiration status
searchQueryQuery that produced the row
scrapedAtExport timestamp

Fields can be null or empty when an employer did not publish that information.

How to scrape HiringCafe jobs

  1. Open the Actor in Apify Console.
  2. Enter one or more role, skill, or company terms in Search queries.
  3. Optionally add HiringCafe search URLs with filters you configured on the site.
  4. Set Maximum jobs to control output and cost.
  5. Run the Actor.
  6. Review the HiringCafe jobs dataset view.
  7. Export the rows or connect the dataset to your workflow.

Start with 10–50 jobs to inspect coverage for your search.

Input parameters

searchQueries

An array of non-empty role, skill, or company searches.

Examples:

  • software engineer
  • data scientist
  • AI engineer
  • Amazon
  • product manager

Multiple queries are processed in order.

Duplicate jobs are saved only once within a run.

startUrls

Optional public HiringCafe search URLs.

The Actor accepts hiringcafe.com and legacy hiring.cafe hosts.

It preserves the URL's encoded searchState object.

A URL with a simple q parameter is also supported.

Other domains are rejected before any scraping begins.

maxItems

The maximum number of unique jobs saved across all inputs.

Allowed range: 1–1,000.

Default: 50.

The Actor stops as soon as this limit is reached.

includeDescriptionHtml

When enabled, the Actor adds descriptionHtml if HiringCafe exposes raw HTML.

Search results often contain a requirements summary rather than a full job-description body.

descriptionText therefore falls back to available requirements or company context.

Example input

{
"searchQueries": ["software engineer", "data scientist"],
"maxItems": 25,
"includeDescriptionHtml": false
}

Example output

This representative shape is based on a current local run.

{
"jobId": "ashby___sample-company___96c74af4-b3d7-4960-a666-212ce4debac8",
"requisitionId": "96c74af4-b3d7-4960-a666-212ce4debac8",
"title": "Software Engineer, Integrations",
"companyName": "Sample AI Company",
"companyWebsite": "https://sample-ai.example",
"location": "Toronto or San Francisco or New York City or London",
"countries": ["Canada", "United States", "United Kingdom"],
"workplaceType": "Remote",
"employmentTypes": ["Full Time"],
"seniority": "Mid Level",
"salaryMin": 150000,
"salaryMax": 270000,
"salaryCurrency": "USD",
"salaryFrequency": "Yearly",
"compensationTransparent": true,
"sourcePlatform": "ashby",
"applyUrl": "https://jobs.example.org/sample-company/96c74af4",
"requirements": "Production software engineering and external API integration experience.",
"technicalTools": ["Python", "TypeScript"],
"isExpired": false,
"searchQuery": "software engineer",
"scrapedAt": "2025-01-15T12:00:00.000Z"
}

Example values are anonymized; actual runs return current public source values.

How much does it cost to export HiringCafe jobs?

The Actor uses pay-per-event pricing.

A one-time start event is charged when a run begins.

A job event is charged only for each unique job saved to the default dataset.

Rejected, duplicate, empty, and failed records are not charged as jobs.

The one-time start event costs $0.00005.

The per-job prices are $0.00092 FREE, $0.0008 BRONZE, $0.000624 SILVER, $0.00048 GOLD, $0.00032 PLATINUM, and $0.000224 DIAMOND.

The six prices decrease by Apify account tier.

At BRONZE pricing, a 10-job preview costs $0.00805: one start plus 10 jobs.

At BRONZE pricing, a 100-job feed costs $0.08005: one start plus 100 jobs.

Set the maximum-jobs input to place a predictable upper bound on job-event charges.

A naturally empty search incurs the start event but produces no job events.

Build recurring recruiting feeds

Use Apify schedules to run a stable input daily or weekly.

Store jobId, isExpired, and scrapedAt in your destination.

Compare each new dataset with your prior snapshot to identify additions or removals.

The Actor itself does not maintain cross-run history or send alerts.

Use Apify integrations, webhooks, or your own database for that layer.

Export to spreadsheets and data pipelines

Apify datasets can be downloaded as JSON, CSV, Excel, XML, or RSS.

Common workflows include:

  • send a scheduled dataset to Google Sheets;
  • load rows into BigQuery, Snowflake, or PostgreSQL;
  • trigger an automation from a run-finished webhook;
  • enrich company domains in a downstream process;
  • join snapshots by jobId for labor-market analysis.

Preserve sourceUrl or applyUrl when publishing or reviewing results.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/hiringcafe-jobs').call({
searchQueries: ['AI engineer'],
maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

from apify_client import ApifyClient
client = ApifyClient("MY-APIFY-TOKEN")
run = client.actor("automation-lab/hiringcafe-jobs").call(run_input={
"searchQueries": ["data scientist"],
"maxItems": 25,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~hiringcafe-jobs/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["product manager"],"maxItems":25}'

Fetch the resulting default dataset after the run succeeds.

Do not commit API tokens into code or input files.

Use HiringCafe Jobs Scraper with MCP

Add this Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/hiringcafe-jobs"

Claude Desktop, Cursor, and VS Code MCP setup

Claude Desktop, Cursor, and VS Code can use this HTTP MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/hiringcafe-jobs"
}
}
}

Example prompts for MCP usage

After connecting the MCP server, ask your MCP client:

  • “Use the HiringCafe Jobs Scraper MCP tool to find 20 remote software engineer jobs and show company, location, and salary.”
  • “Use MCP to export Amazon-related HiringCafe jobs with stable IDs and apply URLs.”
  • “Use the MCP tool to create a table of AI engineer jobs that show transparent compensation.”

Reliability and pagination

The Actor first resolves HiringCafe's current Next.js build identifier.

It then requests structured search pages in sequence.

A changed build identifier is refreshed once after a 404.

Transient network, 403, 429, and server responses receive bounded retries.

The Actor validates status, challenge shape, JSON, and expected result fields.

Unexpected challenge or payload changes fail the run instead of returning misleading empty data.

Limits and data freshness

Results reflect HiringCafe's public search data at run time.

The Actor does not log in or access saved-user data.

A search may return fewer rows than maxItems because of source availability or deduplication.

HiringCafe controls enrichment, publication dates, salary normalization, and expiration flags.

Some fields can be inferred by HiringCafe rather than supplied directly by an employer.

Search-result context is not guaranteed to include the full original job description.

The maximum output is 1,000 jobs per run.

Troubleshooting

Why did my search return no jobs?

Try the same query on HiringCafe and verify that public results currently exist.

Use a broader role name or a filtered HiringCafe URL.

An empty valid search succeeds with zero job rows.

Why are salary fields null?

Many employers do not publish compensation.

The Actor returns salary only when HiringCafe exposes normalized compensation data.

Why did the run fail instead of returning zero rows?

The Actor detected an upstream challenge, HTTP failure, invalid JSON, or unexpected response shape.

Inspect the run log and retry later rather than treating that failure as a valid empty feed.

Why was a start URL rejected?

Only public HiringCafe URLs containing searchState or q are accepted.

This prevents accidental requests to unrelated domains or non-search pages.

Responsible use and legality

This Actor extracts public job-search information.

You are responsible for complying with applicable laws, source terms, and employer-site requirements.

Use reasonable schedules and result limits.

Retain source attribution when appropriate.

Do not use the output for spam, unlawful discrimination, or intrusive profiling.

Avoid republishing copyrighted job text beyond what your use permits.

Combine this Actor with related public recruiting data sources when that improves coverage:

Each source has different fields and coverage.

Use stable IDs and source URLs when combining feeds.

FAQ

Can I search multiple terms in one run?

Yes. Add multiple strings to searchQueries.

The Actor deduplicates matching jobs by job ID.

Can I reuse filters from HiringCafe?

Yes. Add the public HiringCafe URL to startUrls.

The Actor preserves its encoded searchState object.

Does the Actor need residential proxies?

No automatic proxy or browser fallback is enabled.

The current public structured route works through direct HTTP and avoids unnecessary proxy transfer.

Does it include full descriptions?

It returns description context available in search results, usually a requirements summary.

Enable includeDescriptionHtml to retain HTML only when HiringCafe exposes it.

Can I export CSV or Excel?

Yes. Use the default dataset export options in Apify Console or API.

Can I schedule the Actor?

Yes. Save a Task with stable input and attach an Apify schedule.

Does it compare runs automatically?

No. Store snapshots in your destination and compare them by jobId.

Are duplicate jobs charged twice?

Not within one run. A stable job ID is saved and charged only once per run.