Ats Jobs API avatar

Ats Jobs API

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Ats Jobs API

Ats Jobs API

Hiring data spread across hundreds of career pages? Paste Greenhouse, Lever or Ashby board links and get every open job as clean JSON: title, salary, location, skills, requirements, benefits and company profile. Ready for job boards and AI. No API key.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawl Craft

Crawl Craft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

What is Ats Jobs API?

Ats Jobs API is an Apify Actor and job board scraper that reads Greenhouse, Lever and Ashby boards and returns the jobs they list in one consistent format. Each job comes with title, location, salary when published, skills, requirements, benefits and an optional full company profile. You need no API key.

  • One format for three platforms: paste Greenhouse, Lever and Ashby links together and get the same fields back for every job.
  • Filters before saving: narrow jobs by keywords, locations, work model, employment type, experience level, skills, companies, salary and posting dates.
  • Company profile on every job: legal name, founding year, headquarters, size, industries, leadership, investors, tech stack and more, where available.
  • Ready to export: download results as JSON, CSV or Excel, or read them through the Apify API.

To start, click Try for free, paste one or more job-board links and press Start.

What data can you extract from job boards?

Ats Jobs API saves one dataset item per job, so you can export job postings to CSV, JSON or Excel. The table lists every field of the job record. Example values come from the Actor's dataset schema.

FieldDescriptionExample
idUnique job ID: platform, company slug and the board's own job ID.greenhouse:stripe:8172487
titleJob title as published on the board.Abuse Investigator
normalized_titleJob title with commas and extra spaces removed.Software Engineer Level 3
companyCompany profile: name, website, board, logo, social links, headquarters, size, industries, people, funding, stock, tech stack, press, H-1B filings and the source of every filled field (field_coverage).โ€”
descriptionFull job description as plain text (or HTML when Keep description HTML is on).โ€”
summaryShort summary taken from the posting's own opening text.โ€”
listing_urlLink to the job posting.https://stripe.com/jobs/search?gh_jid=8172487
apply_urlLink to the application form (the job link when there is no separate form).โ€”
locationsEvery location of the job: original text plus city, region, country, latitude and longitude when resolved.โ€”
compensationPublished salary range: min, max, currency and period. Null when the board does not publish one.โ€”
employment_typefull-time, part-time, contract, internship, freelance or temporary.full-time
workplace_typeremote, hybrid or onsite when stated.remote
experience_levelintern, entry, mid, senior, lead or executive.mid
sourceJob-board platform the job came from: greenhouse, lever or ashby.greenhouse
created_atWhen the job was first published (ISO 8601).2026-09-03T13:30:34-04:00
updated_atWhen the job was last updated (ISO 8601); the publish date when the board gives no update date.โ€”
date_postedPosting date (ISO 8601).โ€”
valid_throughClosing date. The supported boards do not publish one, so it is null.โ€”
qualificationsMust-have and preferred education, certifications and skills (each skill typed hard or soft), read from the posting.โ€”
responsibilitiesResponsibility bullets from the posting.โ€”
benefitsBenefit bullets from the posting.โ€”
is_work_auth_requiredTrue when the posting requires existing work authorization; null when it does not say.โ€”
is_h1b_sponsorTrue when the posting offers visa sponsorship, false when it rules it out, null when it does not say.โ€”
is_clearance_requiredTrue when the posting asks for a security clearance; null when it does not say.โ€”
departmentDepartment or team group published by the board.โ€”
officeOffice name (Greenhouse boards).โ€”
teamTeam name (Lever and Ashby boards).โ€”
_scrape_metaRun ID and the time the job was saved.โ€”

Use cases for job postings data

Use job posting data from company boards for projects like these.

  • Build a job board: combine title, locations, employment_type, apply_url and description from many companies into your own job listing site.
  • Collect job market data: compare department, experience_level and workplace_type across companies to see what the job market asks for.
  • Analyze salary data from job postings: read the compensation range (min, max, currency, period) where a board publishes it.
  • Find visa sponsorship jobs: read the is_h1b_sponsor output field to see which postings offer visa sponsorship, and check the company's H-1B filing history in the company profile where available. The Actor has no input filter for it, so filter the exported data yourself.
  • Track company hiring: pull all open jobs of a list of companies and compare their teams, locations and skills.
  • Competitor hiring analysis: compare the job openings of two rival companies side by side.
  • Source recruiting data: match candidates to jobs with qualifications, responsibilities and benefits.
  • Feed apps and AI tools: use clean, structured job records as input for your own product through the Apify API.

