ParseForge Scrapers

Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs

parseforge/hiring-cafe-scraper

JobsLead generationAutomation

Search Hiring.Cafe by keyword, location, remote, seniority, salary and date. Get title, company, salary, skills, description and apply link for each job. Export to CSV, Excel, JSON or XML.

Run this scraper See the API call
Total runs
7
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs return?

ParseForge Banner

โ˜• Hiring.Cafe Jobs Scraper

๐Ÿš€ Export Hiring.Cafe's 2.8 million company-site jobs in seconds. 89 fields per job: title, company, location with coordinates, salary range, skills, seniority, remote or hybrid, full description and the apply link, straight to CSV, JSON, Excel or XML.

The Hiring.Cafe Jobs Scraper reads Hiring.Cafe, an aggregator that collects jobs straight from employers' own applicant tracking systems (Greenhouse, Lever, Workday, Ashby, iCIMS, SmartRecruiters and about 45 more) and enriches each one with an AI reading of the posting. Search by keyword and place, or paste any Hiring.Cafe search from your browser, and the Actor returns one clean row per job.

Every row follows the ParseForge jobs-1 schema, the same field names as our Career Site, Indeed, Glassdoor and SEEK job actors, so results from several sources line up in one table. A uid field is the dedupe key across those actors. In a test run of 1,000 jobs, 1,000 were unique, they came from 51 different applicant tracking systems in 52 countries, 41% stated a salary and 95% carried map coordinates.

๐ŸŽฏ Target Audience ๐Ÿ’ก Primary Use Cases
Recruiters and sourcers Watch new openings by title, seniority and place
Job boards and career sites Fill a board with fresh, direct-from-employer postings
Salary and market analysts Track pay ranges, skills and demand by role and city
Sales and lead generation teams Find companies that are hiring, with size, funding and website

๐Ÿ“‹ What the Hiring.Cafe Jobs Scraper does

  • ๐Ÿ”Ž Searches by keyword (one search per line) and by place: city with a radius, state, country, continent or ZIP code.
  • ๐ŸŽš๏ธ Filters like the website: remote, hybrid or on-site; full time, contract, internship; seniority; people manager or individual contributor; salary range and currency; years of experience; date window; security clearance.
  • ๐Ÿข Filters the employer: include or exclude companies and industries, company type, headquarters country, company profile keywords.
  • ๐Ÿ”— Reads Hiring.Cafe links: paste a search page with its filters and get exactly that search.
  • ๐Ÿ“ Returns the full description as HTML and as plain text, plus the tools and technologies the posting names.
  • ๐Ÿง  Adds Hiring.Cafe's AI reading: normalized title, years of experience, requirements summary, visa sponsorship, languages, travel, shifts and benefits.
  • ๐Ÿญ Adds the employer profile: industry, size, founding year, funding, stock ticker and website domain.
  • ๐Ÿงฌ Chains with our other job actors: atsBoardUrl is a valid input for the Career Site Jobs Scraper.

๐Ÿ’ก Why it matters: the same opening is listed on several sites with different dates and salaries. Hiring.Cafe reads the employer's own system, so the row points at the source of truth and carries the apply link the candidate would use.

๐ŸŽฌ Full Demo (๐Ÿšง Coming soon)

๐Ÿ“Š Output

