Breezy HR Jobs Scraper avatar

Breezy HR Jobs Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Breezy HR Jobs Scraper

Breezy HR Jobs Scraper

Scrape every open job posting from any Breezy HR-powered company career board via Breezy's own public JSON feed, no login or browser required. Get job titles, locations, salaries, and publish dates instantly for recruiter pipelines or as a hiring-intent signal for BD teams.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share


🎯 What this scrapes

Any employer running its careers page on Breezy HR serves the entire board from one endpoint: https://{company}.breezy.hr/json. This Actor hits it directly — hand it one or more company subdomains (the {company} in https://{company}.breezy.hr, e.g. rhynocare) and it pulls every currently-open posting for that employer in a single response, no pagination to chase, and normalizes it into one row schema. We've verified it end to end against real boards ranging from a 3-posting equipment dealer to a 600+ posting healthcare network, so the same code path holds whether a company has three reqs open or three hundred.

🔥 Features

  • 🔑 Keyless public feed — no OAuth, no token, no per-company setup; the same JSON endpoint the careers page itself renders from.
  • 🏢 Multi-company in one run — pass many subdomains; rows come back identically shaped, tagged with company_slug / company_name.
  • 🧭 Slug or full URL, either works — paste a bare subdomain or the full https://{company}.breezy.hr link and we extract the right identifier.
  • 🚫 Reliable bad-slug detection — Breezy signals an invalid or unused subdomain with a redirect to its marketing site rather than a clean error; we catch that signal precisely and skip the company instead of choking on it or the run silently producing nothing.
  • 🔁 Retries with backoff + fingerprint rotationcurl-cffi presents a real browser handshake (rotated across Chrome / Firefox / Safari profiles) and retries transient 429/5xx responses with exponential backoff up to 5 attempts, so a large multi-company batch finishes instead of dying on the first hiccup.
  • 🌐 Proxy-routed through Apify Proxy — every request runs through a rotating session, with a fresh exit IP requested the moment anything looks off — the same infrastructure we lean on harder the day a target tightens up.
  • 🧱 Rate-limit pacing built in — we back off rather than hammer a board, and partial success is always reported honestly via the run's status message instead of a silent, half-empty dataset.
  • 🧊 Clean, typed rows — Pydantic-validated, ISO-8601 timestamps, stable posting IDs. Export JSON / CSV / Excel straight from the Apify Console.
  • 💰 Pay only for postings that land — a company with an invalid slug or zero open reqs never gets billed for rows it didn't produce.

💡 Use cases

  • Recruiting & talent intelligence — track what a Breezy-hosted employer is hiring for, where, and at what pay band.
  • Job-board aggregation — add Breezy coverage alongside SmartRecruiters / Workday / Workable / Teamtailor in one pipeline.
  • Labor-market research — sample hiring demand across an industry or region by role and location.
  • Hiring-intent signals for BD/SDR teams — a sudden spike in open reqs at a target account is a lead qualifier.
  • HR-tech data pipelines — wire structured job rows into your CRM, dashboard, or n8n / Make workflow on a schedule.

⚙️ How to use it

  1. Click Try for free at the top of the Store listing.
  2. Add one or more Company slugs — the {company} from a https://{company}.breezy.hr careers URL (e.g. rhynocare), or paste the full URL.
  3. Optionally adjust Max results per company (default 200) if a board has more open reqs than you need.
  4. Click Start. Each company's full board comes back in one fetch and rows stream into the dataset.
  5. Export from Storage → Dataset as JSON, CSV, or Excel — or pull via the Apify API.

📥 Input

