ATS Jobs Aggregator - Greenhouse & Lever avatar

ATS Jobs Aggregator - Greenhouse & Lever

Pricing

$1.50 / 1,000 job results

Go to Apify Store
ATS Jobs Aggregator - Greenhouse & Lever

ATS Jobs Aggregator - Greenhouse & Lever

Collect open job postings from public ATS job-board APIs and get them in one normalized schema. No login, no proxies. By IntegriApps MicroApps.

Pricing

$1.50 / 1,000 job results

Rating

0.0

(0)

Developer

IntegriApps .com

IntegriApps .com

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

ATS Jobs Aggregator: Greenhouse & Lever job scraper

Part of IntegriApps MicroApps, the small-tools line of IntegriApps (HR SaaS for Mexican SMBs).

Pull open job postings from the public job-board APIs of 2 Applicant Tracking Systems (Greenhouse and Lever) and get them back in one stable, normalized schema. Filter by keyword, location, country, remote, and posting date. No login, no cookies, no CAPTCHA solving, no proxies needed.

What it does

  • Reads the official public endpoints that companies expose for their careers pages:
    ATSEndpointWhat you enterExample
    Greenhouseboards-api.greenhouse.io/v1/boards/{token}/jobsboard tokengitlab
    Leverapi.lever.co/v0/postings/{slug}?mode=jsoncompany slugspotify
  • Normalizes every posting into the same fields, de-duplicates by id, and applies your filters.
  • Optionally adds a plain-text description (HTML removed, e-mail addresses replaced by [email removed]).
  • Does not collect recruiter names, e-mails, or any candidate data.
  • Does not discover companies for you: you provide the slugs (find them in the company's careers-page URL).

Input

{
"greenhouse": ["gitlab", "airbnb"],
"lever": ["spotify"],
"keywords": ["engineer", "data"],
"excludeKeywords": ["intern"],
"countries": ["MX", "US"],
"locations": ["Remote"],
"remoteOnly": false,
"maxAgeDays": 30,
"maxResults": 500,
"includeDescription": false
}

Other options: postedAfter (YYYY-MM-DD), searchInDescription, includeRemoteWithoutCountry, maxJobsPerCompany (default 2000), maxConcurrency (default 4). All filters are combined with AND; values inside one list are OR.

Output

One dataset item per job. Fields are always present (value may be null):

FieldDescription
id{ats}:{slug}:{jobId}, stable across runs
ats, company, companySlugsource ATS and company
title, departmentas published
locationlocation text as published
countryISO-3166 alpha-2 when it can be detected, else null
remotetrue when the ATS flags it remote or the location says remote
employmentTypeFULL_TIME, PART_TIME, CONTRACT, INTERN, OTHER or null
postedAtISO 8601 (Greenhouse: first published; Lever: created)
url, applyUrlpublic job page and apply link
descriptionTextonly when includeDescription is on
scrapedAtrun timestamp

Example (real run, 27 Oct 2026):

{
"id": "greenhouse:airbnb:8304183",
"ats": "greenhouse",
"company": "Airbnb",
"companySlug": "airbnb",
"title": "Product Manager, LATAM (São Paulo, Brazil)",
"department": "Product Management",
"location": "São Paulo, Brazil",
"country": "BR",
"remote": false,
"employmentType": null,
"postedAt": "2026-10-21T07:55:05.000Z",
"url": "https://careers.airbnb.com/positions/8304183?gh_jid=8304183",
"applyUrl": "https://careers.airbnb.com/positions/8304183?gh_jid=8304183",
"scrapedAt": "2026-10-27T23:59:50.256Z"
}

A RUN_SUMMARY record in the key-value store lists, per board: fetched, matched, saved, errors, and time.

Pricing

Price: USD 1.50 per 1,000 jobs (pay per event). You are charged per job saved to the dataset (job-result). Boards that fail or jobs filtered out are not charged. Set maxResults (and the run's max-charge limit) to cap spending; the Actor stops when either is reached.

Use cases

Job-market research, hiring-competitor tracking, job boards and newsletters, salary/role benchmarks, and lead lists of companies that are hiring.

FAQ

How do I find a slug? Open the company's careers page and look at the URL: job-boards.greenhouse.io/gitlab → gitlab, jobs.lever.co/spotify → spotify.

Why is country null sometimes? Some postings only say "New York, NY" or "Remote". We only fill country when it is explicit. Use locations text filters or includeRemoteWithoutCountry for those.

Why is employmentType null for Greenhouse? The public Greenhouse board API does not publish it.

Is it legal? See Terms of use below.

Does it support Ashby, Workable, SmartRecruiters, Recruitee, Workday or LinkedIn? Not now. Other sources may be added after a terms-of-use review.

Troubleshooting

  • "Board not found (404)": wrong slug, or the company moved to another ATS. Check the careers URL.
  • 0 results but no error: your filters are too strict, or the company has no open jobs. Remove filters and try again.
  • A large company returns only part of its jobs: raise maxJobsPerCompany.
  • Lever boards feel slow: Lever requests are deliberately spaced 1 second apart, as Lever's robots.txt asks.
  • HTTP 429/5xx: the Actor retries with exponential backoff (4 retries). If it keeps failing, lower maxConcurrency.

Terms of use

  • The Actor reads only the public, unauthenticated GET endpoints that Greenhouse (Job Board API) and Lever (Postings API) publish for careers pages. No logins, cookies, proxies, or anti-bot workarounds.
  • Lever requests are spaced at least 1 second apart; failed requests back off and honor Retry-After.
  • Job postings belong to the hiring companies. You are responsible for complying with Greenhouse's and Lever's terms, each employer's rights over its content, and the privacy laws that apply to you. Do not republish full descriptions without permission, and do not use the data for spam.
  • No candidate data is collected; e-mail addresses in descriptions are removed.

Opt-out for companies

If you are a company (or the ATS operator) and do not want your board read by this Actor, open an issue in this Actor's Issues tab with the ATS and board token/slug. We add confirmed requests to an exclusion list in the next release, normally within 5 business days.

Support

Soporte de domingo a viernes (support Sunday to Friday) through the Actor's Issues tab.

Part of IntegriApps MicroApps — integriapps.com.


Resumen en español

Agregador de vacantes de ATS de IntegriApps MicroApps. Descarga las vacantes abiertas desde las APIs públicas de Greenhouse y Lever (con 1 s entre peticiones a Lever), y las entrega con un esquema único (id, ats, company, title, department, location, country, remote, employmentType, postedAt, url, applyUrl, y descriptionText opcional). Filtra por palabras clave, ubicación, país, remoto y fecha, con un máximo de resultados. Sin login, sin CAPTCHA y sin datos personales. Tú indicas los slugs de las empresas (vienen en la URL de su página de empleos). Cobro por vacante guardada (USD 1.50 por 1,000 vacantes). Las empresas pueden pedir su baja abriendo un issue en el Actor. Soporte de domingo a viernes. Más en integriapps.com.