Field Description
๐Ÿงฌ schemaVersion / ๐Ÿ†” uid Always jobs-1, and a unique id across the jobs actors (ats:company:jobId)
๐Ÿ”‘ jobId / hiringCafeId The applicant tracking system's own job id, and Hiring.Cafe's
๐Ÿ“Œ title / ๐Ÿข company / ๐ŸŒ companyDomain Job title, employer, and the bare domain of its website
๐Ÿ”— jobUrl / ๐Ÿ“จ applyUrl Posting on Hiring.Cafe, and where to apply on the employer's system
โš™๏ธ ats / ๐Ÿ”— atsBoardUrl The applicant tracking system, and the employer's board on it when known
๐Ÿ“ location / ๐Ÿ™ city / ๐Ÿ—บ region / ๐Ÿณ๏ธ country / countryCode Where the job is
๐Ÿงญ latitude / longitude Map position of the first location
๐Ÿ  isRemote / ๐Ÿ›‹ workArrangement / workplaceType Remote, hybrid or on-site
โฑ employmentType / employmentTypes Full-time, part-time, contract, internship and so on
๐Ÿ“ˆ seniorityLevel / ๐ŸŽ“ educationLevel / โŒ› yearsExperienceMin Level and requirements
๐Ÿ“… datePosted Estimated publish date, ISO 8601
๐Ÿ’ฐ hasSalary / salaryText / salaryMin / salaryMax / salaryCurrency / salaryInterval The salary the posting states
๐Ÿ“Š salaryYearlyMin / salaryYearlyMax The same range converted to a year
๐Ÿ“ descriptionText / descriptionHtml / descriptionSnippet Full description, plain, HTML and the first 300 characters
๐Ÿ›  skills / skillCount Tools and technologies named in the posting
๐ŸŽฏ coreJobTitle / ๐Ÿ‘ค roleType / ๐Ÿงฐ roleActivities / ๐Ÿ“‹ requirementsSummary Hiring.Cafe's reading of the role
๐Ÿ›‚ visaSponsorship / ๐Ÿ—ฃ languageRequirements / ๐Ÿ›ก securityClearance Eligibility details
๐ŸŽ benefits / โœˆ๏ธ airTravel / ๐Ÿšš landTravel / โฐ overtimeRequired Perks and working conditions
๐Ÿญ companyIndustry / ๐Ÿ‘ฅ companyEmployeeCount / ๐Ÿ› companyFoundedYear Employer profile
๐Ÿ’ต companyFundingType / companyFundingAmount / ๐Ÿฆ companyInvestors / ๐Ÿ“ˆ companyStockSymbol Funding and listing
๐Ÿ” alternateApplyUrls / additionalLocations The same job posted elsewhere, and its other locations

Fields the source does not have read Not Disclosed, so every column is always present. The sample records below come from a real run; long text is shortened here.

