Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper API avatar

Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper API

Pricing

Pay per event

Go to Apify Store
Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper API

Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper API

Scrape every open job from any company's Greenhouse, Lever, Ashby or SmartRecruiters job board by domain. Title, department, location, salary, seniority, posted date and full description. Pay $0.001 per job. Callable from any MCP client (Claude, Cursor, ChatGPT).

Pricing

Pay per event

Rating

0.0

(0)

Developer

George Kioko

George Kioko

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

11 days ago

Last modified

Share

Greenhouse, Lever, Ashby and SmartRecruiters Jobs Scraper API: Every Open Job at Any Company, by Domain

One domain in. Every open job out. No login, no browser, no API key. Generic job-board scrapers make you know which ATS a company runs and what its board slug is. You pay $0.001 per job row. Probing the four ATS platforms, empty results and runs that find no board are free.

This Actor takes a company domain, finds which of Greenhouse, Lever, Ashby or SmartRecruiters hosts its public job board, and returns every open job as JSON with title, department, location, salary where stated, seniority, posted date and the full description, without a login, a browser or a proxy. It is built for recruiters and sourcers running a Greenhouse jobs scraper or Lever jobs scraper across target accounts, sales teams that need an ATS jobs API for hiring-signal outreach, and analysts tracking company job postings over time.

Greenhouse, Lever, Ashby and SmartRecruiters. Company domain in, ATS auto-detected. Full descriptions, decoded and as plain text. $1.00 per 1,000 jobs. MCP ready for AI agents.

Pricing

EventPriceYou pay when
job-listing$0.001One job row is delivered (default enrichment basic)
job-intent-enriched$0.015One job row is delivered with intent_signals (enrichment full)
apify-actor-start$0.00005The run starts (one event per GB of memory)

$1.00 per 1,000 jobs in basic mode. ATS detection, keyword, date and country filters are free. A company with no public board on the four platforms costs only the start fee. The intent-enriched mode is opt-in and 15 times the price, so leave enrichment on basic unless you want the tech keyword and hiring-surge flags.

Worked example. company set to stripe.com, limit 200, basic. 200 rows cost $0.20 plus the $0.00005 start fee, so $0.20 in total.

Domain in, board found

You do not need to know that Stripe runs Greenhouse or what its board slug is. Give the Actor stripe.com and it probes the four ATS APIs in parallel, picks the one that answers, and pulls the board.

{ "company": "stripe.com", "limit": 200, "days": 30 }

Bulk mode takes up to 50 domains in one run with companies. Slug derivation uses the domain stem (stripe.com becomes stripe), which works for most companies. Boards whose slug differs from the domain are reported as not found rather than guessed.

How it works

company domain (stripe.com)
|
v
slug from the domain stem ("stripe")
|
+----------------------+----------------------+-------------------+
v v v v
Greenhouse boards API Lever postings API Ashby posting API SmartRecruiters API
| | | |
+----------------------+----------+-----------+-------------------+
v
the board that answers is pulled in full
|
v
one row shape (title, department, location, salary
where stated, posted date, description as HTML and text)
|
v
your filters (keyword on title, days, country) then limit
|
v
charged job-listing row ($0.001) or intent_signals row ($0.015)
|
v
written to the dataset

What data does it extract?

