Greenhouse & Lever Jobs Scraper: Career Site Jobs | $2/1k
Pricing
Pay per event
Greenhouse & Lever Jobs Scraper: Career Site Jobs | $2/1k
Career-site jobs at $0.002 each, with seniority, department and ready-made company presets. Open roles from the public job-board APIs of Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee plus schema.org pages. One clean schema with salary, remote flag, apply URL.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Detroit Web Agent - Open Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
Career Site Jobs API: Greenhouse, Lever, Ashby and 3 more ATS

| Price per 1,000 jobs | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
| This Actor | $2.00 | $2.00 | $2.00 | $2.00 |

Video walkthrough: [Watch the 1-minute demo on YouTube](https://youtu.be/xrKFGySSP50

)


- In short: Career Site Jobs API (Apify actor
transparent_meteorite/ats-open-roles) returns open jobs straight from company career sites through the public job-board APIs of Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee, plus schema.org JobPosting pages, in one schema. - Who it is for: job boards and aggregators, recruiters, sales teams using hiring as a buying signal, labor-market researchers.
- Input: company names or career-site URLs, keywords, excluded keywords, locations, remote only, posted within days, only-new mode.
- Output: job title, company, location, remote flag, department, salary when published, posted date, apply URL, ATS name, optional description.
- Price: $0.002 per job plus $0.00005 per run start. Pay per result, no subscription; Apify's free plan credit covers a first test.
- Limits: only companies whose career site runs on a supported ATS or publishes schema.org JobPosting; salary only when the employer publishes it.
Key facts
- Actor name: Career Site Jobs API
- Actor ID:
transparent_meteorite/ats-open-roles - Store page: https://apify.com/transparent_meteorite/ats-open-roles
- Data source: the employers' own public ATS job-board APIs
- Pricing model: pay per event (
apify-actor-start$0.00005,job-extracted$0.002) - Output formats: JSON, CSV, Excel, XML, HTML table, RSS (Apify dataset)
- Access: Apify Console, REST API, JavaScript/Python clients, schedules, webhooks, Apify MCP server
- Login or third-party API key needed: no, only an Apify account
- Also known as: Greenhouse jobs API, Lever jobs scraper, Ashby jobs API, ATS jobs API, career site job listing API
- Maintainer: transparent_meteorite (independent developer)
- Last updated: 2026-10-07
Give it a list of companies; get every open job from their career sites in one clean table, for $1.20 per 1,000 jobs.
It reads the public job-board APIs of Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee, BambooHR, Breezy HR, Pinpoint and Personio (plus the free Arbeitnow aggregate feed via https://www.arbeitnow.com/), plus any career page that publishes schema.org JobPosting data (Teamtailor sites, many custom pages). Paste careers URLs or plain company names; the actor finds the ATS, pulls the open roles and normalizes them into one schema. Salary is included whenever the company publishes it.
Run in 30 seconds
- Open the prefilled run (free Apify account; it creates a saved task with a working input).
- Press Start. The input is small on purpose, so the first run is quick and costs a few cents at most.
- Open the Output tab, switch to Table view, download as CSV, Excel or JSON.
Prefilled input:
{"companies": ["airbnb","https://jobs.lever.co/spotify","https://jobs.ashbyhq.com/ramp"],"remoteOnly": false,"postedWithinDays": 0,"onlyNewSinceLastRun": false,"maxJobsPerCompany": 3,"maxJobsTotal": 3,"includeDescription": false,"stateStoreName": "ats-open-roles-seen"}
Ready-made presets by use case (each opens as a saved task you can edit):
Why choose this over alternatives
- Six ATS job-board APIs (Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee) plus schema.org JobPosting pages, in one schema.
- Every job carries a
senioritylevel and a normalizeddepartmentandemploymentType, and you can filter by department and employment type. - Ready-made company presets: YC top (25 boards), AI labs (25), fintech (31) and devtools (40).
- Jobs you already received or filtered out are not charged.
| This actor | Typical alternatives | |
|---|---|---|
| Price per job | $0.002 | $0.012 (most-used career-site jobs listing) |
Measured 2026-10-09 (source: Apify Store public pricing of the most-used listings in this category).
Sample output
Real rows from a run on Oct 5, 2026 (8 companies, 1,845 open jobs listed, 5 taken per company):
| Company | ATS | Title | Location | Type | Posted | Salary |
|---|---|---|---|---|---|---|
| Ramp | ashby | Design Systems Lead | New York, NY (HQ) | FULL_TIME | 2026-09-30 | 280,000-385,000 USD/year |
| Airbnb | greenhouse | Software Engineer, Passport & Commerce, Android | Remote, USA | 2026-10-01 | 162,000-186,000 USD/year | |
| Spotify | lever | Legal Counsel, Litigation and Copyright | New York, NY | FULL_TIME | 2026-10-01 | |
| ServiceNow | smartrecruiters | Sr Software Engineer | Santa Clara, California | FULL_TIME | 2026-10-03 | |
| bunq | recruitee | iOS Developer | Amsterdam, Netherlands | FULL_TIME | 2026-09-29 | |
| Blueground | workable | Marketing Designer | Athens, Greece | OTHER | 2026-09-23 | |
| Tibber | jsonld | Senior AI Platform Engineer | Stockholm, SE | FULL_TIME | 2026-08-27 |
What you get
One row per open job:
| Field | What it is |
|---|---|
company, companySlug | Company name and its board slug |
ats | greenhouse, lever, ashby, workable, smartrecruiters, recruitee or jsonld |
jobId | The ATS's own job id |
title, department, location | As published |
remote, workplaceType | true/false when the ATS says so, otherwise null (never guessed) |
employmentType | FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, OTHER or null |
postedAt, updatedAt | ISO 8601 UTC, when the ATS exposes them |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | Only when the posting publishes a range |
applyUrl, jobUrl | Direct links to apply and to the posting |
descriptionText | Plain-text description (emails in it are replaced with [email removed]) |
sourceUrl, scrapedAt | Where and when it was read |
New in v0.4 (every row, nothing removed):
| Field / input | What it is |
|---|---|
seniority | Heuristic from the job title only: intern, junior, mid, senior, lead, manager, director, vp or c-level. mid means no seniority word was found. Titles are free text, so treat it as a best guess, not a fact (for example "Staff Engineer" becomes lead, "Product Manager" stays mid). |
department | Same field as before, now whitespace-cleaned; null when the board publishes none. |
employmentType | Same enum as before (FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, OTHER). In our Oct 9 check Ashby, SmartRecruiters and Lever boards published it for 99-100% of jobs and Greenhouse boards for none (0 of 4,364), so a Greenhouse job has null. |
input departments | Keep jobs whose department contains any of these words (substring, not case-sensitive). Jobs without a department are dropped when set. |
input employmentTypes | full-time, part-time, contract, intern, temporary. Jobs whose ATS publishes no type are dropped when set, so on Greenhouse boards this filter returns nothing. |
input companyPreset | yc-top (25 boards), ai-labs (25), fintech (31) or devtools (40); comma-separate to combine. Each board returned live jobs on 2026-10-09 (at least 10 open roles). Lists are curated by us, not an official ranking. |
All filters default to off, so existing inputs return exactly what they did before.
New 2026-10-13 (every row; all filters default to off):
| Field / input | What it is |
|---|---|
salaryAnnualMin, salaryAnnualMax, compensationText | Published pay converted to a yearly figure (hourly x 2080, monthly x 12) and a readable string such as USD 120,000 - 150,000 per year. null when no pay is published. |
datePosted, daysSincePosted | Normalised posting date (YYYY-MM-DD) and whole days since posting. |
skills, benefits, yearsExperienceMin | Read from the description text: known tools and languages (whole-word match from a fixed list), benefits such as 401(k), health insurance, equity and unlimited PTO, and years of experience when stated. Empty when the description is off or missing. |
input queries | Job title keywords (title only). |
input postedAfter, postedBefore | Posting date window, YYYY-MM-DD. Undated jobs are dropped when set. |
input minSalary, maxSalary | Yearly pay window on the published range. Jobs with no published pay are dropped when set. |
input workModels | remote, hybrid, on_site. |
input skillsInclude, skillsExclude | Whole-word match on title and description; excluded jobs are not charged. |
input includeCompanies, excludeCompanies | Keep or skip companies by name or board slug (partial match). |
Company size, industry and LinkedIn are not published by the career boards, so they are not returned (nothing is guessed).
Export as CSV, Excel or JSON, or read it from the API.
Quick start
Press Start with the prefilled form: Airbnb, Spotify and Ramp, 10 newest jobs each, about $0.036.
Engineering roles at a list of companies, every open job:
{"companies": ["stripe", "https://jobs.ashbyhq.com/ramp", "https://jobs.lever.co/spotify", "notion"],"keywords": ["engineer", "developer"],"excludeKeywords": ["intern"],"maxJobsPerCompany": 1000}
Daily "new jobs only" feed for a watchlist (schedule it once a day):
{"companies": ["airbnb", "stripe", "https://apply.workable.com/blueground/"],"onlyNewSinceLastRun": true,"stateStoreName": "my-watchlist"}
Remote or local roles posted in the last two weeks (new filters):
{"companies": ["stripe", "airbnb", "notion"],"locations": ["United States", "Detroit"],"remoteOnly": false,"postedWithinDays": 14}
locations matches any substring of the job location, remoteOnly keeps jobs flagged remote (or with "remote" in the location), postedWithinDays drops older jobs (jobs with no posted date are kept).
Fast run without descriptions:
{ "companies": ["https://jobs.smartrecruiters.com/ServiceNow"], "includeDescription": false, "maxJobsPerCompany": 500 }
Monitor mode: only new or changed jobs
Set monitorMode to true on a schedule: the first run is a baseline and returns everything; later runs return only new or changed jobs (unchanged jobs are skipped and not charged). State is kept in the key-value store ats-open-roles-monitor under MONITOR_<monitorName> (set monitorName per watch list).
Removed records (reportRemoved, opt-in)
Turn on reportRemoved (together with monitorMode) and a run also emits jobs that were in your saved baseline but are absent now, once each, with changeType: "removed", lastSeenOn and a removedNote. Removed rows are never charged; new and changed rows are priced exactly as before. Nothing changes if you leave it off.
Honesty guards: a job is reported removed only for companies whose full job board was read from the public ATS API this run (not cut by maxJobsPerCompany/maxJobsTotal, no partial page, no early stop). An empty board is never trusted, since it looks the same as an outage; scraped JSON-LD pages are excluded. The row is skipped (and the reason is logged and in OUTPUT.monitor.removedSkipped) when the fetch was incomplete or hit an error, when you changed the filters since the baseline was built, or when the baseline was created before this option existed (run once with it on to build a scope-tagged baseline). A removed row means "not returned any more", which can also mean the source retired or re-filtered the record.
Pricing
$0.0012 per job delivered ($1.20 per 1,000 jobs), plus the platform's $0.00005 start fee per run.
| You pull | You pay |
|---|---|
| 30 jobs (the prefilled Start) | $0.036 |
| 1,000 jobs | $1.20 |
| 50 companies x 100 jobs | $6.00 at most |
Jobs removed by your keyword filters and jobs you already received (with onlyNewSinceLastRun) are never charged. A repeat run on the same input with dedupe on charges $0 for jobs. Your run's maximum-charge limit is respected.
Why per company? Broad job feeds charge you for millions of postings across the web. If you already know which companies matter to you (your accounts, competitors, a portfolio, a target list), pulling just their career sites can cost less and stay fresher: the data comes straight from the ATS the company uses.
Apify's free plan includes $5 of monthly platform credit, which covers about 2,000 job listings with this actor (at $0.002 per result, plus small platform usage). Paid Apify plans get the same data with no monthly cap; scheduled daily runs stay cheap because each run only returns new records.
Use with the API, n8n, Make, Zapier, Clay or AI agents
API (returns the rows in one call):
curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~ats-open-roles/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies":["stripe","ramp"],"keywords":["sales"],"onlyNewSinceLastRun":false}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("transparent_meteorite/ats-open-roles").call(run_input={"companies": ["stripe", "ramp"]})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["company"], job["title"], job["location"], job["applyUrl"])
- n8n, Make, Zapier: use the Apify app's "Run Actor" step with actor
transparent_meteorite/ats-open-roles, then send rows to Sheets, Airtable, Slack or your ATS. - Clay: add an HTTP API column that calls the run-sync endpoint with the company's careers URL or ATS slug, and count open roles per account.
- AI agents (MCP): connect
https://mcp.apify.com?tools=transparent_meteorite/ats-open-rolesto Claude, Cursor or any MCP client, and ask "what is Ramp hiring for?".
Use from AI agents (MCP, ChatGPT, Claude, Perplexity)
Career Site Jobs API works as a tool for AI assistants through the official Apify MCP server. Add this server URL to any MCP client (Claude Desktop, Claude Code, Cursor, ChatGPT connectors, VS Code):
https://mcp.apify.com/?actors=transparent_meteorite/ats-open-roles
Claude Desktop / Cursor config:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?actors=transparent_meteorite/ats-open-roles","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Then ask in plain language, for example: "How do I scrape Greenhouse or Lever jobs for a list of companies?"
Call it directly over HTTP (runs the actor and returns the dataset items in one request):
curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~ats-open-roles/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies": ["airbnb", "https://jobs.lever.co/spotify", "https://jobs.ashbyhq.com/ramp"], "maxJobsPerCompany": 5, "onlyNewSinceLastRun": false}'
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("transparent_meteorite/ats-open-roles").call(run_input={"companies": ["airbnb", "https://jobs.lever.co/spotify", "https://jobs.ashbyhq.com/ramp"], "maxJobsPerCompany": 5, "onlyNewSinceLastRun": false})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
The same actor works in n8n, Make, Zapier, LangChain, LlamaIndex and CrewAI through their Apify integrations.
Questions people ask
How do I scrape Greenhouse or Lever jobs for a list of companies? Put the company names or career URLs in companies; the actor detects the ATS and returns every open job in one schema.
Is there a jobs API that covers several ATS platforms? Yes, this one covers Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee. For Workday sites use the Workday Jobs Scraper.
Can I get only newly posted jobs? Yes, set onlyNewSinceLastRun true and schedule it.
Use it from code
Small real input: it returns only a couple of rows, so a test run costs very little (see Pricing). Set the APIFY_TOKEN environment variable to your token from Apify Console > Settings > API & Integrations.
Python (pip install apify-client)
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run_input = {'companies': ['https://jobs.lever.co/spotify'],'maxJobsPerCompany': 2,'maxJobsTotal': 2,'onlyNewSinceLastRun': False}run = client.actor("transparent_meteorite/ats-open-roles").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript / Node.js (npm install apify-client)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const input = {"companies": ["https://jobs.lever.co/spotify"],"maxJobsPerCompany": 2,"maxJobsTotal": 2,"onlyNewSinceLastRun": false};const run = await client.actor('transparent_meteorite/ats-open-roles').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
curl (runs the actor and returns the dataset items in one call)
curl -X POST "https://api.apify.com/v2/acts/transparent_meteorite~ats-open-roles/run-sync-get-dataset-items" \-H "Authorization: Bearer $APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"companies": ["https://jobs.lever.co/spotify"], "maxJobsPerCompany": 2, "maxJobsTotal": 2, "onlyNewSinceLastRun": false}'
Send results to Google Sheets, Zapier, Make or n8n
- Google Sheets: every run's dataset has a CSV export link:
https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=true(the dataset ID is on the run's Storage tab). In Sheets,=IMPORTDATA("<that link>")loads it. Anyone with the link can read that dataset, so share it carefully. To export to Google Drive automatically, use the Google Drive integration on the actor's Integrations tab. - Zapier: in the Apify app, use the trigger Finished Actor run (or Run Actor as an action) with
transparent_meteorite/ats-open-roles, then Fetch dataset items and pass the rows to Google Sheets, a CRM or Slack. - Make: the Apify app has Watch Actor Runs, Run an Actor and Get Dataset Items modules; connect them to any Make app.
- n8n: install the Apify node (
@apify/n8n-nodes-apify) and use Run an Actor and get dataset, or the On new Apify event trigger. - Schedule and webhooks: create a Task with your input, add a Schedule in Apify Console, and add a webhook if you want a call when a run finishes.
See the Apify integrations docs for setup steps.
Use cases
- Job boards and aggregators: one schema for jobs from Greenhouse, Lever, Ashby and the other supported ATS.
- Sales teams: use new openings as a buying signal (for example a company hiring its first data engineer).
- Recruiters: watch target companies and get only newly posted roles each day.
- Labor-market research: track openings by keyword, location or remote status across a company list.
- Internal tools: feed a Slack channel or sheet with new roles at the companies you follow.
New to Apify? Create a free account and run this Actor in under a minute. Some links are affiliate links.
Related actors
More tools from the same publisher that fit this workflow:
- LinkedIn Public Jobs Scraper: public LinkedIn job listings with salary and level
- Workday Jobs Scraper: jobs from Workday career sites with salary and remote filters
- Company Enrichment by Domain: enrich a domain with socials, emails and tech stack
- Website Email Extractor: pull emails, phones and socials from each business website
- Website Tech Stack Detector: detect the CMS, frameworks and hosting behind any site
- Local Business Leads: find local businesses with no website from OpenStreetMap, a cheap complement to Maps data
Use from AI agents: every actor here is callable through the Apify MCP server (mcp.apify.com) and our open-data-actors MCP endpoint.
FAQ
How do I scrape jobs from Greenhouse?
Add the board URL (https://boards.greenhouse.io/stripe) or just the slug (stripe) to companies. The actor uses Greenhouse's public job-board API, so you get every open role with no login and no browser.
How do I get all jobs from a Lever or Ashby career page?
Same thing: paste https://jobs.lever.co/<company> or https://jobs.ashbyhq.com/<company>, and raise maxJobsPerCompany to cover the board.
How do I find which ATS a company uses?
Enter the company name (for example airbnb). The actor checks all ten ATS APIs and uses the board with the most jobs; the ats column tells you which one it found.
Can I get salary ranges from job postings?
Yes, when the company publishes them: Greenhouse pay transparency, Lever salary range, Ashby compensation, Recruitee, and JSON-LD baseSalary. Otherwise the salary fields are null. In our Oct 5 sample, Airbnb and Ramp rows carried ranges.
How do I get only new job postings each day?
Turn on onlyNewSinceLastRun and schedule the actor daily. It remembers which jobs you received (per company, in a named store) and returns only new ones. Already-seen jobs are not charged.
How is seniority worked out, and how reliable is it?
From the job title only, with fixed keyword rules (no AI). Management words win over level words, so "Senior Engineering Manager" is manager, while "Senior Product Manager" is senior. It is a heuristic: unusual titles fall back to mid, and companies use levels differently.
How do I fetch jobs from a ready-made list of companies?
Set companyPreset to yc-top, ai-labs, fintech or devtools. If you leave companies at its default, only the preset is fetched; companies you type yourself are added on top. Combine with departments, employmentTypes, keywords or remoteOnly to narrow it down.
Does it support Workday, iCIMS or Taleo?
No. Those career sites are not supported today. See Limitations.
Is scraping career sites legal?
This actor only reads the public job-board endpoints that ATS vendors publish so companies can display openings, plus public schema.org markup, and it checks robots.txt for HTML pages. No login, no personal data. You are responsible for how you reuse the listings.
More questions
How do I get all jobs from a Greenhouse, Lever or Ashby careers page?
Put the company name or its board URL in companies. The actor reads that board's public job API and returns one row per job.
Do I need to know which ATS a company uses? No. A bare company name is probed against the supported ATS; a full board URL also works.
Can I get only new postings each day?
Yes. onlyNewSinceLastRun (on by default) returns only jobs not seen in earlier runs.
Does it include salary? Only when the employer publishes it on the posting.
Does it cover Workday? No. Use the Workday Jobs Scraper for myworkdayjobs.com sites.
How this compares
Each ATS has a public job-board API, so you could call them yourself; the work is in handling several formats, guessing which ATS a company uses, and tracking what is new. This actor does that in one schema. Large job-data vendors may cover more ATS or keep job history; this actor reads live boards only, for the companies you list.
Limitations
- Six ATS vendors plus JSON-LD. Workday, iCIMS, Taleo, BambooHR, Personio and JavaScript-only career sites are not supported. A career page with no supported ATS and no JSON-LD returns 0 rows with a note in the run's
OUTPUTrecord, and costs nothing. - A company name can match the wrong board when two companies share a slug. A careers URL is always precise.
- Fields depend on the ATS. For example Lever has no
updatedAt, Greenhouse has no remote flag (we markremote: trueonly when the location says "remote"), and most boards publish no salary. - The JSON-LD fallback reads only the page you give it and the job links on it (up to 200); it does not paginate or read sitemaps.
maxJobsPerCompanytakes the newest N matching jobs before dedupe, so an older job outside the newest N is not delivered until it moves into them.- No recruiter names, emails or other personal data are collected.
Related actors
- Website Tech Stack Detector: CMS, ecommerce, analytics and 300+ technologies for any list of domains.
- City Council Agendas API: agenda items, votes and PDFs from 18 US cities.
- FMCSA New Carrier Leads: new US trucking companies with email and phone.
- WARN Layoff Notices: Texas WARN Act layoff notices.
Missing an ATS or a field? Open an issue on the Issues tab and we reply quickly.
Reliability
Last 30 days, measured from Apify run records (all runs, including our own daily health checks): 51 of 51 finished runs succeeded (100.0%), median run time 4.0 s (90th percentile 18.4 s). Aborted runs (0) are not counted.
Updated 2026-10-11 automatically every week from the run history. Report any failure on the Issues tab with the run URL.
More resources
- Guide & examples: mamoo85.github.io/open-data-actors/ats-open-roles.html
- Sample output and example input on GitHub (masked sample CSV): github.com/Mamoo85/apify-actor-samples/ats-open-roles
- Workflow templates: n8n, Make, Zapier recipe
Changelog
- 2026-10-05: Listing rewrite; added BambooHR, Breezy HR, Pinpoint and Personio boards plus the Arbeitnow feed.
- 2026-10-06: Added Remotive and Remote OK feeds.
- 2026-10-09: Output tab table view; video walkthrough.
- 2026-10-09: Input sections, status messages, examples.
- 2026-10-09: Branding: maintained by Detroit Web Agent - Open Data.
- 2026-10-13: Added a Run in 30 seconds section with a one-click prefilled run link, saved use-case presets, cross-links to pairing actors and Store title and search description reworded around how buyers search.
- 2026-10-13: New inputs: queries, postedAfter/postedBefore, minSalary/maxSalary, workModels, skillsInclude/skillsExclude, includeCompanies/excludeCompanies. New fields: salaryAnnualMin/Max, compensationText, datePosted, daysSincePosted, skills, benefits, yearsExperienceMin. Prices unchanged.
What the free plan gets you
Free plan: about 2,500 job listings from your $5 monthly Apify credit (at $0.002 each, today's price); default settings return about 5 rows. Need more? Upgrade your Apify plan or set a higher result limit in the input.
Need more than the data?
This actor is built by Detroit Web Agent, a small Detroit studio that builds websites, lead pages and simple data tools for small businesses. If you want these results turned into a working website, a landing page or a CRM import, or you need a field this actor does not cover yet, open an issue on the Issues tab or visit detroitwebagent.com.
Works well with
Other actors from Detroit Web Agent - Open Data that pair with this one:
- Workday Jobs Scraper: covers employers whose careers site runs on Workday, which this actor does not.
- Company News Monitor: pair hiring signals with news about the same companies.
- Company Enrichment by Domain: add company details for the employers in your jobs feed.
- WARN Layoff Notices: the opposite signal: employers filing layoff notices.
- Developer Signals: developer-community signals and package adoption alongside hiring and news data.
- LinkedIn Public Jobs: public LinkedIn job posts next to company career-site roles.
- SEC Form D Funding Leads: companies that just filed a Form D are often hiring; check their open roles here.
Built and maintained by Detroit Web Agent - Open Data (Detroit, Michigan). Questions, bugs or a field you need: open an issue on this Actor's Issues tab and we will reply there.