[
  {
    "schemaVersion": "jobs-1",
    "uid": "greenhouse:cityoffortworth:8004457003",
    "jobId": "8004457003",
    "title": "Graduate Engineer | Engineer-in-Training | Professional Engineer",
    "company": "The City of Fort Worth",
    "companyId": "cityoffortworth",
    "companyUrl": "https://boards.greenhouse.io/cityoffortworth",
    "companyWebsite": "https://fortworthtexas.gov",
    "companyDomain": "fortworthtexas.gov",
    "jobUrl": "https://hiringcafe.com/viewjob/grnhse___cityoffortworth___8004457003",
    "applyUrl": "https://boards.greenhouse.io/cityoffortworth/jobs/8004457003?gh_jid=8004457003",
    "status": "active",
    "source": "hiringcafe",
    "sourceType": "aggregator",
    "ats": "greenhouse",
    "atsBoardUrl": "https://boards.greenhouse.io/cityoffortworth",
    "location": "Fort Worth, Texas, United States",
    "city": "Fort Worth",
    "region": "Texas",
    "country": "United States",
    "countryCode": "US",
    "latitude": 32.7555,
    "longitude": -97.3308,
    "additionalLocations": [],
    "multipleLocations": "No",
    "isRemote": "No",
    "workArrangement": "Hybrid",
    "workplaceType": "Hybrid",
    "employmentType": "Full-time",
    "employmentTypes": [
      "Full Time"
    ],
    "department": "Engineering",
    "seniorityLevel": "No Prior Experience Required",
    "educationLevel": "Bachelor's",
    "datePosted": "2026-09-24T17:20:30.000Z",
    "hasSalary": "Yes",
    "salaryText": "USD 59,984 - 101,824 per year",
    "salaryMin": 59984,
    "salaryMax": 101824,
    "salaryCurrency": "USD",
    "salaryInterval": "year",
    "salarySource": "board-structured",
    "salaryYearlyMin": 59984,
    "salaryYearlyMax": 101824,
    "descriptionText": "Pay Range: Graduate Engineer: $59,984 โ€“ $77,979 | Engineer-in-Training: $65,563 โ€“ $85,232 | Professional Engineer: $78,326 โ€“ $ 101,824 annua...",
    "descriptionHtml": "<p><strong>Pay Range: </strong>Graduate Engineer: $59,984 โ€“ $77,979 | Engineer-in-Training: $65,563 โ€“ $85,232 | Professional Engineer: $78,3...",
    "descriptionSnippet": "Pay Range: Graduate Engineer: $59,984 โ€“ $77,979 | Engineer-in-Training: $65,563 โ€“ $85,232 | Professional Engineer: $78,326 โ€“ $ 101,824 annua...",
    "descriptionLength": 6454,
    "skills": [
      "AutoCAD",
      "Accela",
      "GIS"
    ],
    "skillCount": 3,
    "coreJobTitle": "Engineer",
    "roleType": "Individual Contributor",
    "roleActivities": [
      "reviewing infrastructure plans",
      "preparing cost estimates",
      "coordinating project lifecycle"
    ],
    "requirementsSummary": "Bachelor's degree in civil engineering or related engineering discipline; valid driver's license; for EIT: Texas EIT registration; for PE: 4 years civil engineering experience and Texas PE registration; some evening/weekend work required.",
    "yearsExperienceMin": "Not Disclosed",
    "managementYearsMin": "Not Disclosed",
    "languageRequirements": [
      "English"
    ],
    "licensesOrCertifications": [
      "engineer-in-training",
      "professional engineer"
    ],
    "securityClearance": "None",
    "visaSponsorship": "No",
    "driverLicenseRequired": "Yes",
    "airTravel": "None",
    "landTravel": "None",
    "overtimeRequired": "No",
    "weekendWorkRequired": "Yes",
    "holidayWorkRequired": "No",
    "onCall": "None",
    "physicalEnvironment": "Office",
    "physicalLaborIntensity": "Low",
    "isStaffingAgencyPosting": "No",
    "benefits": [
      "retirementPlan",
      "generousPaidTimeOff",
      "fairChanceHiring"
    ],
    "companyIndustry": "Government Agencies and Departments",
    "companyIndustries": [
      "Federal Government",
      "State & Local Government",
      "Water & Wastewater Utilities",
      "Public Transit"
    ],
    "companyActivities": [
      "municipal code enforcement",
      "public safety and police services",
      "fire protection and emergency services",
      "public library operations",
      "municipal utility water services",
      "airport and aviation facility management",
      "park and recreation facility maintenance",
      "public event and arena management"
    ],
    "companyTagline": "Municipal government serving Fort Worth residents through public safety, utilities, infrastructure, libraries, parks and other city services.",
    "companyEmployeeCount": 8075,
    "companyFoundedYear": 1873,
    "companyHeadquarters": "US",
    "companyType": "Government",
    "companyFundingType": "Not Disclosed",
    "companyFundingAmount": "Not Disclosed",
    "companyFundingYear": "Not Disclosed",
    "companyInvestors": [],
    "companyStockSymbol": "Not Disclosed",
    "companyParent": "Not Disclosed",
    "hiringCafeId": "grnhse___cityoffortworth___8004457003",
    "hiringCafeRequisitionKey": "1q5sc8tmzelcggmg",
    "alternateApplyUrls": [],
    "scrapedAt": "2026-09-29T14:01:40.825Z",
    "error": null
  },
  {
    "schemaVersion": "jobs-1",
    "uid": "icims:mammoet:7446",
    "jobId": "7446",
    "title": "Engineer",
    "company": "Mammoet",
    "companyId": "mammoet",
    "companyUrl": "Not Disclosed",
    "companyWebsite": "https://mammoet.com",
    "companyDomain": "mammoet.com",
    "jobUrl": "https://hiringcafe.com/viewjob/icims2___mammoet___7446",
    "applyUrl": "https://jobs.mammoet.com/jobs/7446",
    "status": "active",
    "source": "hiringcafe",
    "sourceType": "aggregator",
    "ats": "icims",
    "atsBoardUrl": "Not Disclosed",
    "location": "Stockton on Tees, /, United Kingdom",
    "city": "Stockton on Tees",
    "region": "/",
    "country": "United Kingdom",
    "countryCode": "GB",
    "latitude": 54.5223373,
    "longitude": -1.2867718,
    "additionalLocations": [],
    "multipleLocations": "No",
    "isRemote": "No",
    "workArrangement": "On-site",
    "workplaceType": "Onsite",
    "employmentType": "Full-time",
    "employmentTypes": [
      "Full Time",
      "Temporary"
    ],
    "department": "Engineering",
    "seniorityLevel": "Mid Level",
    "educationLevel": "Master's",
    "datePosted": "2026-07-07T08:52:36.000Z",
    "hasSalary": "Yes",
    "salaryText": "GBP 34,811 - 50,259 per year",
    "salaryMin": 34811,
    "salaryMax": 50259,
    "salaryCurrency": "GBP",
    "salaryInterval": "year",
    "salarySource": "board-structured",
    "salaryYearlyMin": 34811,
    "salaryYearlyMax": 50259,
    "descriptionText": "SUMMARY OF THE ROLE Engineer for heavylift and transport projects Salary ยฃ34,811 - ยฃ50,259, depending on experience with fantastic benefits ...",
    "descriptionHtml": "SUMMARY OF THE ROLE Engineer for heavylift and transport projects Salary ยฃ34,811 - ยฃ50,259, depending on experience with fantastic benefits ...",
    "descriptionSnippet": "SUMMARY OF THE ROLE Engineer for heavylift and transport projects Salary ยฃ34,811 - ยฃ50,259, depending on experience with fantastic benefits ...",
    "descriptionLength": 2856,
    "skills": [
      "CAD",
      "Microsoft Office"
    ],
    "skillCount": 2,
    "coreJobTitle": "Engineer",
    "roleType": "Individual Contributor",
    "roleActivities": [
      "developing solutions",
      "validating equipment",
      "documenting methods"
    ],
    "requirementsSummary": "Bachelor's or master's in Mechanical/Civil engineering, demonstrable experience in similar role, CAD and Microsoft Office skills, fluent English, full UK driving licence; Appointed Person desirable.",
    "yearsExperienceMin": "Not Disclosed",
    "managementYearsMin": "Not Disclosed",
    "languageRequirements": [
      "English"
    ],
    "licensesOrCertifications": [
      "appointed person"
    ],
    "securityClearance": "None",
    "visaSponsorship": "No",
    "driverLicenseRequired": "Yes",
    "airTravel": "None",
    "landTravel": "Moderate",
    "overtimeRequired": "Yes",
    "weekendWorkRequired": "No",
    "holidayWorkRequired": "No",
    "onCall": "None",
    "physicalEnvironment": "Industrial",
    "physicalLaborIntensity": "Medium",
    "isStaffingAgencyPosting": "No",
    "benefits": [
      "retirementPlan",
      "generousParentalLeave",
      "tuitionReimbursement"
    ],
    "companyIndustry": "Transportation and Logistics",
    "companyIndustries": [
      "Industrial Services",
      "Logistics & Transportation"
    ],
    "companyActivities": [
      "Heavy lifting services",
      "Heavy transport logistics",
      "Industrial project engineering",
      "Plant turnaround management",
      "Crane equipment rental"
    ],
    "companyTagline": "Provides heavy lifting and transport solutions for industrial projects.",
    "companyEmployeeCount": 6500,
    "companyFoundedYear": 1807,
    "companyHeadquarters": "NL",
    "companyType": "Private",
    "companyFundingType": "Not Disclosed",
    "companyFundingAmount": "Not Disclosed",
    "companyFundingYear": "Not Disclosed",
    "companyInvestors": [],
    "companyStockSymbol": "Not Disclosed",
    "companyParent": "SHV Holdings N.V.",
    "hiringCafeId": "icims2___mammoet___7446",
    "hiringCafeRequisitionKey": "u1med540s5fvzi5k",
    "alternateApplyUrls": [],
    "scrapedAt": "2026-09-29T14:01:36.888Z",
    "error": null
  },
  {
    "schemaVersion": "jobs-1",
    "uid": "adp:142473b8-c29d-406a-8a8b-4923251dd305:595806",
    "jobId": "595806",
    "title": "Backend Developer",
    "company": "Kintera",
    "companyId": "142473b8-c29d-406a-8a8b-4923251dd305",
    "companyUrl": "Not Disclosed",
    "companyWebsite": "https://kintera.ca",
    "companyDomain": "kintera.ca",
    "jobUrl": "https://hiringcafe.com/viewjob/adp___142473b8-c29d-406a-8a8b-4923251dd305___595806",
    "applyUrl": "https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=142473b8-c29d-406a-8a8b-4923251dd305&ccId=19000101_000001&jobId=595806&lang=en_CA",
    "status": "active",
    "source": "hiringcafe",
    "sourceType": "aggregator",
    "ats": "adp",
    "atsBoardUrl": "Not Disclosed",
    "location": "North Vancouver, British Columbia, Canada",
    "city": "North Vancouver",
    "region": "British Columbia",
    "country": "Canada",
    "countryCode": "CA",
    "latitude": 49.3193,
    "longitude": -123.073,
    "additionalLocations": [],
    "multipleLocations": "No",
    "isRemote": "Yes",
    "workArrangement": "Remote",
    "workplaceType": "Remote",
    "employmentType": "Full-time",
    "employmentTypes": [
      "Full Time"
    ],
    "department": "Software Development",
    "seniorityLevel": "Mid Level",
    "educationLevel": "Not Disclosed",
    "datePosted": "2026-06-30T18:13:00.000Z",
    "hasSalary": "Yes",
    "salaryText": "CAD 44 - 50 per hour",
    "salaryMin": 44,
    "salaryMax": 50,
    "salaryCurrency": "CAD",
    "salaryInterval": "hour",
    "salarySource": "board-structured",
    "salaryYearlyMin": 91520,
    "salaryYearlyMax": 104000,
    "descriptionText": "Kintera, formerly known as DWB/Chartwell, is a multi-disciplinary consulting firm specializing in services and solutions for the resource se...",
    "descriptionHtml": "<div><div><div><div><p data-pasted=\"true\" style=\"box-sizing: border-box; --tw-shadow: 0 0 #0000; --tw-ring-inset: ; --tw-ring-offset-width: ...",
    "descriptionSnippet": "Kintera, formerly known as DWB/Chartwell, is a multi-disciplinary consulting firm specializing in services and solutions for the resource se...",
    "descriptionLength": 3853,
    "skills": [
      "PostgreSQL",
      "Python",
      "Django",
      "HTMX",
      "AWS",
      "HTML",
      "CSS",
      "JavaScript"
    ],
    "skillCount": 8,
    "coreJobTitle": "Backend Developer",
    "roleType": "Individual Contributor",
    "roleActivities": [
      "developing applications",
      "writing code",
      "designing APIs"
    ],
    "requirementsSummary": "3+ years Django backend experience, strong SQL/PostgreSQL skills, Python proficiency, web standards knowledge, self-directed with strong communication; legally authorized to work in Canada.",
    "yearsExperienceMin": 3,
    "managementYearsMin": "Not Disclosed",
    "languageRequirements": [
      "English"
    ],
    "licensesOrCertifications": [],
    "securityClearance": "None",
    "visaSponsorship": "No",
    "driverLicenseRequired": "No",
    "airTravel": "None",
    "landTravel": "None",
    "overtimeRequired": "No",
    "weekendWorkRequired": "No",
    "holidayWorkRequired": "No",
    "onCall": "None",
    "physicalEnvironment": "Office",
    "physicalLaborIntensity": "Low",
    "isStaffingAgencyPosting": "No",
    "benefits": [
      "retirementPlan"
    ],
    "companyIndustry": "Consulting Services",
    "companyIndustries": [
      "Environmental Consulting",
      "Natural Resource Management"
    ],
    "companyActivities": [
      "Environmental assessment",
      "Forestry management",
      "Engineering design",
      "GIS and mapping",
      "Regulatory permitting"
    ],
    "companyTagline": "Multi-disciplinary natural resource consulting firm based in British Columbia.",
    "companyEmployeeCount": 300,
    "companyFoundedYear": 2025,
    "companyHeadquarters": "CA",
    "companyType": "Private",
    "companyFundingType": "Not Disclosed",
    "companyFundingAmount": "Not Disclosed",
    "companyFundingYear": "Not Disclosed",
    "companyInvestors": [],
    "companyStockSymbol": "Not Disclosed",
    "companyParent": "Not Disclosed",
    "hiringCafeId": "adp___142473b8-c29d-406a-8a8b-4923251dd305___595806",
    "hiringCafeRequisitionKey": "pkdagugnduz8adjy",
    "alternateApplyUrls": [],
    "scrapedAt": "2026-09-29T14:03:59.113Z",
    "error": null
  }
]

