// jobs api · commercial use
Millions of open jobs, one API, one flat price.
Postings read straight from employers’ own applicant-tracking systems, de-duplicated, classified and linked to the company behind them. Use them in your product under a plain licence — no per-job metering, no sales call.
The same API answers without a key for personal and non-commercial use, so you can build against it today and add a key when you ship.
- open postings, de-duplicated
- 3.4M
- companies with profiles
- 482.4K
- ATS platforms read directly
- 124
- requests a minute on Data
- 6,000
// who it is for
Built for products that show jobs to people.
Job boards
Fill a niche board by country, category or stack, and keep it current without running a crawler fleet of your own.
Recruiting and HR tools
Show live openings beside candidates, track which companies are hiring for what, and link straight to the employer’s own ATS.
AI agents and assistants
Give a product’s agent a real catalogue to search — structured filters, full descriptions in Markdown, no scraping.
Market research
Count demand by skill, seniority, region or work mode, from postings read at the source rather than reposted.
// what you get
A posting, already structured.
Every field on every plan, and every filter the site’s own search has — country, region, city, category, seniority, skills, work mode, salary, company, source and freshness.
- Role
- title, category, seniority, employment type, skills
- Place
- countries, regions, cities, work mode (remote / hybrid / on-site)
- Pay
- salary range, currency and period when the posting states it
- Company
- name, slug, industry, size, headquarters, founding year, YC batch
- Apply
- the employer’s own ATS link and the source platform it came from
- Lifecycle
- posted, first and last seen, and closed — a closed posting says so
curl "https://freehire.me/api/v1/jobs/search?countries=de&category=software_engineering&limit=100" \ -H "Authorization: Bearer $FREEHIRE_API_KEY"
{
"data": [{
"public_slug": "golang-software-engineer-…-ebn6r4wq",
"title": "Golang Software Engineer - Identity & Access Management",
"company": "Allianz",
"company_slug": "allianz",
"source": "successfactors",
"url": "https://internal-careers.allianz.com/job/…",
"countries": ["de", "pt"],
"cities": ["Berlin", "Lisbon"],
"skills": ["go", "keycloak", "oauth", "rbac", "sso"],
"enrichment": { "category": "software_engineering", "employment_type": "full_time" },
"posted_at": "2026-10-17T00:00:00Z",
"closed_at": null
}],
"meta": { "total": 161, "limit": 100, "offset": 0 }
}// how it is priced
You pay for the rate, not for the rows.
Metered by record
The usual job-data pricing: a monthly allowance of records, and every posting you read spends it. Around $100 a month buys tens of thousands of postings; mirroring a catalogue of millions runs to thousands.
Flat on freehire
One monthly price and a per-minute request rate with no daily cap. A page returns up to 100 full postings, so how much of the catalogue you read never changes the bill.
API
The read API is free without a key, up to 600 requests a
minute per address. For more, and for the right to use the data in a commercial product, pick a plan
and send its key as Authorization: Bearer.
API
$29.00 / month
For a job board, a bot or an agent that reads the catalogue.
- 1,200 requests a minute, no daily cap
- Every search filter, every field, company data
- Store and show the postings in your product, under the data licence
Data
$99.00 / month
For mirroring the catalogue at volume.
- 6,000 requests a minute, no daily cap
- Everything in API
- Bulk catalogue files — coming soon
What the API carries and who it is for is on the Jobs API page. Keys live on your API keys page. What you may do with the data is in the data licence.
// the licence
What a plan lets you do, in four lines.
- Store what you read and show it in your own product, commercial or not.
- Link each posting you show to its freehire page, or credit “via freehire.me”.
- Don’t resell the raw data as a dataset, download or feed of its own.
- When the plan ends, so does the permission — stop showing the postings and delete what you stored within 30 days.
The full text is the data licence in our terms.
// questions
Before you ask.
Can I use the freehire API in a commercial product?
Yes, with an API plan. A plan licenses you to store the postings you read and show them in your own product — a job board, a recruiting tool, an agent you sell. Without a plan the API is for personal and non-commercial use. Either way you may not resell the raw data as a dataset or feed of its own, and each posting you show links back to its freehire page or credits "via freehire.me".
Do I pay per job, per record or per request?
None of those. A plan is a flat monthly price with a per-minute request rate and no daily cap, and every request returns full postings — up to 100 per page — so the size of the catalogue you read does not change the bill.
What is the difference between the API and Data plans?
The rate. API allows 1,200 requests a minute per account, Data 6,000. Both carry the same fields, filters, company data and licence. Bulk catalogue files are coming to the Data plan; until they ship, Data is the higher rate.
Is there a free tier?
Yes: the read API answers without a key, limited per address, for personal and non-commercial use. It is the same API, so you can build against it for free and switch to a key when you go live.
How do I authenticate?
Create a full-access key on your API keys page and send it as an Authorization: Bearer header. All keys of an account share the plan’s budget, and every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset so you can pace yourself.
How fresh is the data, and do closed jobs disappear?
Sources are re-crawled continuously, and a posting that leaves its source is closed rather than deleted. Search returns open postings only; a single posting fetched by its slug still answers after it closes, carrying its closed_at. A change feed with webhooks for new, updated and removed postings is the next thing we are building.
Can I cancel?
Any time, from the billing portal. The plan — and the licence with it — stays until the end of the period you paid for.