OrbTop

Hiring Cafe Jobs Scraper

JOBSAUTOMATION

Hiring Cafe Jobs Scraper

Scrape global job postings from Hiring Cafe — an AI-powered job search engine aggregating listings from Ashby, Greenhouse, Lever, and 100+ other boards. Returns job title, company details, salary, location, remote policy, visa sponsorship, seniority level, and more for thousands of live listings worldwide.

Hiring Cafe Scraper Features

  • Extracts 30+ structured fields per job posting — title, salary, location, remote policy, seniority, and more
  • Returns AI-normalised job titles alongside the raw listing title (useful when "Principal SWE III" means "Senior Engineer")
  • Collects company metadata — employee count, industries, funding stage, HQ country, and website
  • Captures salary data when disclosed — min/max range, currency, and original frequency (hourly, yearly)
  • Flags visa sponsorship availability per posting, which most job board APIs bury or omit entirely
  • Pure API scraping — no browser required. Fast, low-memory, no proxy needed
  • Handles pagination automatically across 300+ pages of results
  • Stops at maxItems so test runs don't bill you for the whole corpus

Who Uses Hiring Cafe Data?

  • Recruiters — monitor which companies are actively hiring in target verticals before cold-outreach
  • Salary researchers — aggregate disclosed compensation ranges by role, location, and seniority for benchmarking
  • Job seekers and career coaches — track remote and visa-sponsoring positions at scale across dozens of ATS sources
  • Market analysts — identify hiring trends by company size, funding stage, or sector
  • HR tech teams — build curated job feeds from a single consolidated source rather than scraping 100+ boards separately

How It Works

  1. The scraper fetches the Hiring Cafe home page to extract the current Next.js build identifier — the key that unlocks the site's structured SSR data API.
  2. It requests the data API page by page, each response containing up to 150 job objects with full AI-processed metadata.
  3. Each job hit is transformed into a clean, flat record — company data merged in, salary normalised to yearly, list fields flattened to pipe-separated strings for easy CSV export.
  4. Records are saved until maxItems is reached or the feed is exhausted.

Hiring Cafe Scraper Input

{
  "maxItems": 100
}
Field Type Default Description
maxItems integer required Maximum number of job records to return. Set to a small number for testing.

Hiring Cafe Scraper Output Fields

{
  "job_id": "ashby___acme-corp___a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "job_url": "https://jobs.ashbyhq.com/acme-corp/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "job_title": "Senior Software Engineer",
  "job_title_raw": "Sr. Software Engineer (Backend) - Platform Team",
  "company_name": "Acme Corp",
  "company_website": "https://acmecorp.com",
  "company_size": 500,
  "company_industries": "Software | Cloud Infrastructure",
  "company_hq_country": "US",
  "company_funding_type": "Series B",
  "company_funding_year": 2023,
  "location_countries": "US | CA",
  "location_states": "California, US | Ontario, CA",
  "location_cities": "San Francisco, CA | Toronto, ON",
  "location_formatted": "San Francisco, CA or Toronto, ON (remote)",
  "remote_policy": "Hybrid",
  "workplace_type": "Hybrid",
  "seniority_level": "Senior Level",
  "job_category": "Engineering",
  "commitment": "Full Time",
  "role_type": "Individual Contributor",
  "visa_sponsorship": false,
  "salary_min_yearly": 160000,
  "salary_max_yearly": 220000,
  "salary_currency": "USD",
  "salary_listed_frequency": "Yearly",
  "requirements_summary": "5+ years backend engineering; Go or Rust preferred; distributed systems experience; AWS; strong systems design skills.",
  "technical_tools": "Go | Rust | AWS | Kubernetes | PostgreSQL",
  "source": "ashby",
  "board_token": "acme-corp",
  "is_expired": false,
  "scraped_at": "2026-06-02T10:30:00.000Z"
}
Field Type Description
job_id string Unique job identifier (source + board_token + requisition id)
job_url string Direct application URL
job_title string AI-normalised core job title
job_title_raw string Original raw title from the posting
company_name string Company name
company_website string Company homepage URL
company_size integer Employee headcount (approximate)
company_industries string Industries (pipe-separated)
company_hq_country string HQ country code (ISO)
company_funding_type string Latest funding type (e.g. Series A, Bootstrapped)
company_funding_year integer Year of latest funding round
location_countries string Workplace countries (pipe-separated ISO codes)
location_states string Workplace states/regions (pipe-separated)
location_cities string Workplace cities (pipe-separated)
location_formatted string Human-readable formatted workplace location
remote_policy string Remote work policy (Remote, Hybrid, On-site)
workplace_type string Workplace type classification
seniority_level string Seniority (Entry Level, Mid Level, Senior Level, etc.)
job_category string Job category/function
commitment string Employment type (Full Time, Part Time, Contract)
role_type string Role type (Individual Contributor, Manager)
visa_sponsorship boolean Whether visa sponsorship is offered
salary_min_yearly number Minimum annual salary (normalised to yearly)
salary_max_yearly number Maximum annual salary (normalised to yearly)
salary_currency string Salary currency code (USD, EUR, GBP, etc.)
salary_listed_frequency string Original salary frequency (Yearly, Hourly, Monthly)
requirements_summary string AI-generated summary of key requirements
technical_tools string Required tools and technologies (pipe-separated)
source string Job board source (ashby, greenhouse, lever, etc.)
board_token string Company board token on the source platform
is_expired boolean Whether the posting has expired
scraped_at string ISO 8601 timestamp of when the record was scraped

🔍 FAQ

How do I scrape Hiring Cafe job postings?

Hiring Cafe Jobs Scraper handles it. Set maxItems to however many records you need, run it, and the output lands in your dataset as structured JSON. No browser, no proxy, no configuration beyond that.

How much does the Hiring Cafe Jobs Scraper cost to run?

Billing is per record at a very low per-item rate — well under a cent per job in typical runs. The maxItems field caps your spend precisely if budget matters.

What data can I get from Hiring Cafe?

Hiring Cafe Jobs Scraper returns 30+ fields per posting: job title (raw and AI-normalised), company details (size, funding, industries), salary range when disclosed, location, remote policy, seniority level, visa sponsorship status, and a machine-generated requirements summary. Coverage is global — listings from every continent show up in the feed.

Does Hiring Cafe Jobs Scraper need proxies?

No. The scraper hits Hiring Cafe's SSR data API directly with a standard browser user-agent. No proxies, no CAPTCHAs, no workarounds needed.

How many jobs are available on Hiring Cafe?

The live corpus is roughly 12,000+ active listings, refreshed continuously. Set maxItems to a smaller number for targeted pulls, or leave it large to sweep the full feed.


Need More Features?

Custom filters by location, seniority, or company size? Incremental runs? File an issue or get in touch.

Why Use Hiring Cafe Jobs Scraper?

  • No overhead — Pure API extraction, no browser, no proxy, no setup beyond maxItems. It's as simple as job scrapers get.
  • Richer output than most alternatives — AI-normalised titles, company funding data, and requirements summaries in one payload, which beats manually joining three data sources after the fact.
  • Global coverage — Listings from 100+ ATS platforms (Ashby, Greenhouse, Lever, SAP SuccessFactors, and more) in a single, consistently structured feed.