โœจ Why choose this Actor

  • Filters run on Hiring.Cafe itself. The log prints how many jobs match on the site, so your totals agree with what you see in the browser.
  • One row per job, no duplicates. Rows are deduplicated on the job id across every search in the run, and jobs the site marks as expired are left out.
  • The jobs-1 schema. Same field names as the other ParseForge job actors, plus a uid to dedupe across them and an atsBoardUrl you can feed to the Career Site Jobs Scraper.
  • Complete descriptions. HTML and plain text for each job, fetched per job, with a second pass for any that were rate limited.
  • Real numbers. Salaries, coordinates, employee counts and years of experience are numbers, ready to sort. A salary is only reported when the posting states one.
  • Honest about failure. If Hiring.Cafe cannot be read, the run fails with a clear message and nothing is charged. A search nobody matches ends cleanly with no rows.

๐Ÿ“ˆ How it compares to alternatives

This Actor Copying from hiring.cafe by hand Basic job scrapers
Needs a login No No Varies
Fields per job 89 What you can copy Often 15 to 30
Full description (HTML and text) Yes Yes Some
Employer profile (size, funding, ticker) Yes Partly Rarely
Schema shared with other job actors Yes (jobs-1) No No
Several keywords and places in one run Yes No Some
Reads a pasted Hiring.Cafe search link Yes n/a Some