FieldTypeRequiredDefaultNotes
companySlugsarrayBreezy HR company subdomains (the {company} in https://{company}.breezy.hr, e.g. rhynocare), or full https://{company}.breezy.hr URLs — either form works.
maxResultsPerCompanyintegerno200Cap on rows emitted per company, applied client-side after the full board is fetched (no server-side limit param exists on this vendor).
proxyConfigurationobjectno{"useApifyProxy": true}Apify Proxy configuration.

Example input

{
"companySlugs": ["rhynocare", "barloworldequipment"],
"maxResultsPerCompany": 200,
"proxyConfiguration": { "useApifyProxy": true }
}

📤 Output

One dataset item per open job posting.

FieldTypeNotes
posting_idstringStable Breezy posting ID.
company_slugstringNormalized subdomain you supplied — kept stable across repeat runs.
company_namestringEmployer display name.
titlestringJob title.
apply_urlstringThe real, working posting page — used verbatim, never reconstructed.
published_datestringISO-8601 date the posting went live.
job_typestringHuman-readable employment type, e.g. "Full-Time".
departmentstring | nullDepartment label; null when the employer didn't set one.
salarystring | nullFreeform pay text as published (e.g. "$25 – $27 / hour"); null when undisclosed. Never parsed into numeric fields.
location_citystring | nullPosting city.
location_statestring | nullState/region abbreviation (e.g. "ON"); null when not applicable.
location_countrystring | nullISO 3166-1 alpha-2 country code.
is_remotebooleanWhether the posting is flagged remote; defaults false when the source doesn't say.
scraped_atstringUTC ISO-8601 fetch timestamp.

Example output

{
"posting_id": "5a3b663b95ce",
"company_slug": "rhynocare",
"company_name": "RhynoCare",
"title": "Cook",
"apply_url": "https://rhynocare.breezy.hr/p/5a3b663b95ce-cook",
"published_date": "2026-07-25T00:00:00.673Z",
"job_type": "Full-Time",
"department": null,
"salary": "$25 – $27 / hour",
"location_city": "St. Catharines",
"location_state": "ON",
"location_country": "CA",
"is_remote": false,
"scraped_at": "2026-07-26T15:00:00Z"
}

💰 Pricing

Pay-Per-Event — you're charged only when these fire:

EventUSDWhat it covers
actor-start$0.005One-off warm-up per run
result$0.0015Per job posting written to the dataset

Example: 1 000 postings ≈ $1.51. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • Public postings only — the openly published careers board, not authenticated internal/employee views.
  • No full description text — Breezy's list endpoint doesn't publish the job-description body; only the posting apply_url links to the full text on the HTML page, which this Actor never fetches.
  • Company slugs, not company names — you supply the Breezy subdomain from the careers URL; a display name like "RhynoCare" may not match its actual slug.
  • Point-in-time snapshot — returns the board as it stands right now; schedule recurring runs to track changes.
  • No anti-bot wall observed on this vendor today — Breezy's feed hasn't shown rate-limiting or blocking in our testing, but the retry, backoff, and fingerprint-rotation stack ships anyway and takes over the moment that changes, so a future tightening doesn't turn into a broken run.

❓ FAQ

Do I need a Breezy HR account or API key?

No — every field comes from Breezy's own public JSON feed, the same one the careers page itself renders from.

How do I find a company's slug?

It's in the careers URL: https://{slug}.breezy.hr. Paste that {slug} (e.g. rhynocare), or just paste the full URL — we extract it either way.

Can one run cover several employers?

Yes — put multiple slugs in companySlugs and every row comes back identically shaped, tagged with company_slug / company_name.

What happens if I typo a slug or it doesn't exist?

Breezy redirects unknown subdomains to its marketing site instead of returning a clean error. We detect that redirect, skip the company, and report it plainly in the run's status message — the rest of your batch still completes.

Is this legal?

We fetch public, unauthenticated job-posting data that employers publish for candidates. No login, no private endpoints.

💬 Your feedback

Spotted a bug, hit a company that behaves differently, or need an extra field? Open an issue on the Actor's Issues tab in Apify Console — we ship fixes weekly and read every report.


Hiring intel across the whole ATS landscape? These siblings cover the other major job-board platforms — same keyless, pay-per-result approach:

Browse the full fleet at apify.com/DevilScrapes.