How to scrape job postings

Follow these steps to scrape job postings from company boards:

  1. Create a free Apify account.
  2. Open Ats Jobs API in Apify Console.
  3. Add the links of the company job boards you want, one per line, under Job-board links (urls), for example https://boards.greenhouse.io/stripe or greenhouse:stripe.
  4. Optionally add filters such as Job titles or keywords (queries), Locations (locations) or Work model (work_models).
  5. Click Start and wait for the run to finish.
  6. Download the dataset as JSON, CSV or Excel.

Paste the board link of the company. A job link from the board also works. To add a company name and website, write them after the link and separate the parts with |, for example https://jobs.ashbyhq.com/ramp | Ramp | ramp.com. A website gives a richer company profile for Lever and Ashby boards.

  • Greenhouse: scrape Greenhouse jobs from board links like https://boards.greenhouse.io/stripe.
  • Lever: scrape Lever jobs from board links like https://jobs.lever.co/palantir.
  • Ashby: scrape Ashby jobs from board links like https://jobs.ashbyhq.com/ramp.

How to extract job listings to Excel

Run the Actor, open the Storage tab, choose the dataset and export it as Excel. Use the same export for CSV and JSON.

How to filter jobs by skills, level or salary

Use skills_include and skills_exclude for skills, experience_levels for seniority, and min_salary_usd and max_salary_usd for pay. Salary values are compared as published, with no currency or pay-period conversion, and jobs without salary data are left out when a salary filter is set.

How much does it cost to scrape job boards?

Ats Jobs API uses the pay-per-event model: you pay $3 per 1,000 results on the Free plan and less on paid plans, and each saved job is one main_result event. Each run also has a small start charge of $0.00005 (the Actor Start event). Free plan runs are limited to 10 jobs per run. See the Pricing tab for current rates.

Apify planPrice per 1,000 results
Free$3
Bronze$2.7
Silver$2.4
Gold / Platinum / Diamond$2

For example, on the Free plan 1,000 saved jobs cost $3. Set Maximum jobs per company (max_jobs_per_company) to cap the jobs saved from every board, or Maximum jobs (max_items) for a total. When Maximum jobs per company is set, Maximum jobs is ignored.

โฌ‡๏ธ Input

Ats Jobs API needs only one input: Job-board links (urls), one Greenhouse, Lever or Ashby company board per line. All filters are optional. See the Input tab for every option.

Ats Jobs API input form with job-board links for the job board scraper

Example input (values from the input schema prefill and defaults):

{
"urls": [
"https://boards.greenhouse.io/stripe",
"https://jobs.lever.co/palantir | Palantir | palantir.com",
"https://jobs.ashbyhq.com/ramp | Ramp | ramp.com"
],
"search_description": true,
"max_jobs_per_company": 10,
"dedupe_jobs": true,
"include_company_details": true
}

๐Ÿ’ก When Maximum jobs per company is set, up to that many jobs are saved from every board and Maximum jobs is ignored.

Company details options

Turn parts of the company profile off for faster runs: enrich_company_website, enrich_company_knowledge, enrich_company_filings, enrich_company_press and enrich_company_h1b. Set include_company_details to false to keep only basic company info. geocode_locations turns job and headquarters locations into city, region, country and coordinates.

โฌ†๏ธ Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and doesn't show all the fields.

Ats Jobs API output table with job posting data from job boards

You can export the dataset as JSON, CSV or Excel, and view it in sections: job overview, salary and location, skills and requirements, responsibilities and benefits, description, company profile, company links, leadership and funding, tech stack and H-1B, and run details. A separate run summary record lists counts for the run.

Example output (only fields that have an example value in the dataset schema; values are examples, not a captured run):

{
"id": "greenhouse:stripe:8172487",
"title": "Abuse Investigator",
"listing_url": "https://stripe.com/jobs/search?gh_jid=8172487",
"employment_type": "full-time",
"workplace_type": "remote",
"experience_level": "mid",
"source": "greenhouse",
"created_at": "2026-09-03T13:30:34-04:00"
}