Hiring.Cafe serves at most 250 result pages for any one search, which is about 30,000 jobs. The Actor tells you when a search reaches that limit. To go beyond it, split the search by place, by company or by date window. A job that Hiring.Cafe lists in several places is delivered once, with the extra places in additionalLocations and the extra apply links in alternateApplyUrls.

๐Ÿš€ How to use

  1. Create a free Apify account with $5 credit: sign up here.
  2. Open the Hiring.Cafe Jobs Scraper and type one or more keywords, or paste a Hiring.Cafe search link.
  3. Add a place, and any filters: remote, seniority, salary, date window, companies.
  4. Click Start and download CSV, Excel, JSON or XML from the dataset.

Example run settings:

{ "searchQueries": ["data engineer"], "locations": ["Berlin, Germany", "Texas"], "workplaceTypes": ["Remote", "Hybrid"], "minSalary": 80000, "salaryCurrency": "EUR", "postedWithinDays": 14, "maxItems": 500 }

๐Ÿ’ผ Business use cases

Recruiting and sourcing

Pull every senior data role opened in the last two weeks in three cities, with the apply link and the employer's size, and send the list to your team each Monday.

Salary benchmarking

Collect jobs that state a salary for one title across a country and compare ranges by seniority, city and company size, with the range also converted to a yearly figure.

