Hiring.cafe Jobs Scraper & API avatar

Hiring.cafe Jobs Scraper & API

Pricing

from $3.00 / 1,000 job scrapeds

Go to Apify Store
Hiring.cafe Jobs Scraper & API

Hiring.cafe Jobs Scraper & API

Scrape detailed job listings from Hiring.cafe — titles, salaries, companies, locations, tech stacks, and 30+ fields from 2.8M+ postings across 46 ATS platforms. Filter by keyword, location, salary, seniority, and more. Export as JSON, CSV, Excel, or access via API.

Pricing

from $3.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

ParseBird

ParseBird

Maintained by Community

Actor stats

1

Bookmarked

5

Total users

2

Monthly active users

2 days ago

Last modified

Share

Hiring.cafe Jobs Scraper

Scrape detailed job listings from Hiring.cafe — an AI-powered job aggregator with 2.8M+ postings from 46 ATS platforms including Greenhouse, Lever, Workable, and SuccessFactors. Extract 30+ structured fields per job.

Search by keyword, location, salary, company, seniority, tech stack, and 20+ other filters — get clean, structured job data ready for analysis, monitoring, or integration.

Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

Apify Actor: parsebird/hiring-cafe-scraper. Scrapes job listings from Hiring.cafe. Call via ApifyClient: client.actor("parsebird/hiring-cafe-scraper").call(run_input={"searchQueries": ["software engineer"], "locations": [], "maxItems": 50, "workplaceTypes": ["Remote","Hybrid","Onsite"], "dateFetchedPastNDays": 30, "sortBy": "default"}). Returns 30+ fields per job: id, title, description, companyName, salaryMin, salaryMax, salaryCurrency, workplaceType, seniorityLevel, commitment, category, technicalTools, applyUrl, workplaceCities, workplaceCountries, source, boardToken, and more. Full API spec: https://apify.com/parsebird/hiring-cafe-scraper/api. Get your token: https://console.apify.com/settings/integrations.

What does Hiring.cafe Jobs Scraper do?

This actor scrapes job listings from Hiring.cafe, a platform that aggregates job postings from 46+ applicant tracking systems. It navigates Cloudflare protection automatically, then queries the internal search API to extract comprehensive job data.

You can filter by search keywords, geographic location, workplace type (remote/hybrid/onsite), seniority level, commitment type, salary range, company name, industry, tech stack, and more. The actor returns up to 1,000 structured job records per run with 30+ fields each.

Input parameters

ParameterTypeRequiredDefaultDescription
searchQueriesarrayNo[]Keywords to search (e.g. "software engineer", "data scientist"). Empty returns unfiltered results
locationsarrayNo[]Location filters (e.g. "San Francisco", "United States"). Empty returns worldwide
workplaceTypesarrayNoAll threeRemote, Hybrid, Onsite
seniorityLevelsarrayNoAll sixNo Prior Experience Required, Entry Level, Mid Level, Senior Level, Director, Executive
commitmentTypesarrayNoAll sevenFull Time, Part Time, Contract, Internship, Temporary, Seasonal, Volunteer
dateFetchedPastNDaysintegerNo30Only include jobs fetched within the last N days (max 365)
maxItemsintegerNo50Maximum jobs to return across all queries (max 1,000)
jobTitleQuerystringNoFilter to jobs whose title contains this phrase
jobDescriptionQuerystringNoFilter to jobs whose description contains this phrase
technologyKeywordsQuerystringNoMatch against parsed tech-stack tags (e.g. python, react)
requirementsKeywordsQuerystringNoMatch against parsed requirement bullets
companyNamesarrayNo[]Whitelist — only jobs from these companies
excludedCompanyNamesarrayNo[]Blacklist — exclude jobs from these companies
companyKeywordsarrayNo[]Substring-match the company name (whitelist)
excludedCompanyKeywordsarrayNo[]Substring-match the company name (blacklist)
industriesarrayNo[]Limit to companies in these industries
excludedIndustriesarrayNo[]Exclude companies in these industries
salaryCurrencystringNoAnyUSD, EUR, GBP, CAD, AUD, INR, JPY, CNY, MXN, BRL
salaryFrequencystringNoAnyYearly, Monthly, Weekly, Daily, Hourly
minSalaryintegerNoLower bound for compensation
maxSalaryintegerNoUpper bound for compensation
onlyTransparentSalariesbooleanNofalseDrop jobs without a published salary range
minYearsExperienceintegerNo0Minimum years of experience required
maxYearsExperienceintegerNo20Maximum years of experience required
sortBystringNodefaultdefault (relevance), newest, oldest, salary_high_to_low, salary_low_to_high

Output example

