Workable Jobs Scraper
Pricing
from $1.20 / 1,000 job results
Workable Jobs Scraper
Scrape open jobs from any company's Workable careers page in a clean format, with every location, job type, seniority and stated pay. Or get only new and closed jobs since your last run. No login.
Pricing
from $1.20 / 1,000 job results
Rating
0.0
(0)
Developer
Novasphere
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
Get the open jobs from any company's Workable careers page in a clean format. Run it once for the full list, or on a schedule to get only the jobs that were posted or taken down since the last run.
It reads Workable's public job API, so there's no login, no browser and no proxy. A careers page usually takes a second or two, descriptions included.
Use it to
- Watch hiring at a list of companies: competitors, customers, prospects, a fund's portfolio
- Send new roles to Slack, email, a spreadsheet or your own job board
- Give an AI agent a tool for "who is hiring for X at these companies"
- Build hiring-signal data for sales or research
Input
Add one company per line, in any of these forms:
| You enter | Example |
|---|---|
| The careers page link | https://apply.workable.com/starling-bank |
| A link to any job on it | https://apply.workable.com/tiger-analytics/j/39D0D71D6D/ |
| The older careers address | https://tiger-analytics.workable.com |
| The company's website | acme.com (the Actor looks for a Workable link on its careers page) |
| The company's Workable name | starling-bank |
The Workable name is the part after apply.workable.com/ in the careers page's address. Workable's short job links (apply.workable.com/j/...) don't name the company, so open the company's careers page from the job and copy that link instead.
Then pick what to output:
- All open jobs: everything currently on each careers page that passes your filters.
- Only changes since the last run: jobs that are new since the previous run, plus jobs that have been taken down. Runs with the same Feed name share their memory, so use one feed name per watchlist. The first run counts every job as new, unless you tick Skip existing jobs on the first run.
Optional filters: words in the job title (include or exclude), seniority, job function, location, department, remote, and posted within the last N days.
{"companies": ["https://apply.workable.com/starling-bank", "tiger-analytics"],"mode": "changes","feedName": "fintech","titleKeywords": ["engineer", "data"],"locationKeywords": ["London", "Remote"]}
Output
One item per job. A job that's open in several places is one item, with every place in allLocations:
{"change": null,"company": "Tiger Analytics","title": "AI and Integration Architect","location": "United States","workplaceType": "remote","employmentType": null,"seniority": null,"jobFunction": "engineering","department": "MLE","team": null,"salary": null,"salaryText": null,"postedAt": "2026-06-19T00:00:00Z","url": "https://apply.workable.com/tiger-analytics/j/39D0D71D6D/","applyUrl": "https://apply.workable.com/j/39D0D71D6D/apply","platform": "workable","board": "tiger-analytics","jobId": "39D0D71D6D","allLocations": ["United States", "Canada"],"country": "US","updatedAt": null,"firstSeenAt": null,"closedAt": null,"checkedAt": "2026-10-24T08:00:14Z"}
| Field | What it is |
|---|---|
change | new or closed in changes mode; empty when listing all open jobs |
company | The company name on its Workable careers page |
title, location | As the employer lists them |
allLocations | Every place the job is open in |
country | Two-letter code of the job's first place |
workplaceType | remote when the job is marked remote; otherwise empty, as Workable's job list doesn't say more |
employmentType | full-time, part-time, contract, internship or temporary, when the employer sets it |
seniority | intern, entry, senior, lead, manager, director or executive, read from the job title. When the title doesn't say, the employer's own experience level is used where it clearly matches one |
jobFunction | Area of work (engineering, sales, data, design, people, ...), read from the job title, then the department |
department | The job's department |
salary, salaryText | Pay range, when the employer states one in the description |
postedAt | When the job was published (ISO 8601, UTC; Workable gives the day) |
url, applyUrl | The job's page and its application form |
platform, board, jobId | Where the job came from. jobId is Workable's job code |
firstSeenAt, closedAt | Changes mode: when this feed first saw the job, and when it noticed it was gone |
checkedAt | When the careers page was read |
description | Plain-text job description (with requirements and benefits), only if you tick Include the job description |
team and updatedAt are always empty: Workable's public job list doesn't include them.
Each run also saves a summary to its key-value store under OUTPUT: companies checked, ones not found or unreadable (with the reason), and job counts.
Running it as a change feed
- Set What to output to Only changes and give the feed a name.
- Add a schedule, for example daily.
- Connect an integration (webhook, Slack, email, Google Sheets, Zapier, Make) to receive each run's new and closed jobs.
Using it from an AI agent or code
Every input is plain JSON, so it works through the Apify API, the Python and JavaScript clients, and Apify's MCP server (https://mcp.apify.com) for Claude, ChatGPT and other agents. The input also accepts a comma-separated string for companies and the keyword fields.
Good to know
- Not affiliated with or endorsed by Workable. The name only says which careers pages this reads.
- Only public job data is read. There's no candidate or employee data.
- Job descriptions are the employer's text. Respect each employer's terms if you republish them.
- In changes mode every job is tracked, and filters only decide what's output, so changing a filter later won't resend old jobs.
- In changes mode, if a run stops at your maximum charge, the changes it couldn't output are kept and come out on the next run.
- The feed's memory is kept in your account in a key-value store named
workable-jobs-feed-<feed name>. Delete it to start the feed fresh. - Companies that can't be found or read are listed in the run summary; the rest of the run carries on.
- Tracking companies on other job boards too? The multi-platform version reads Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and BambooHR in one run. To search new jobs across thousands of companies at once, try Career Site Job Search.