Hiring-signal lead lists

Find companies that are hiring for a role you sell into, with their website domain, industry, headcount and funding stage, and hand them to sales.

Job board content

Fill a niche board with fresh postings taken from employers' own systems, deduplicated, each with an apply link.

๐Ÿ”Œ Automating Hiring.Cafe Jobs Scraper

  • Make and Zapier: start a run on a schedule and push new rows to a sheet, an ATS or a CRM.
  • Slack: post new openings that match your filters as they appear.
  • Airbyte: load every run into your warehouse.
  • GitHub Actions: trigger runs from your pipelines.
  • Google Drive: export each dataset as a spreadsheet automatically.

๐ŸŒŸ Beyond business use cases

  • Research: study skill demand, remote work and pay transparency across countries.
  • Personal: watch the roles you want and apply before the crowd.
  • Non-profit: track hiring in the sectors and regions you serve.
  • Experimentation: build datasets for job matching, salary prediction or skills extraction models.

๐Ÿค– Ask an AI assistant about this scraper

Paste this into ChatGPT, Claude or any assistant to plan your run:

I am using the Hiring.Cafe Jobs Scraper on Apify. It searches Hiring.Cafe by keyword and place, or reads a Hiring.Cafe search link, and returns 89 fields per job in the jobs-1 schema, including title, company, location, latitude, longitude, workArrangement, employmentType, seniorityLevel, salaryMin, salaryMax, salaryCurrency, salaryInterval, skills, descriptionText, applyUrl and company profile fields. Help me design a weekly run that collects remote senior data engineering jobs with a stated salary in Germany and the UK.

