ATS Jobs Aggregator + Domain Discovery avatar

ATS Jobs Aggregator + Domain Discovery

Pricing

from $2.00 / 1,000 results

Go to Apify Store
ATS Jobs Aggregator + Domain Discovery

ATS Jobs Aggregator + Domain Discovery

Pull open job postings straight from companies' own career sites across the major ATS platforms into one unified schema. Give it an ATS board, a careers URL, or just a company domain — it discovers which ATS the company uses. Public job-board data, no login.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

ATS Jobs Aggregator

Pull open job postings straight from companies' own career sites across the major hiring platforms — Greenhouse, Lever, Ashby, SmartRecruiters, Recruitee, Workable, and Workday — into one clean, unified list.

Point it at a company any way you like:

  • an ATS board you already know (greenhouse / databricks),
  • a careers-page or job-board URL, or
  • just a company website (databricks.com) — the actor figures out which hiring platform the company uses and pulls the jobs for you.

Built for job boards, recruiters, sales-intelligence teams, labor-market researchers, and anyone who wants first-party job data without scraping a dozen different sites by hand.


Why use this actor

  • No account, no API key, no login. Every source is a public company job board.
  • One unified format for every company, no matter which hiring platform they run on — so Greenhouse, Lever, Ashby and the rest all come out with the same field names.
  • Discovery by domain. Don't know a company's hiring platform? Give it the website and the actor detects the platform and board automatically.
  • Mix and match any number of companies in a single run.
  • Nothing lost. Every posting keeps the platform's original data intact under a raw field, on top of the unified fields.
  • Stable output ready for spreadsheets, databases, or pipelines.

How it works

  1. You give the actor a list of companies — as an ATS board, a careers URL, or a plain company website.
  2. For anything given as a website or a generic careers page, the actor visits the careers page and detects which hiring platform the company uses (and confirms the right board before pulling).
  3. It reads every open posting from that company's job board.
  4. Each posting comes back in one unified shape — title, location, department, employment type, remote flag, posting date, and a direct apply link — plus the platform's original data.
  5. Results stream into your dataset, ready to download as JSON, CSV, or Excel.

You don't manage any scrapers, browsers, or logins.

Input

{
"companies": [
{ "ats": "greenhouse", "token": "databricks" },
{ "ats": "lever", "token": "palantir" },
{ "ats": "ashby", "token": "ramp" },
{ "careersUrl": "https://careers.smartrecruiters.com/BoschGroup" },
{ "domain": "databricks.com" }
],
"maxJobsPerCompany": 0,
"maxConcurrency": 6,
"proxyConfiguration": { "useApifyProxy": false }
}

Each entry in companies is one of three shapes:

ShapeExampleWhen to use
{ "ats": "...", "token": "..." }{ "ats": "greenhouse", "token": "databricks" }You already know the company's hiring platform and board name.
{ "careersUrl": "..." }{ "careersUrl": "https://jobs.lever.co/palantir" }You have a link to the company's job board or careers page.
{ "domain": "..." }{ "domain": "databricks.com" }You only have the company website — the actor discovers the rest.

Supported hiring platforms for the ats field: greenhouse, lever, ashby, smartrecruiters, recruitee, workable, workday. For Workday, the token is tenant/datacenter/site (e.g. nvidia/wd5/NVIDIAExternalCareerSite).

FieldTypeDescription
companiesarrayThe companies to pull jobs from (see shapes above).
maxJobsPerCompanyintegerCap postings kept per company. 0 = no limit (whole board). Default 0.
maxConcurrencyintegerHow many companies to process at once. Default 6.
proxyConfigurationobjectOptional. Not needed for most companies.

Output

One record per open job posting. Every record carries the same unified fields regardless of platform, plus the platform's own untouched object under raw.

