Workable Jobs API & Scraper – Salaries, New-Job Alerts
Pricing
from $1.50 / 1,000 job results
Workable Jobs API & Scraper – Salaries, New-Job Alerts
Live jobs from any Workable board you choose, with parsed salaries. New-jobs-only mode: daily alerts, pay only for unseen jobs. $1.50/1,000 jobs. Not affiliated with Workable.
Pricing
from $1.50 / 1,000 job results
Rating
0.0
(0)
Developer
Bin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Get every open job from any Workable job board in one run — clean JSON with title, department, location, remote flag, employment type, structured salary, posting date and job URL. Paste board URLs or just company names. Companies such as Hugging Face and Blueground publish their jobs on Workable boards.
Turn on "Only new jobs since last run" and schedule it daily: you get a new-jobs alert feed and you only pay for jobs you haven't seen before.
Independent tool, not affiliated with or endorsed by Workable.
Why this Workable scraper
- 📋 The whole board, live — reads Workable's public careers widget API (
apply.workable.com/api/v1/widget/accounts/...) — the one companies embed on their own sites at run time, so you get the jobs that are online right now for the companies you choose, not a stale database snapshot. - 🆕 New-jobs-only mode — remembers what it already returned (per alert name) and outputs only new postings. Perfect for daily alerts, sales triggers and job-board feeds.
- 💰 Structured salaries —
salaryMin,salaryMax,salaryCurrency,salaryPeriod. Turn on Only jobs with salary to keep just the roles that publish pay. - 🧩 Company display name, city / state / country from Workable; salaries are parsed from the job description
- 📊 Company hiring signals —
outputLevel: "companies"gives one row per company: open jobs, new jobs in the last 7 / 30 / 90 days, function & seniority mix, remote share, salary transparency, and new / closed jobs since your last run. - 🎯 Filters — title keywords, excluded words, departments, locations, remote only, posted within N days, max jobs per board.
- 🤝 Polite and compliant — reads robots.txt before anything else and obeys it (apply.workable.com robots.txt allows all paths (
Content-Signal: ai-train=no— we never use data for model training)); at most 2 requests per second; identifies itself with a clear User-Agent. Public job postings only, no login, no personal data. - ⚡ Fast and cheap — no browser, no proxy. A typical board takes 1–3 seconds.
Use cases
- Sales prospecting / hiring signals — a company hiring "Data Engineer" or "Head of Security" is a buying signal. Monitor target accounts daily.
- Job boards & newsletters — feed a niche board (remote, AI, fintech, climate…) from hundreds of Workable boards.
- Recruiters & agencies — see new roles the day they go live.
- Market and salary research — headcount growth by department and location, published pay ranges.
Input
Board names or URLs — any of these work:
https://apply.workable.com/huggingfacehttps://apply.workable.com/huggingface/j/<shortcode>https://huggingface.workable.com- Plain company name or domain:
huggingface,huggingface.com(tried as the board name; if it isn't found, paste the board URL)
Daily alert for engineering jobs in two cities:
{"companies": ["huggingface","https://apply.workable.com/blueground/"],"keywords": ["engineer"],"locations": ["Remote","New York"],"onlyNewJobs": true,"stateKey": "workable-daily"}
Hiring signals, one row per company (schedule weekly, same stateKey each time):
{"companies": ["huggingface","https://apply.workable.com/blueground/"],"outputLevel": "companies","stateKey": "target-accounts"}
Output
One item per job (real example from a test run; description omitted). salary is Workable's own pay text (empty when the ATS has no salary field); salaryMin / salaryMax / salaryCurrency / salaryPeriod are always filled when a range is published — from the structured field or parsed from the description.
{"id": "DB4D7C0EC8","title": "Senior Open-Source Python Engineer, ML Developer Tools - EMEA Remote","company": "Hugging Face","department": "Product","location": "France","remote": true,"employmentType": "Full-time","salary": null,"postedAt": "2026-09-21T00:00:00.000Z","updatedAt": null,"url": "https://apply.workable.com/j/DB4D7C0EC8","applyUrl": "https://apply.workable.com/j/DB4D7C0EC8/apply","salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"ats": "workable","atsSlug": "huggingface","input": "huggingface","scrapedAt": "2026-10-07T09:22:07.987Z"}
Every run also writes a SUMMARY record: boards found, jobs per board, notFound, wrongAts (URLs of other ATSs), robotsBlocked, and stoppedEarly if the run hit its timeout.
Export as JSON, CSV or Excel, or send results to Google Sheets, Slack, Zapier, Make or a webhook with Apify integrations.
Pricing
$1.50 per 1,000 jobs, pay per result, no subscription. The first run returns (and charges) every open job on your boards; after that, new-jobs-only mode charges only for jobs you haven't seen. The monthly free credit of Apify's free plan covers your first runs.
Company hiring-signals rows (outputLevel: "companies"): $0.01 per company; job rows are not charged in that mode.
FAQ
How do I find a company's Workable board? Open any job on the company's careers page; if the address contains apply.workable.com, paste it. Many companies show Workable jobs on their own domain — open a job and look for the apply link.
The company isn't found. The board name can differ from the brand (e.g. teampicnic). Paste a job URL from the careers page. If the company uses a different ATS, try the Company Jobs Scraper — it auto-detects 15 ATSs.
I pasted a Greenhouse / Lever / Ashby / Workday URL here. The Actor skips it and tells you which of our Actors handles it (see wrongAts in SUMMARY).
How does "only new jobs" work? Job IDs already returned are stored in a key-value store owned by this Actor, under your alert name (stateKey). The next run with the same name outputs only jobs that were not there before. Use a different name per alert.
How are salaries detected? Workable has no public salary field, so the first pay range in the description is parsed (currency symbol or code required, so years such as 2010-2020 are ignored; funding amounts like $20-30 million are skipped). Jobs without a published range have null.
Is this legal? The Actor reads only public job postings that companies publish through Workable's public job-board interface, follows robots.txt and rate limits, and collects no personal data. It does not log in or bypass any protection.
Can I use it as an API? Yes — call the Actor through the Apify API (run-sync-get-dataset-items) from your code, Make, Zapier, n8n or an AI agent via the Apify MCP server.
More tools from the same developer
- Greenhouse Jobs API & Scraper — every job from any Greenhouse board, salaries, new-jobs-only alerts.
- Lever Jobs API & Scraper — every job from any Lever board, salaries, new-jobs-only alerts.
- Ashby Jobs API & Scraper — every job from any Ashby board, salaries, new-jobs-only alerts.
- Workday Jobs Scraper — any Workday employer by company name (NVIDIA, Salesforce, Adobe…), department filter.
- Company Jobs Scraper (15 ATS, auto-detect) — type a company name; detects Workday, Greenhouse, Lever, Ashby, Oracle, SuccessFactors, Rippling & more.
- Hacker News "Who is Hiring" Parser — monthly HN hiring threads as structured jobs.