Workable Jobs Scraper & API - All Companies, Remote, 24 Hours
Workable Jobs Scraper - Every Workable Career Page
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http workable-jobs-scraper-api-all-companies- 'https://mcp.apify.com/?tools=anshumanatrey/workable-job-search' --header 'Authorization: <Apify API token, as '\''Bearer <apify-api-token>'\''. Runs bill to this account.>'
{
"mcpServers": {
"workable-jobs-scraper-api-all-companies-": {
"type": "http",
"url": "https://mcp.apify.com/?tools=anshumanatrey/workable-job-search",
"headers": {
"Authorization": "<Apify API token, as 'Bearer <apify-api-token>'. Runs bill to this account.>"
}
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
- Workable Jobs Scraper & API - All Companies, Remote, 24 Hours
- What does it do?
- How is it different from other Workable scrapers?
- When should I use it?
- How much does it cost to scrape Workable jobs?
- How does the price compare with other Workable scrapers?
- Which inputs does it take?
- What does the output look like?
- How fast is it?
- Common questions
- Limitations
- Who maintains it?
- Sibling actors
- Documentation
- Last updated
Workable Jobs Scraper & API - All Companies, Remote, 24 Hours
Workable jobs scraper and API: search every company hiring on Workable (apply.workable.com and jobs.workable.com) at once and get each job's title, company, every place, remote or not, job type, posting date, company website and links, newest first. Turn on full details for the description, requirements and benefits, the pay when the company shows it, the department and the company's own job code.
Use it as a Workable API for every company's jobs, an apply.workable.com scraper, a jobs.workable.com scraper or a daily Workable job feed from the Apify Console, the Apify API, Python, JavaScript, n8n, Make or an AI agent, and export JSON, CSV or Excel. It is the site:apply.workable.com Google dork done at the source, with the fields a search result cannot give you. Available as an Apify Actor. $0.0025 per job, $0.0035 with full details, $0.01 per run start, no login, no API key.
What does it do?
- Searches every company on Workable at once. A word, a place, a work type or a job type reads Workable's own feed of every job its customers publish on its job board, which Workable updates every hour. Workable's job board counted 170,374 listings on 2026-11-02, one per job and place; the first three quarters of the feed alone held 79,763 open jobs at 4,792 companies in 181 countries, among them Rentokil Initial, Amartha, SAP Fioneer, Teleperformance Spain, Biffa, Foodics, Blueground and Hugging Face.
- One keyword is enough. Type a job title and press Start.
- Newest first, read at run time. Every job comes from Workable during your run, not from a stored copy of ours.
- Filters that take what people type. Germany, Texas or TX, EMEA, Remote, contract, internship, last 24 hours, a jobs.workable.com search link, or a pasted Google dork such as
site:apply.workable.com intext:engineer. - Any company by name. Type Hugging Face, the account in its address or its career page link, and that career page is read live.
- Checks job links. apply.workable.com and jobs.workable.com links come back open, closed or not found.
How is it different from other Workable scrapers?
- You do not need to know the companies. Half of the Workable-only actors below read Workable's job board search, which ranks by relevance, 20 jobs a page, with no date order; the others need each company's name or link, or read a stored copy. This actor reads Workable's own feed of every company's jobs and sorts the matches by date. On 329 hiring career pages checked on 2026-11-02, the feed held 7,691 of their 7,761 open jobs (99%). Workable ends the feed's download about a minute after it starts, which cut 15 of 16 downloads from our laptop: see Limitations.
- One row per job. Workable lists a job once per place. Here a job's places come together in one row: 14,534 of 79,763 jobs (18%) had two places or more on 2026-11-02.
- The real posting date. A search by word carries the time Workable listed the job, which fell on the job page's own day for 95% of 6,000 jobs checked (98.5% of those published since September). With full details on, and for the companies you name, a search's rows carry the day the job page itself gives Google (its datePosted, 10 of 10 pages checked).
- Details from each job's own answer: the full description, requirements and benefits, pay as numbers with its period when the company shows it, remote, hybrid or onsite, the department and the company's job code. Workable's job board shows no pay.
- You pay per saved job, plus one run start, and a spending limit stops the run cleanly with the jobs it paid for.
When should I use it?
- Job seekers and job boards: remote and international jobs at 4,792 companies in 181 countries, on a daily schedule. In the first three quarters of the feed on 2026-11-02, the US held 43% of the jobs, the UK and Greece 6% each, Canada 4%.
- Recruiters and staffing agencies: see who is hiring for a role across every company on Workable.
- Sales and market research: every job found by a word names the hiring company and its website, a ready list of companies that are hiring now.
- Data teams and AI agents: one clean, stable feed of Workable jobs through the API or MCP.
How much does it cost to scrape Workable jobs?
Pay per event. Platform usage is included, and there is no monthly fee.
| Event | Price | When it is charged |
|---|---|---|
| Job | $0.0025 | One saved job, and one checked link that is closed or not found |
| Job with details | $0.0035 | One saved job with full details on |
| Run start | $0.01 | Once when a run starts at the default 1 GB of memory; Apify counts one more for each extra GB |
On paid Apify plans the job prices are 10% less on Scale ($0.00225 and $0.00315) and 20% less on Business and above ($0.002 and $0.0028); the run start stays $0.01.
| Run (Free and Starter price) | Cost |
|---|---|
| 100 newest jobs | $0.26 |
| 100 jobs with full details | $0.36 |
| 1,000 jobs in one run | $2.51 |
| Checking 10 job links | $0.035 |
Why a run start: a search by word downloads Workable's feed, about 128 MB compressed, whatever it finds, and the run start pays for that download. Apify's free $5 monthly credit covers about 1,900 jobs in runs of 100. Number of jobs (maxJobs) and the run start set the most a run can cost, and a run stops at its spending limit with a message saying so.
How does the price compare with other Workable scrapers?
Two groups, from the 3,522 job listings the Apify Store returned for 37 Workable and multi-ATS terms on 2026-11-02 (1,353 of them mention Workable), each ordered by users in the last 30 days, with free-plan prices from each actor's pricing record.
Every actor made for Workable alone with 2 or more users:
| Actor | Users, 30 days | Per job | Start fee | How it reads Workable |
|---|---|---|---|---|
| shahidirfan/Workable-Job-Scraper | 11 | $0.001 | $0.005 | Workable's job board search by keyword and place, or its links |
| jobo.world/workable-jobs-scraper-api | 7 | $0.004 | none | Its own database of Workable jobs, checked daily, with descriptions |
| novus/workable-jobs-scraper | 5 | free, you pay Apify usage | none | Workable's job board search by keyword, place and remote |
| databro/workable-jobs-scraper | 3 | free, you pay Apify usage | none | Workable's job board search by keyword and country |
| schnellscrapers/workable-jobs-scraper | 3 | $0.001 | $0.005 | Workable's job board search, or one company's career page |
| deadwood_data_solutions/workable-jobs-api | 2 | $0.002, plus $0.01 a query | none | The companies you name, or its index of 66 boards |
| kenko404/workable-job-scraper | 2 | $0.003 | $0.005 | The companies you name, by name or link |
| practical_ophthalmologist_iuq/workable-jobs-scraper | 2 | $0.0018 | $0.001 | The career pages you name |
| This actor | new | $0.0025 | $0.01 | Workable's feed for every company, the career pages you name, and job links |
Every actor for many platforms that reads Workable, with 40 or more users:
| Actor | Users, 30 days | Per job | Start fee | Covers |
|---|---|---|---|---|
| fantastic-jobs/career-site-job-listing-api | 1,632 | $0.012 | $0.01 | 58 ATS from its own database; workable is one filter |
| fantastic-jobs/career-site-job-listing-feed | 282 | $0.0025 | $0.10 | The same database as a feed |
| factpipe/ats-jobs-feed | 98 | $0.003 | none | 8 ATS from its own index of 19,000+ companies, with descriptions, or board links you give it |
| memo23/career-site-ats-jobs-api | 81 | $0.004 | $0.03 | 116 ATS, the boards or company names you give it |
| flash_scraper/multi-jobboard-scraper | 69 | $0.005 | $0.00005 | Job boards such as LinkedIn and Indeed; Workable only for the companies you name |
| glitchbound/ats-jobs-scraper | 63 | $0.003 | $0.00005 | 24 ATS, by company name or domain |
| jobspipe/jobspipe-job-search | 61 | $0.00196 | none | 30+ job boards and ATS in one search; Workable is one source |
| jtpalms/ats-jobs-index | 60 | $0.003 | $0.00005 | 10 ATS from its own index of 17,000+ career sites, rebuilt twice a day, with descriptions |
| conserving_celerytop/live-career-page-jobs-api | 55 | $0.045 a company, up to 1,000 jobs | $0.00005 | 22 ATS, the companies you name |
| openclawai/career-site-ats-jobs-scraper | 47 | $0.0005 | none | Dozens of ATS, a careers link or company name you give it |
Not counted: kaix/linkedin-jobs-scraper (174 users) reads LinkedIn and names Workable only as an apply link, doggo/uk-jobs-board-scraper (40) checks apply links against ATS names, and parsebird/hiring-cafe-scraper (39) reads hiring.cafe.
Where others are cheaper: shahidirfan and schnellscrapers charge $0.001 a job plus a $0.005 start through Workable's job board search, api-co (1 user) $0.00075 on the free plan and $0.0012 to $0.0015 on paid plans the same way, practical_ophthalmologist_iuq $0.0018 plus a $0.001 start and deadwood_data_solutions $0.002 plus $0.01 a query for the career pages you name, jobspipe $0.00196 in its many-board search, and openclawai $0.0005 when you know the companies. Where others do more: the multi-platform actors cover many ATS in one run, and jobo.world, factpipe and jtpalms put the description in every row.
Which inputs does it take?
Nothing is required. Type a job title and press Start, or press Start with the form empty.
| Field | What it does |
|---|---|
Job titles to find (searchTerms) | One per line. A job matches when its title has every word: frontend also finds Front-End. A pasted Google dork, Workable link or jobs.workable.com search link works too |
Where the job is (location) | A city, state, country or region: London, Texas or TX, United States, EMEA, LatAm. Remote asks for remote jobs; Workable gives every job a country, so none is marked worldwide |
Remote or onsite (workType) | remote, hybrid or onsite. Workable marks remote jobs in its lists; hybrid and onsite are checked job by job |
Posted in the last (postedWithin) | 24 hours, 3 days, 7 days, 30 days, any time, or your own period such as 48 hours |
Number of jobs (maxJobs) | How many, newest first: 100 by default, 0 for every match |
Full details (includeDetails) | Adds the description, requirements and benefits, pay as numbers with its period when shown, work type, department, the company's job code, city, region and country |
Leave out words (excludeTerms) | Drops jobs whose title has these words, such as senior or intern |
Job type (employmentType) | full-time, part-time, contract, intern or temporary |
Match descriptions (searchDescriptions) | Finds your words in the description too: python found 128 jobs by title and 3,843 with descriptions in three quarters of the feed on 2026-11-02 |
Only these companies (companies) | A name (Hugging Face), the account in the address (huggingface) or a Workable link. Empty searches everyone |
Job links to check (jobUrls) | Paste job links to check whether they are still open, instead of searching |
Example input:
{
"searchTerms": ["software engineer"],
"location": ["Germany", "United States"],
"postedWithin": "30 days",
"maxJobs": 100
}
What does the output look like?
One row per job, newest first. These five rows (ranked 5, 8, 13, 20 and 27 of 100) are from a local run of the actor's engine on 2026-11-03 against a copy of the first three quarters of Workable's feed (listings up to 2026-10-14), searching every company for software engineer: 931 jobs at 412 companies, the 100 newest saved. TODO_DEPLOYED: the rows, build number and seconds of the deployed build's example run go here.
Job title (title) | Company name (company) | Main location (location) | Remote or onsite (workType) | Job type (employmentType) | Posted on (postedAt) |
|---|---|---|---|---|---|
| Staff Software Engineer | SPD Technology | Croatia | remote | full-time | 2026-10-13 |
| Software Engineer, AI/ML | Devsinc | Lahore, Punjab, Pakistan | full-time | 2026-10-13 | |
| Senior Software Engineer | Raydar | United States | remote | full-time | 2026-10-12 |
| Java Software Engineer - Getting Paid & Open Banking | Starling | London, England, United Kingdom | full-time | 2026-10-12 | |
| Remote Full-Stack Software Engineer | Pearl | Bogotá, Colombia | remote | full-time | 2026-10-09 |
One row as JSON:
{
"title": "Java Software Engineer - Getting Paid & Open Banking",
"company": "Starling",
"location": "London, England, United Kingdom",
"otherLocations": ["Cardiff, Wales, United Kingdom", "Manchester, England, United Kingdom"],
"workType": null,
"employmentType": "full-time",
"department": null,
"salary": null,
"postedAt": "2026-10-12T11:20:13+00:00",
"jobUrl": "https://apply.workable.com/j/DC314E7FEE",
"applyUrl": "https://apply.workable.com/j/DC314E7FEE/apply",
"status": "open",
"platform": "workable",
"companySlug": "starling-bank",
"companyWebsite": "http://www.starlingbank.com",
"jobId": "DC314E7FEE",
"checkedAt": "2026-11-03T00:24:48+00:00"
}
Full details add description, descriptionHtml, reference, salaryMin, salaryMax, salaryCurrency, salaryPeriod, city, region, country and countryCode, and fill department, salary and the work type from each job's own answer. One real row with pay, from a local run on 2026-11-02: Project Engineer - Construction at Path Construction in Chicago, onsite, "salary": "USD 65,000 - 80,000 per year", "salaryMin": 65000, "salaryMax": 80000, "salaryCurrency": "USD", "salaryPeriod": "year". A checked link that is closed or not found comes back with its status and link, and the other fields empty. A run also writes an OUTPUT record: whether Workable's feed or the career pages were read, how many jobs matched and were saved, and any notes on how your input was read.
How fast is it?
TODO_DEPLOYED: the seconds and cost of the empty form and of a keyword search at the default memory on the deployed build, with their run ids, and whether Workable's feed arrived whole there.
How the time goes: a search by word, place, work type or job type is one download of Workable's feed, about 128 MB compressed and 860 MB of XML, read once for every word. From our laptop on 2026-11-02 and 2026-11-03, Workable ended that answer about 63 seconds after the request on 15 of 16 downloads; when it is cut, the run uses the part that came and 120 seconds of career pages. An empty search reads the career pages of the 300 biggest companies on our list, 2 a second, about 150 seconds, and reads the feed instead when Workable refuses them before any answers. Full details, a hybrid or onsite search and the companies you name ask Workable 2 calls a second, at most 1,000 calls a run.
Common questions
How does it search every company without a list?
Workable publishes one feed of "all job information for all our customers published on Jobs by Workable", updated every hour, as its help center says. A search by word, place, work type or job type reads that feed, so no list of companies is needed: on 329 hiring career pages checked on 2026-11-02, the feed held 99% of their open jobs. The companies you name, the empty form and job links read each company's own career page; for those the actor carries a list of 2,196 Workable accounts built from Common Crawl, the Wayback Machine and Workable's own feed, each of which answered on its career page on 2026-11-02 or 2026-11-03. A company that is not on the list is still read when you paste its link.
Which posting date does it use?
A search by word gives the time Workable listed the job on its job board. Measured on 6,000 jobs read both in the feed and on their career page on 2026-11-02, that was the job page's own day for 95% of them (98.5% of those published since September); 3.5% were listed more than a week after they were published, mostly old jobs listed late. The companies you name, and every search row with full details, carry the day the job page gives Google as its datePosted, with no time of day. A checked jobs.workable.com link carries the time Workable's job board gives it.
Why does a hybrid or onsite search return fewer jobs?
Workable's feed and career pages mark only remote jobs. On Workable's own job board on 2026-11-02, 16.6% of listings were hybrid and 54.6% onsite, but neither word is in the feed. So a hybrid or onsite search asks each matching job's own Workable answer, newest first, 2 calls a second, for up to 90 seconds, and the run's message says how many it checked. A remote search needs no check.
Does it show pay?
Only with full details on, and only when the company shows pay on the job: Workable's feed and its job board carry none. Pay comes as Workable states it, with the currency and the period (year, month, week, day or hour).
Why did a run say Workable refused it?
Workable's Cloudflare refuses an address that calls apply.workable.com too often, for up to a day (measured on 2026-11-02). The actor paces its calls at 2 a second and makes at most 1,000 in a run, and once Workable refuses it, it stops asking at once and delivers the jobs it already read. An empty search refused before any career page answers reads Workable's feed instead, which comes from www.workable.com. Apify's addresses are shared with other users, so run again later, or search by a word.
Does it need a login or an API key?
No. Workable's official API needs each employer's own token and reads only that employer's jobs. This actor reads what Workable publishes for anyone: its jobs feed, each company's career page and its job board. You need only an Apify account.
How do I run it from Python or an AI agent?
Through the Apify API, with your Apify token:
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("anshumanatrey/workable-job-search").call(run_input={"searchTerms": ["software engineer"]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["title"], row["company"], row["location"], row["postedAt"], row["jobUrl"])
AI agents can call it through the Apify MCP server at https://mcp.apify.com, and n8n and Make have Apify nodes.
Am I charged for closed jobs?
A search returns open jobs only. A pasted link that turns out closed or not found is one Job row, because it was checked and answered.
Is it legal to use?
It reads public job postings. You are responsible for how you use the data, including each site's terms and the privacy laws that apply to you.
Limitations
- An empty search does not read every company: it reads the career pages of the 300 biggest companies on our list, about 150 seconds. Type a word, a place, a work type or a job type to search every company.
- Workable's feed holds only the jobs a company publishes on Workable's job board: 99% of the open jobs on the career pages checked.
- Workable ends the feed's download about a minute after it starts. From our laptop on 2026-11-02 and 2026-11-03 that cut 15 of 16 downloads, and the furthest a cut download reached was the listings of 2026-10-22, so the newest 11 days of jobs or more were missing from the feed. The run then keeps every job listed before the cut, reads 120 seconds of the career pages with the most matching jobs for the newer ones, and its message names the cut date. Other companies' newest jobs are not in such a run.
- Hybrid and onsite are checked job by job, so those searches return fewer jobs (see above).
- Full details ask Workable once or twice per job, at most 1,000 times a run: about 650 jobs found by a word get details, and the rest come without them, at the Job price.
- Pay comes only with full details, when the company shows it; jobs.workable.com links carry no pay.
- About a fifth of jobs state no job type (19.9% on 2026-11-02), so a job type filter leaves them out.
- The department and the company's job code come only from career pages or with full details: Workable's feed has neither.
- The Workable account (
companySlug) is known for 54.8% of the jobs found by a word; every job found by a word has the company's name and website. - On apply.workable.com a closed job and one that never existed answer the same, so both read as closed; jobs.workable.com links tell them apart.
- A company that is not on our list is tried by its name in lower case with hyphens, which can miss: paste its link instead.
- Workable can refuse an address for up to a day (see above).
- The list of 2,196 accounts is partial: each answered on its career page on 2026-11-02 or 2026-11-03, but Workable banned our laptop before most candidate accounts were checked. A search by word, place, work type or job type does not depend on it.
- Titles and descriptions come in the company's own language.
Who maintains it?
Built and maintained by Anshuman Atrey (@AnshumanAtrey), who publishes a portfolio of data and OSINT actors on Apify Store. For a feature request or a bug, message LinkedIn (fastest), open an issue on the GitHub repo, or write through atrey.dev.
Sibling actors
| Actor | Use case |
|---|---|
| ashby-jobs-search | Every job on every Ashby board, searched live |
| greenhouse-jobs-search | Every job on Greenhouse job boards, searched live |
| lever-jobs-search | Every job on Lever job boards, searched live |
| smartrecruiters-jobs-search | Every job at SmartRecruiters companies, searched live |
| workday-job-search | Every job at 1,688 Workday employers, searched live |
| cornerstone-jobs-search | Every job on every Cornerstone career site |
| deel-jobs-search | Every job on every Deel ATS career page, with pay |
| linkedin-harvester | Email to LinkedIn profile, for the people behind a company |
Documentation
- Apify Store: https://apify.com/anshumanatrey/workable-job-search
- GitHub repo: https://github.com/AnshumanAtrey/workable-job-search (MIT license, see LICENSE)
- The engine behind it: https://github.com/AnshumanAtrey/ats-jobs-engine
Last updated
2026-11-03 (version 1.0)
Questions fréquentes
Qu'est-ce que Workable Jobs Scraper & API - All Companies, Remote, 24 Hours ?
Workable Jobs Scraper - Every Workable Career Page
Comment installer Workable Jobs Scraper & API - All Companies, Remote, 24 Hours ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http workable-jobs-scraper-api-all-companies- 'https://mcp.apify.com/?tools=anshumanatrey/workable-job-search' --header 'Authorization: <Apify API token, as '\''Bearer <apify-api-token>'\''. Runs bill to this account.>'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Workable Jobs Scraper & API - All Companies, Remote, 24 Hours ?
Oui. Il attend Authorization, à renseigner dans sa configuration.
Workable Jobs Scraper & API - All Companies, Remote, 24 Hours est-il open source ?
Son code est public sur GitHub, mais le dépôt ne déclare pas de licence standard.
Qui maintient Workable Jobs Scraper & API - All Companies, Remote, 24 Hours ?
Il est publié par AnshumanAtrey. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.