The perfect API for job boards and other platforms requiring high-quality open job listings.
Candidates are taken directly to the employer’s career site or ATS, providing the best user experience.
This database contains active jobs from over 10,000 organizations and is updated 4 times per day.
Do you wish to retrieve jobs beyond the limits of this API? Please reach out to remco@fantastic.jobs for any custom requests, including: large job feeds (XML/JSON), complex queries, firehose, LinkedIn jobs, and more.
The data
We currently have jobs for the following ATS:
In addition, we currently have jobs for the following organizations not using an ATS:
Missing an organization? Please let us know and we might be able to add it to the database
New jobs are added to the API 4 times per day at 0:00, 6:00, 12:00, 18:00 UTC
Expired jobs are removed once per day and should no longer appear in the 6:00 refresh. Please note that some jobs might slip trough our expiration checks. Let us know if there’s a source where you see this regularly!
We will add new sources regularly, please check every once in a while if you apply additional filters on source.
All jobs in the database are unique based on their URL. However, organizations occasionally create duplicates themselves. More commonly, organizations sometimes create the same job listing for multiple cities or states. If you wish to create a rich and unique dataset, we recommend further deduplication on title + organization, or title + organization + locations
Search
Our database can be searched with the following syntax:
For all searches, include wfts. (with the dot (.) included)
Job searches are limited to 100 jobs per API call. You can easily extend your search by using the ‘offset’ parameter.
Title
Query | Result |
---|---|
wfts.Software | All jobs including software in the job title |
wfts.Software Engineer | All jobs including ‘software’ AND ‘engineer’ in the job title |
wfts.“Software Engineer” | All jobs including ‘software’ AND ‘engineer’ in order in the job title |
wfts.Software OR Engineer | All jobs including ‘software’ OR ‘engineer’ in the job title |
Location
You can use the same syntax as Title for searches on Location. Please make sure to search on the full name of the location, abbreviations are not supported.
Organization
You can use the same syntax as Title for searches on Organization. Please note that all searches are fuzzy, this might result in inclusion of organizations with similar names.
Depending on the ATS, the organization can include other details like location/office. Especially Workday!
Output
The API’s output is a json array. We’re currently working on CSV output, stay tuned!
Jobs are ordered on ‘dateposted’ ascending. Resulting in the most recent jobs being first in the array. Please note that our scrapers don’t necessarily find jobs in order of dateposted.
Output Fields
Name | Description | Type |
---|---|---|
id | Our internal ID. We don’t recommend this for sorting | Int8 |
title | Job Title | text |
organization | Name of the hiring organization | text |
orglogo | URL to the organization’s logo, can be square or rectangle | text |
dateposted | Date & Time of posting, can be null in rare cases | timestamptz |
datevalidthrough | Date & Time of expiration, is null in most cases | timestamptz |
locations_raw | Raw location data, per the Google for Jobs requirements | json[] |
locations_derived | Derived location data, which is the raw data matched with a database of locations_raw or locationrequirements_raw. This is the field where you search locations on. | text[] [{city, admin (state), country}] |
locationtype | To identify remote jobs: ‘TELECOMMUTE’ per the Google for Jobs requirements. Please note that ATS Workday flags every single job as remote as of now | text |
locationrequirements_raw | Location requirement to accompany remote (TELECOMMUTE) jobs per the Google for Jobs requirements. | json[] |
salary_raw | raw Salary data per the Google for Jobs requirements. Is quite uncommon as of now | json |
employmenttype | Types like 'Full Time", “Contract”, “Internship” etc. Is an array but most commonly just a single value. | text[] |
crawlurl as url | The URL of the job, can be used to direct traffic to apply for the job | text |
hosttype2 as source | The source of the jobs, which is always an ATS or a career site as listed above | text |