โ“ Frequently Asked Questions

๐Ÿ” How do I search a city or a country?

Type it in Locations. Use "City, Country" (Berlin, Germany), a state (Texas), a country (United States or US), a continent (Europe) or a ZIP code (94107). The log shows which place each entry was matched to. A bare city name such as Berlin is matched to the largest place with that exact name.

๐ŸŒ What if I leave Locations empty?

The search covers the whole world.

๐Ÿ“ฆ How many jobs can one run collect?

Up to about 30,000 per search, because Hiring.Cafe serves 250 result pages of about 120 jobs. Add more searches, places or date windows to go further. Free accounts are limited to 10 items per run.

๐Ÿ’ฐ How does the salary filter work?

Minimum salary keeps jobs whose salary range reaches at least that amount. Maximum salary keeps jobs whose range starts at or below it. Both need the job to state a salary, and both use the interval and currency you choose. The default interval is per year.

๐Ÿ“… How does the date window work?

Posted within counts back from today. Posted from and Posted until take exact dates, and they reach back beyond the website's default window of 3 months.

๐Ÿ”— Can I paste a Hiring.Cafe link?

Yes. Open a search on hiring.cafe, set your filters, copy the address and paste it under Hiring.Cafe search URLs. The address must contain searchState. Single job pages are not supported.

๐Ÿงฌ What is the uid?

A unique id built as ats:company:jobId. For Greenhouse, Lever and Ashby jobs it is identical to the uid the Career Site Jobs Scraper gives the same job, so you can merge results from both without duplicates.

๐Ÿงพ Where does the salary come from?

From the posting as Hiring.Cafe reads it. A row says hasSalary: Yes only when the posting states a salary; otherwise the salary fields read Not Disclosed. Nothing is estimated.

โš ๏ธ Why do a few results not match a filter?

Hiring.Cafe groups a company's jobs and applies a filter to the group, so a small share of rows can sit next to matching ones (in our checks, about 5 to 15% for the employment type filter). Its own website shows the same rows.

โฑ๏ธ How fast is it?

1,000 jobs with full descriptions took about 5 minutes in the latest test. With descriptions off it is faster.

๐Ÿ›ก๏ธ Do I need a proxy?

Keep the default. Hiring.Cafe sits behind Cloudflare, which blocks datacenter addresses in bursts, so the Actor uses the Apify residential proxy, which is billed to your Apify account by traffic. In our tests 1,000 jobs used about 4 MB of residential traffic.

๐Ÿ”’ Does it log in or solve captchas?

No. It reads only what Hiring.Cafe shows every logged-out visitor.

๐Ÿค– What about robots.txt?

Hiring.Cafe's robots.txt asks automated tools not to open search results with a searchState or page parameter, and job pages under /viewjob/. The Actor needs those to filter and to page, like every Hiring.Cafe scraper on the Store. It keeps its request rate modest, does not log in and collects only public listing data. Use the data in line with Hiring.Cafe's terms and the laws that apply to you.

๐Ÿ”Œ Integrate with any app

Every run's dataset is available through the Apify API in JSON, CSV, Excel and XML, so it drops into whatever you already use: a warehouse, a BI tool, a spreadsheet, a notebook or a webhook into your own service. Apify's client libraries for JavaScript and Python make triggering a run and reading the results a few lines of code.

๐Ÿ”— Recommended Actors

๐Ÿ’ก Pro Tip: browse the complete ParseForge collection for more jobs and company Actors.

๐Ÿ†˜ Need Help? Open our contact form

โš ๏ธ Disclaimer: This is an independent tool and is not affiliated with, endorsed by, or sponsored by Hiring.Cafe. Hiring.Cafe is a trademark of its respective owner. The Actor collects only publicly available job data shown to logged-out visitors and does not access any account.

What input does the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs accept?