ats_platform, company, domain, job_id, job_url (the company's own posting page), job_title, department, posted_at, location, remote_policy where the ATS states it, salary_min, salary_max, salary_currency where the ATS states them, seniority (entry, mid, senior, lead, executive, or the ATS label), description_html and description_text. With enrichment full each row also carries intent_signals with tech_keywords, first_in_function, hiring_surge and department_count_14d.

What is NOT returned

  • Workday, iCIMS, Taleo, BambooHR or any ATS other than the four named
  • Jobs from LinkedIn, Indeed or other aggregators
  • Emails, phone numbers, recruiter or hiring manager contacts
  • A salary on most rows. Only boards that publish compensation fill salary_min and salary_max
  • Descriptions for SmartRecruiters boards (their public listing endpoint carries none)
  • The description fields in enrichment full mode, which replaces them with intent_signals
  • Jobs from companies whose board slug differs from their domain stem

Quick start

  1. Open the Actor and enter a company domain, or paste the JSON below.
  2. Click Start. A single-company run finishes in a few seconds.
  3. Download the dataset as JSON, CSV or Excel, or read it from the API.
{
"company": "stripe.com",
"keyword": "engineer",
"days": 30,
"limit": 100,
"enrichment": "basic"
}

Input

{
"companies": ["stripe.com", "notion.so", "figma.com"],
"keyword": "account executive",
"days": 14,
"country": "US",
"limit": 50,
"enrichment": "basic"
}
FieldTypeDefaultWhat it does
companystringstripe.comOne company domain. The ATS is detected automatically
companiesarray of stringsnoneUp to 50 domains in one run. Overrides company
keywordstringnoneCase-insensitive match on the job title
daysinteger14Only jobs posted in the last N days (1 to 90)
countrystringnoneISO country code filter on location, for example US, UK, DE
limitinteger50Rows per company (1 to 500). Caps what you pay
enrichmentbasic or fullbasicfull adds intent_signals at $0.015 per row

Output

One real row from a live run.

{
"ats_platform": "greenhouse",
"company": "stripe",
"job_id": "7994330",
"job_url": "https://stripe.com/jobs/search?gh_jid=7994330",
"job_title": "Account Executive, Enterprise - Hunter",
"department": "1175 Enterprise - Account Executives (NA)",
"posted_at": "2026-08-18",
"location": "US-San Francisco, US-Chicago, US-New York",
"remote_policy": null,
"salary_min": null,
"salary_max": null,
"salary_currency": null,
"seniority": "mid",
"description_html": "<h2><strong>Who we are</strong></h2>\n<h3><strong>About Stripe</strong></h3>\n<p>Stripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone’s reach while doing the most important work of your career.</p>\n<h2><strong>What you’ll do</strong></h2>\n<p>As an Enterprise Account Executive covering new business, you’ll identify new opportunities to expand Stripe’s footprint. Specifically, we’re looking for someone who can execute on long-term sales strategies, engage with internal and external stakeholders, align on technical and business requirements with product teams, build value in competitive situations, lead commercial negotiations, and close deals.</p>\n<h3><strong>Responsibilities</strong></h3>\n<ul>\n<li>Expand business with high growth technology companies</li>\n<li>Develop outbound strategies to create and nurture opportunities</li>\n<li>Drive deal strategy and commercial negotiations for large, complex renewals</li>\n<li>Develop relationships with executive stakeholders within your book of business</li>\n<li>Be responsible for account mapping and coordinating effective meetings with the appropriate external stakeholders expanding the customer relationship</li>\n<li>Lead and contribute to team projects to develop and refine our sales process and help shape the Stripe sales culture</li>\n</ul>\n<h2><strong>Who you are</strong></h2>\n<p>We’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.</p>\n<h3><strong>Minimum requirements</strong></h3>\n<ul>\n<li>10+ years of sales experience, preferably selling a highly technical product to enterprise customers, with a track record of top performance</li>\n<li>Ability to understand technical requirements and craft solutions across multiple products</li>\n<li>Ability to develop and execute account plans spanning multiple business units across complex organizations</li>\n<li>A knack for working well with a wide range of people, both internally and externally</li>\n<li>Strong presentation skills, particularly for in-person meetings with multiple stakeholders</li>\n<li>Proven ability to lead complex negotiations involving bespoke commercial agreement</li>\n<li>Ability to operate in a highly ambiguous and fast-paced environment</li>\n<li>Strong interest in technology and a deep understanding of the space</li>\n</ul>",
"description_text": "Who we are\nAbout Stripe\nStripe is a financial infrastructure platform for businesses. Millions of companies—from the world’s largest enterprises to the most ambitious startups—use Stripe to accept payments, grow their revenue, and accelerate new business opportunities. Our mission is to increase the GDP of the internet, and we have a staggering amount of work ahead. That means you have an unprecedented opportunity to put the global economy within everyone’s reach while doing the most important work of your career.\nWhat you’ll do\nAs an Enterprise Account Executive covering new business, you’ll identify new opportunities to expand Stripe’s footprint. Specifically, we’re looking for someone who can execute on long-term sales strategies, engage with internal and external stakeholders, align on technical and business requirements with product teams, build value in competitive situations, lead commercial negotiations, and close deals.\nResponsibilities\nExpand business with high growth technology companies\nDevelop outbound strategies to create and nurture opportunities\nDrive deal strategy and commercial negotiations for large, complex renewals\nDevelop relationships with executive stakeholders within your book of business\nBe responsible for account mapping and coordinating effective meetings with the appropriate external stakeholders expanding the customer relationship\nLead and contribute to team projects to develop and refine our sales process and help shape the Stripe sales culture\nWho you are\nWe’re looking for someone who meets the minimum requirements to be considered for the role. If you meet these requirements, you are encouraged to apply. The preferred qualifications are a bonus, not a requirement.\nMinimum requirements\n10+ years of sales experience, preferably selling a highly technical product to enterprise customers, with a track record of top performance\nAbility to understand technical requirements and craft solutions across multiple products\nAbility to develop and execute account plans spanning multiple business units across complex organizations\nA knack for working well with a wide range of people, both internally and externally\nStrong presentation skills, particularly for in-person meetings with multiple stakeholders\nProven ability to lead complex negotiations involving bespoke commercial agreement\nAbility to operate in a highly ambiguous and fast-paced environment\nStrong interest in technology and a deep understanding of the space",
"domain": "stripe.com"
}

Use from Claude, ChatGPT and any MCP agent

Add the Actor as a tool through the Apify MCP server at https://mcp.apify.com/?tools=george.the.developer/ats-hire-trigger-intent-scraper. Ask your agent which engineering roles Stripe posted in the last two weeks and it will fill the input for you.

From code with the Apify client.

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('george.the.developer/ats-hire-trigger-intent-scraper').call({
company: 'notion.so',
days: 30,
limit: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'jobs');

With curl, one request that waits for the run and returns the rows.

curl -X POST "https://api.apify.com/v2/acts/george.the.developer~ats-hire-trigger-intent-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"company": "notion.so", "days": 30, "limit": 100}'

Integrations

Clay. Add an HTTP API enrichment per company row that calls the run-sync endpoint above with the row's domain as company and map job_title, department, posted_at and job_url to columns.

n8n and Make. Use the Apify node or module, pick this Actor, pass companies from your account list, then read the dataset. Schedule it weekly with days set to 7 to see only new postings.

Google Sheets. Export the dataset as CSV from the run page or use the Apify Google Sheets integration on the run.

Use cases

  • Recruiters and sourcers pull every open role at a target company in seconds instead of paging through its careers site.
  • Sales teams run their account list weekly with days set to 7 and keyword set to the role their product sells into.
  • VC and research track hiring velocity by department across a portfolio with bulk mode.
  • Job boards refresh company pages from the source ATS with decoded descriptions ready to publish.
  • AI agents call it from an MCP client to answer whether a company is hiring sales engineers right now.

FAQ

Do I need to know which ATS the company uses?

No. Give the domain and the Actor probes Greenhouse, Lever, Ashby and SmartRecruiters and uses the one that answers.

What if the company's board slug is not its domain stem?

The run reports no board found and charges only the start fee. Slugs that differ from the domain are not guessed in this version.

Why is salary_min empty on most rows?

Because most boards do not publish compensation. Only Lever and Ashby boards that expose a range fill those fields.

What does enrichment full add?

intent_signals with the tech keywords found in the description, a first-in-function flag for founding or head-of roles, and a hiring-surge flag when five or more jobs in the same department were posted in 14 days. It costs $0.015 per row and omits the description fields.

Does it scrape Workday or LinkedIn?

No. Only the four public ATS APIs named above.