5.5M+
live jobs you can query right now
24M+
jobs tracked to date
650K+
companies tracked
One request, structured jobs
Search by title, company, place, work arrangement, seniority, salary, skill, language and more. Results are newest first, up to 100 a page. The API reference lists every parameter.
curl "https://findyourcareer.io/api/v1/jobs?title=data+engineer&country=de&work_arrangement=remote&limit=2" \
-H "Authorization: Bearer $FYC_API_KEY"{
"jobs": [
{
"id": "cmh2x9k4t00a1",
"title": "Senior Data Engineer",
"company": "Example GmbH",
"location": "Berlin, Germany",
"country": "de",
"work_arrangement": "remote",
"remote_scope": "country",
"eligible_states": [],
"employment_type": "Full-time",
"job_level": "senior",
"skills": ["Python", "Airflow", "dbt"],
"languages": ["German", "English"],
"visa_sponsorship": false,
"salary": { "min": "85000", "max": "105000", "currency": "EUR", "period": "year" },
"posted_at": "2026-11-08T07:12:00.000Z",
"first_seen_at": "2026-11-08T08:03:41.000Z",
"republish_count": 0,
"ghost_score": 0,
"ghost_level": "low",
"source": "greenhouse",
"apply_url": "https://boards.greenhouse.io/example/jobs/1234567",
"url": "https://findyourcareer.io/jobs/cmh2x9k4t00a1"
}
],
"returned_count": 1,
"new_credits_charged": 1,
"has_more": true,
"next_cursor": "eyJwIjoiMjAyNi0xMS0wOFQwNzoxMjowMC4wMDBaIi...",
"usage": { "plan": "growth", "limit": 100000, "used": 18422, "remaining": 81578 }
}Why this data
| What you get | How |
|---|---|
| Straight from employers | Collected from company career pages and the applicant tracking systems behind them, not copied from job boards. Every job links to the employer's own application page. |
| One job, once | Duplicate postings of the same opening are recognised and left out. |
| Ghost job score | Every job carries a 0 to 100 score built from how long it has been open, how often it was re-posted and whether its date was refreshed. Filter them out with one parameter. |
| Who can actually apply | Remote jobs say whether they are open worldwide, to a region or to one country, and which US states they accept. |
| Structured, not scraped text | Salary with currency and period, seniority, years of experience, skills, languages, visa sponsorship and security clearance as fields you can filter on. |
| Closed means closed | Jobs are re-checked every day and removed when the employer takes them down, so you do not send people to dead listings. |
What every job includes
Every plan, the free test key included, returns all of these fields.
| Field | What it is |
|---|---|
| id | Stable id of the job. The same job keeps its id for as long as it is listed. |
| title, company | As the employer wrote them. |
| company_website, company_logo | The employer's site and logo, where known. |
| location, city, country | Where the job is. country is a two-letter ISO code. |
| additional_locations | Other places the same posting is open in. |
| work_arrangement | remote, hybrid or onsite. |
| remote_scope | Who may apply to a remote job: worldwide, region or country. Null when the posting does not say. |
| eligible_states | The states a remote job requires you to live in, as ISO 3166-2 codes such as US-FL. |
| employment_type, job_level | Full-time, contract and so on; entry to lead. |
| min_years_experience, max_years_experience | Years of experience the posting asks for. |
| skills, languages | Skills the job lists and the working languages it requires. |
| visa_sponsorship, security_clearance | True, false, or null when the posting does not say. |
| salary | min, max, currency and period, as the employer stated them. |
| benefits | Benefits named in the posting. |
| posted_at, first_seen_at, last_checked_at | When the employer posted it, when we first saw it and when we last confirmed it is still listed. |
| application_deadline | Last day to apply, when the posting states one. |
| republish_count | How often the employer re-posted the job. |
| ghost_score, ghost_level | 0 to 100: how likely the job is a ghost job, from how long it has been open, re-posts and refreshed dates. 50 and up is high. |
| source | The applicant tracking system or feed the job came from. |
| apply_url | The employer's own application page. |
| excerpt, description | The first 500 characters, and the full text on request. |
| url | The job's page on findyourcareer.io. |
Pricing
You pay for the jobs you receive, not for requests. Start with a free test key (500 jobs, no card) and choose a plan when your integration works.
Starter
$99/ month
Billed monthly, cancel any time
- 25,000 unique jobs a month
- $3.96 per 1,000 jobs
- 2 requests per second
- Every field and filter
- Search and job detail endpoints
- Extra jobs, if you switch them on: $5 per 1,000
Growth
$249/ month
Billed monthly, cancel any time
- 100,000 unique jobs a month
- $2.49 per 1,000 jobs
- 5 requests per second
- Every field and filter
- Changes feed: new, updated and closed jobs
- Extra jobs, if you switch them on: $3.50 per 1,000
Scale
$699/ month
Billed monthly, cancel any time
- 400,000 unique jobs a month
- $1.75 per 1,000 jobs
- 15 requests per second
- Every field and filter
- Changes feed: new, updated and closed jobs
- Extra jobs, if you switch them on: $2.50 per 1,000
Enterprise
from$2,000
Per month, on a yearly agreement
- The full feed, every live job
- Bulk export of the whole dataset
- Request limits to fit your sync
- Changes feed
- Invoice and contract
Prices in US dollars, excluding VAT where it applies. A job counts once per calendar month, however often you fetch it. Start with a free test key: 500 jobs, no card.
About the data
The jobs are the postings Find Your Career collects from company career pages, the applicant tracking systems behind them and public employment services. That is a large slice of the market, not all of it: employers that only post on job boards or through agencies are missing.
New jobs are added every hour and every employer is revisited at least once a day. Fields such as seniority, remote eligibility and visa sponsorship are read from the posting text; where a posting does not say, the field is null rather than guessed.
Questions about the API
Where do the jobs come from?
From the employers themselves: we read company career pages and the applicant tracking systems behind them, plus public employment services such as EURES and Germany's Bundesagentur für Arbeit. We do not copy listings from LinkedIn, Indeed or other job boards.
How is usage counted?
One credit is one unique job per calendar month. Fetching the same job again that month, in a search or by id, is free. Requests themselves are not counted, only the jobs they return. A page holds up to 100 jobs.
What happens when I reach my monthly allowance?
Requests keep working for jobs you already received this month and stop returning new ones; the response says so. You can switch on extra jobs in the dashboard to keep going at your plan's rate per 1,000, or move to a larger plan. Nothing is billed beyond your plan unless you switched extra jobs on.
How fresh is the data?
New jobs are added every hour and every employer is revisited at least once a day. A job that disappears from the employer's page is closed in the API the same way. Growth and larger plans get a changes feed that lists what was added, updated and closed since your last call.
Can I show the jobs in my own product?
Yes. You may display the jobs in your own website, app or internal tools and link to the employer's application page. You may not resell the data as a standalone feed or dataset, or offer it as a competing API. The licence terms have the details.
Is there a free trial?
Yes. A test key gives you 500 jobs with every field and filter, without a card. It is enough to build and test an integration before choosing a plan.
Do you have historical data or a full export?
The API serves jobs that are open now. A full export of the live dataset and custom request limits are part of Enterprise; email us with what you need.
Make your first request in a minute.
Create a key, copy the example and see real jobs come back. No card needed for the first 500 jobs.