Every real item also contains the other fields listed in the table above, including the company profile.

Limitations and error handling

  • Ats Jobs API is not a job scraper for other job sites. It supports three ATS job boards: Greenhouse, Lever and Ashby.
  • It returns jobs the boards publish publicly. It does not return private data.
  • Free plan runs save at most 10 jobs per run. On paid plans, Maximum jobs per company (10 by default) caps every board. If you clear it, Maximum jobs sets the total, and 150 jobs are saved when you leave that empty too.
  • Salaries are mostly published on Ashby boards.
  • Jobs whose board does not state a work model are left out when you set the Work model filter.
  • valid_through is always null because the supported boards do not publish a closing date.
  • Company profile fields are filled where data is available, so some can be empty.
  • If no link is usable, the run stops and asks for links like https://boards.greenhouse.io/stripe. Links that cannot be used are skipped, and the log shows why.
  • If a job board cannot be loaded, the run continues with the other boards. The run summary lists counts for boards read, jobs found, filtered and saved, and any non-fatal issues.

Integrating Ats Jobs API with other apps

Ats Jobs API runs on Apify, so you can start it from your code and read its dataset like a job postings API. The dataset can be read as a whole or by section using the output views. Open the API tab of this Actor for ready-made code samples.

More Apify Actors by crawl_craft

These Actors cover other data sources and are not job-data tools. Use them when your project needs that data.

ActorWhat it extractsWhen to use it
TikTok Video ScraperCaptions, hashtags, views, likes, comments, shares, author and music data from TikTok videosUse it when you need TikTok video data instead of job postings.
TikTok User Search ScraperTikTok profiles found by keyword searchUse it when you need to find TikTok creators in bulk.
TikTok Transcript ScraperTimestamped TikTok transcripts and subtitlesUse it when you need the spoken text of TikTok videos.

Ats Jobs API only extracts job data that companies have made publicly available on their Greenhouse, Lever or Ashby job boards. Results may still contain personal data, for example names of founders or leaders in the company profile. Only collect personal data with a legitimate reason, consider GDPR (Regulation (EU) 2016/679) and the terms of each platform, and consult a lawyer if you are unsure. Read Apify's posts on the legality of web scraping and ethical web scraping.

โ“ FAQ

How much does Ats Jobs API cost?

It costs $3 per 1,000 results on the Free plan and less on paid plans, with pay-per-event pricing. See the Pricing tab for current rates.

Do I need an API key or account on Greenhouse, Lever or Ashby?

No. You need no API key, and job scraping needs no account on Greenhouse, Lever or Ashby. You only need an Apify account to run the Actor.

How many jobs can I get?

Free plan runs save up to 10 jobs per run. On paid plans, Maximum jobs per company (10 by default) caps every board. If you clear it, Maximum jobs sets the total, and 150 jobs are saved when you leave that empty too. Maximum jobs is ignored while Maximum jobs per company is set.

Can I scrape private data?

No. Ats Jobs API returns only data published on the company job boards.

Do I need proxies?

No. The Actor works without a proxy. The Proxy field is optional.

How to find H1B sponsor jobs?

Run the Actor on the boards of companies you are interested in and look at the is_h1b_sponsor field. It is true when the posting offers visa sponsorship, false when it rules it out and null when the posting does not say. The company profile can also include H-1B filing history where available.

Can I get a job board API without writing code?

Yes. Ats Jobs API returns structured jobs from Greenhouse, Lever and Ashby. Add links in Apify Console, click Start and export the results.

Can I use it instead of a Greenhouse jobs API?

Yes, for public boards. Add the Greenhouse board links of the companies you follow and run the Actor. Lever and Ashby boards work the same way in the same run.

Can I use it to build a job board?

Yes. Ats Jobs API returns job board data such as title, locations, apply_url and description for every job, so you can load it into your own job board.

Can I search jobs by keyword or exclude words?

Yes. Add words to Job titles or keywords (queries) to keep jobs that mention any of them. Start a word with - to leave out jobs that contain it, and wrap a phrase in double quotes to match it as one phrase.

Your feedback

Found a bug or want a new feature? Open an issue in the Issues tab of this Actor. For custom solutions, write to hello.crawlcraft@gmail.com.