FieldTypeWhat it doesDefault
searchQueries array Job titles or keywords, one search per line (for example data engineer or registered nurse). Leave empty to browse every job that matches the filters below. ["software engineer"]
startUrls array Optional. Paste a hiring.cafe search page (the address contains ?searchState=...) and the Actor reads exactly that search, filters included. Single job pages are not supported. not set
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
maxItemsPerSearch integer Optional cap for each keyword or URL, so one broad search cannot use the whole Max Items budget. Empty means no per-search cap. not set
locations array Where the job is. Use City, Country (Berlin, Germany), a state (Texas), a country (United States), a continent (Europe) or a ZIP code (94107). A two-letter country code such as US also works. Empty searches the whole world. ["United States"]
radiusMiles integer For a city or ZIP code: how far around it to look. The website default is 50. 50
exactLocationOnly boolean For a city or ZIP code: only jobs in that exact place, ignoring the radius. false
includeRemoteFromWiderRegions boolean Like the website: a search for a state, country or continent also returns remote jobs that accept candidates from anywhere inside a wider region (for example a remote job open to all of North America when you search Texas). true
workplaceTypes array Only these kinds of workplace. not set
commitmentTypes array Only these kinds of commitment. not set
seniorityLevels array Only these seniority levels. not set
roleTypes array Individual contributor or people manager. not set
postedWithinDays integer Only jobs published in the last N days (counted back from today, UTC). Empty uses the website default window of 3 months. not set
postedFrom string Only jobs published on or after this date, YYYY-MM-DD. Overrides Posted within. Reaches back beyond 3 months. not set
postedTo string Only jobs published on or before this date, YYYY-MM-DD. not set
sortBy string (6 options) Order of the results. default
jobTitleQuery string Match this text in the job title only. Supports AND / OR / NOT. not set
jobDescriptionQuery string Match this text in the job description. Supports AND / OR / NOT (kubernetes AND terraform). not set
technologyKeywordsQuery string Match the tools and technologies extracted from the posting (python OR go). not set
requirementsKeywordsQuery string Match the requirements extracted from the posting (CPA, clearance). not set
minYearsExperience integer Only jobs that state a minimum experience of at least this many years. Jobs that state none are left out. not set
maxYearsExperience integer Only jobs that state a minimum experience of at most this many years. Jobs that state none are left out. not set
securityClearances array Only jobs asking for one of these clearances. not set
minSalary integer Only jobs whose salary range reaches at least this amount, in the interval and currency below. not set
maxSalary integer Only jobs whose salary range starts at or below this amount, in the interval and currency below. not set
salaryInterval string (5 options) The pay period the two amounts above are in. Yearly
salaryCurrency string Currency code of the amounts, for example USD, EUR or GBP. Empty keeps every currency. not set
onlyTransparentSalaries boolean Leave out every job that does not show a salary. false
companyNames array Company names as Hiring.Cafe writes them. Subsidiaries are included. not set
excludedCompanyNames array Leave out jobs from these companies. not set
industries array Industry names as Hiring.Cafe lists them, for example Healthcare, Software & SaaS, Banking. not set
excludedIndustries array Leave out jobs at companies in these industries. not set
companyKeywords array Only employers whose name or profile contains one of these words (bank, clinic, robotics). not set
companyHqCountries array Two-letter codes of the country where the employer is headquartered (US, DE, GB). not set
organizationTypes array Only employers of these types. not set
includeDescription boolean Fetch the full job description (HTML and plain text) for every job. Turn off for a faster run that returns the structured fields only. true
proxyConfiguration object Apify proxy settings. {"useApifyProxy":true,"apifyProxyGroups"

How much does the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs cost?

from $0.85 per 1,000 results

Charged forWhat it isPrice each
Hiring.Cafe job One job row with description, salary, skills and company profile. $0.00085 to $0.00115

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~hiring-cafe-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "searchQueries": [
      "software engineer"
    ],
    "maxItems": 10,
    "locations": [
      "United States"
    ],
    "radiusMiles": 50,
    "exactLocationOnly": false
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "searchQueries": [
    "software engineer"
  ],
  "maxItems": 10,
  "locations": [
    "United States"
  ],
  "radiusMiles": 50,
  "exactLocationOnly": false
}

What do users say about the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs?

No reviews yet. Be the first.

How do I report an issue with the Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Hiring.Cafe Jobs Scraper - Search 2.8M ATS Jobs on Apify All scrapers