← All twelve ATS APIs compared

Breezy HR jobs API

The highest pay-disclosure rate of any platform here — and it answers 403 for boards that do not exist, which will mislead your error handling.

The endpoint

GET https://{company}.breezy.hr/json

No key, no login. The slug is the subdomain in {company}.breezy.hr.

curl -s 'https://acme.breezy.hr/json'

What it returns, measured

Measured across every live Breezy HR board in our registry — 47,085 postings from 2,800 boards, not a sample. yes means 99.5% or more; no means the field does not exist on this endpoint.

FieldBreezy HR
Posting dateyes
Descriptionno
Pay45.7%
Marked remote15.7%

Title, company, location and an apply URL come back on every row.

What it is good at

45.7% of postings carry a pay range, the highest of the twelve. Every posting is dated and employment type is on every row.

Where it falls short

Pay is free text exactly as the employer typed it ("$28 – $100 / hour"), so it is readable but not directly comparable. No descriptions on the listing endpoint, and department is present on only 49.7% of rows.

Mistakes that cost us time

403, not 404, for a board that does not exist.
Treating 403 as rate limiting will make you back off from subdomains that simply have no board, and treating it as a hard failure will drop live boards from your registry.
Pay is a string, not a range.
Currency, period and separator all vary by employer. Parse defensively or keep it as text.

So should you use it

Yes, for pay-transparency work across the long tail of small employers — companies no salary survey covers.

No, for anything needing the posting body.

How Breezy HR compares with the other eleven on the same four fields is on the comparison page. If you would rather not write and maintain a client, this Actor reads Breezy HR and emits the same row shape as the other eleven, and ATS Database is a free lookup for finding which platform a given company is on.

Finding the boards

Breezy boards are subdomains, and discovery runs into the same 403 that trips up readers: a subdomain with no board answers 403, not 404. A validator that treats 403 as rate limiting will back off from empty subdomains forever, and one that treats it as fatal will drop live boards. Getting that single status code right is most of what stands between 2,000 and 2,800 boards.