{
"_input": "ashby:ramp",
"_source": "S1-ashby",
"_scrapedAt": "2026-07-10T17:57:21Z",
"recordType": "JOB_POSTING",
"company": "ramp",
"atsPlatform": "ashby",
"companyToken": "ramp",
"jobId": "03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"jobTitle": "Technical Consultant, Mid-Market",
"location": "Remote (US)",
"department": "Sales",
"employmentType": "FullTime",
"remote": true,
"postedAt": "2026-07-07T20:47:09.753+00:00",
"jobUrl": "https://jobs.ashbyhq.com/ramp/03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"descriptionHtml": "<h1><strong>About Ramp</strong></h1><p style=\"min-height:1.5em\">Ramp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends. We automate how over $200B in annualized spend flows in and out of 70,000+ companies: authorizing payments, flagging risk, categorizing spend, and closing books.</p><p style=\"min-height:1.5em\">The problems are high-stakes, ...",
"raw": {
"id": "03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"title": "Technical Consultant, Mid-Market",
"department": "Sales",
"team": "Solutions Consulting",
"employmentType": "FullTime",
"location": "Remote (US)",
"shouldDisplayCompensationOnJobPostings": true,
"secondaryLocations": [
{
"location": "San Francisco, CA",
"address": {
"postalAddress": {
"addressRegion": "California ",
"addressCountry": "USA",
"addressLocality": "San Fransisco"
}
}
},
{
"location": "New York, NY (HQ)",
"address": {
"postalAddress": {
"addressRegion": "NY",
"addressCountry": "USA",
"addressLocality": "New York City"
}
}
}
],
"publishedAt": "2026-07-07T20:47:09.753+00:00",
"isListed": true,
"isRemote": true,
"workplaceType": "Remote",
"address": {
"postalAddress": {
"addressCountry": "United States"
}
},
"jobUrl": "https://jobs.ashbyhq.com/ramp/03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc",
"applyUrl": "https://jobs.ashbyhq.com/ramp/03e2d4e1-73ad-4f09-a058-2eb9ce34c2bc/application",
"descriptionHtml": "<h1><strong>About Ramp</strong></h1><p style=\"min-height:1.5em\">Ramp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spends. We automate how over $200B in annualized spend flows in and out of 70,000+ companies: authorizing payments, flagging risk, categorizing spend, and closing books.</p><p style=\"min-height:1.5em\">The problems are high-stakes, data-dense, and unforgiving.</p><p style=\"min-height:1.5em\">We hire people with high agency and high urgency. We look for slope over intercept. We care less about where you trained and ...",
"compensation": {
"compensationTierSummary": "$151K – $231K • Offers Equity • Multiple Ranges",
"scrapeableCompensationSalarySummary": "$151K - $231K",
"compensationTiers": [
{
"id": "a89b527f-87d2-44d2-8af3-e43c9284a75f",
"tierSummary": "OTE $168K – $231K • Offers Equity • 75/25 Split",
"title": "SF/NY",
"additionalInformation": "75/25 Split",
"components": [
{
"id": "8c3db90b-4041-4272-9809-b18aba962e19",
"summary": "Offers Equity",
"compensationType": "EquityCashValue",
"interval": "1 YEAR",
"currencyCode": "USD",
"minValue": null,
"maxValue": null
},
{
"id": "74258ff5-a991-4379-88b2-4357ecc67c99",
"summary": "OTE $168K – $231K",
"compensationType": "Salary",
"interval": "1 YEAR",
"currencyCode": "USD",
"minValue": 168000,
"maxValue": 231000
}
]
},
{
"id": "846be204-731f-42fc-b204-65fbb3ab428e",
"tierSummary": "OTE $151K – $207K • Offers Equity • 75/25 Split",
"title": "Nationwide",
"additionalInformation": "75/25 Split",
"components": [
{
"id": "f2fef6cd-9b44-4e4f-b2aa-c150240784ce",
"summary": "OTE $151K – $207K",
"compensationType": "Salary",
"interval": "1 YEAR",
"currencyCode": "USD",
"minValue": 151000,
"maxValue": 207000
},
{
"id": "3eb9e8e8-697b-4608-9b96-edc93fdd18ec",
"summary": "Offers Equity",
"compensationType": "EquityCashValue",
"interval": "1 YEAR",
"currencyCode": "USD",
"minValue": null,
"maxValue": null
}
]
}
],
"summaryComponents": [
{
"compensationType": "EquityCashValue",
"minValue": null,
"maxValue": null,
"interval": "1 YEAR"
},
{
"minValue": 151000,
"maxValue": 231000,
"currencyCode": "USD",
"interval": "1 YEAR",
"compensationType": "Salary"
}
]
}
}
}

A job discovered from a plain domain looks the same, plus a discoveredVia field showing which careers page revealed the platform:

{
"_input": "greenhouse:databricks",
"_source": "S1-greenhouse",
"recordType": "JOB_POSTING",
"company": "databricks.com",
"atsPlatform": "greenhouse",
"companyToken": "databricks",
"jobId": "8437000002",
"jobTitle": "Solutions Architect",
"location": "Japan",
"department": "Field Engineering",
"postedAt": "2026-03-05T09:32:12-05:00",
"jobUrl": "https://databricks.com/company/careers/open-positions/job?gh_jid=8437000002",
"discoveredVia": "https://databricks.com/careers",
"raw": { "... full Greenhouse job object ..." }
}

Output fields

FieldTypeDescription
companystringThe company (the domain if discovered, otherwise the board name).
atsPlatformstringWhich hiring platform the job came from.
companyTokenstringThe board identifier on that platform.
jobIdstringThe posting's ID.
jobTitlestringJob title.
locationstringLocation text as the company published it.
departmentstringDepartment or team, when the platform provides one.
employmentTypestringFull-time / part-time / contract, when available.
remotebooleanWhether the posting is remote.
postedAtstringWhen the job was posted.
jobUrlstringDirect link to the posting.
descriptionHtmlstringFull job description (when the platform includes it).
rawobjectThe platform's original job object, untouched.
discoveredViastringThe careers page that revealed the platform (discovery inputs only).
_input / _source / _scrapedAtstringWhich company, which platform, and when it was collected.

If a website has no detectable hiring platform, the actor emits a clear record with _error: "ats_not_found" (and the pages it checked) instead of silently skipping it. A resolved board with zero openings comes back as no_open_jobs.

Verified live (2026-07-11)

Pulled real postings from Greenhouse (databricks), Lever (palantir), Ashby (ramp), and SmartRecruiters (BoschGroup); resolved a Lever board from a careers URL; and discovered the hiring platform straight from databricks.com and ramp.com.

Known limits

  • Discovery covers static careers pages. It works when the careers page names or embeds a supported hiring platform (this covers a large share of companies). A few sites load their board through heavy scripting with no on-page hint — for those, pass the board directly as { "ats": "...", "token": "..." } or use the job-board URL. Undetectable sites return ats_not_found rather than being dropped.
  • Workday discovery needs the full board coordinates (tenant/datacenter/site), so Workday is best addressed directly rather than by bare domain.
  • SmartRecruiters descriptions aren't in the board listing, so descriptionHtml may be empty there (all listing fields are still preserved under raw).
  • Board names can change. A renamed board returns not_found; update the input. Some boards can legitimately be empty (the company switched platforms).

This actor gives you a broad, unified snapshot of who's hiring across many companies at once. If you instead want to track one company's hiring over time — how many roles opened or closed between runs — see the companion ATS Hiring-Velocity actor. They complement each other: this one is for breadth and discovery, the other for per-company trends.