{
"id": "greenhouse___acme___4567890",
"objectID": "greenhouse_acme_4567890",
"source": "greenhouse",
"boardToken": "acme",
"applyUrl": "https://boards.greenhouse.io/acme/jobs/4567890",
"title": "Senior Software Engineer, Backend",
"description": "We are looking for a senior backend engineer to join our Platform team...",
"isExpired": false,
"coreJobTitle": "Software Engineer",
"category": "Engineering",
"seniorityLevel": "Senior Level",
"roleType": "Individual Contributor",
"commitment": "Full Time",
"workplaceType": "Remote",
"workplaceCountries": ["US"],
"workplaceStates": ["California", "New York"],
"workplaceCities": ["San Francisco", "New York"],
"latitude": 37.7749,
"longitude": -122.4194,
"salaryMin": 160000.0,
"salaryMax": 220000.0,
"salaryCurrency": "USD",
"salaryFrequency": "Yearly",
"technicalTools": ["Python", "PostgreSQL", "Kubernetes", "Django"],
"minYearsExperience": 5,
"bachelorsDegreeRequirement": "Required",
"companyName": "Acme Corp",
"companyWebsite": "https://acme.example.com",
"companyIndustries": ["Software", "SaaS"],
"companyEmployees": "1001-5000",
"companyHqCountry": "US",
"scrapedAt": "2026-05-14T11:05:00+00:00"
}

Use cases

  • Job market research — Analyze hiring trends, salary ranges, and demand for specific skills across industries and geographies.
  • Competitive intelligence — Monitor competitor hiring patterns, open headcount, and the technologies they use.
  • Talent acquisition — Build automated pipelines that surface new job openings matching your criteria in real time.
  • Salary benchmarking — Collect compensation data across roles, locations, and seniority levels for negotiation or budgeting.
  • Tech stack analysis — Identify the most in-demand technologies by parsing tech-stack tags from thousands of listings.
  • Academic research — Create datasets for labor economics, workforce mobility studies, or skills-gap analysis.

How it works

  1. Cloudflare bypass — Launches a stealth Chromium browser (Patchright) on a residential US proxy. Navigates to hiring.cafe and waits for the Cloudflare Managed Challenge to self-solve (typically 8–20 seconds). If the first attempt times out, it rotates the proxy session and retries up to 6 times.
  2. API query — Once the browser has a valid session, the actor constructs a search payload from your input filters and calls Hiring.cafe's internal search API directly from the browser context, reusing the Cloudflare cookies.
  3. Pagination — The API returns up to 1,000 jobs per page. The actor walks pages until maxItems is reached or results are exhausted.
  4. Data transformation — Raw API responses are mapped to a clean 30+ field schema. HTML is stripped from descriptions and truncated to 2,000 characters.
  5. Output — Results are pushed to the Apify dataset for download in JSON, CSV, Excel, or via API.

Pricing

EventPrice per eventPrice per 1,000
job-scraped$0.003$3.00

Each job listing pushed to the dataset counts as one event. A run fetching 200 jobs costs $0.60 in actor charges plus Apify platform costs.

FAQ

How fresh is the data? The dateFetchedPastNDays parameter controls freshness. The default is 30 days. Set to 7 for last-week postings, or 1 for last-24-hours monitoring.

Why are some salaryMin / salaryMax values zero? Fewer than half of listings on Hiring.cafe disclose salary. When salary is not published, both fields default to 0.0.

Can I search by company? Yes — use companyNames for exact-match whitelist, excludedCompanyNames for blacklist, or companyKeywords / excludedCompanyKeywords for substring matching. You can also put the company name in searchQueries, which matches against title, description, and company name.

What is the difference between seniorityLevel and minYearsExperience? seniorityLevel is the categorical tag (Mid Level, Senior Level, etc.) assigned by Hiring.cafe's classifier. minYearsExperience is the numeric minimum years of experience extracted from the job description.

Are expired jobs included? No — Hiring.cafe only returns active listings. The isExpired field is preserved in the output for consistency but will always be false.

How many jobs can I get per run? Up to 1,000 jobs per run (set via maxItems). The API returns approximately 1,000 jobs per page, so most queries complete in 1–2 API calls.

How does pagination work? The internal API returns up to 1,000 jobs per page. The actor increments the page number until maxItems is reached or results run out.

Does this actor work without a proxy? On the Apify platform, a residential US proxy is applied automatically. For local testing, the actor runs without a proxy — Cloudflare may or may not block depending on your IP.

This actor accesses only publicly available data from Hiring.cafe. It does not bypass login walls, access private accounts, or collect personal user data. The data collected consists of job postings that companies have intentionally made public for recruitment purposes. Users are responsible for ensuring their use of scraped data complies with applicable laws and Hiring.cafe's Terms of Service.