Workable Jobs Scraper — apply.workable.com Job Boards
Pricing
from $0.40 / 1,000 jobs
Workable Jobs Scraper — apply.workable.com Job Boards
Workable jobs scraper: every open role on any company's apply.workable.com page — title, department, location, workplace type, employment type, posting date, optional full description — plus a hiring tracker: exactly which roles are new or closed since your last run. No login.
Pricing
from $0.40 / 1,000 jobs
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Workable Jobs Scraper
Know every week which roles your target companies opened and closed — without checking their careers pages. Put in the companies, schedule it, and get only the new roles (plus closed ones and a per-company count) from any company's public Workable job board. Exact, not sampled: the official public API returns every open role at once. No login, no cookies, no proxies.
Don't know which companies to watch? The Greenhouse Jobs Scraper searches 4,800 companies by job title — no company names needed — and reports exactly which matching roles are new or closed each run.
Why the "new / closed" is exact here
Most job scrapers search a job site and get back a sample: run the same search twice and a different slice comes back, so "new since yesterday" is partly noise. A Workable board is different — Workable's public jobs API pages through every open role, so the Actor reads to the last page. So this Actor keeps the list of role IDs from your last run and compares: a role that appears is new, a role that disappears has closed. No estimation.
Blueground's open roles came back in under a second.
What you get
| Field | |
|---|---|
title, department, team | as the company wrote them |
location, locations | the main location and every secondary one |
remote, workplaceType, employmentType | when the board provides them — otherwise null, not a guess |
salaryMin, salaryMax, salaryCurrency, salaryInterval | Workable does not publish pay as data on the public board; you get null, never a guess. |
postedAt | the real publish date from the board |
isNewSinceLastRun | true / false, or null on the first run (unknown, not "old") |
description | full text, HTML stripped — off by default (one extra request per role), turn on with Include the full description |
jobUrl, applyUrl | links straight to the posting |
Closed roles come back as their own rows (type: "closed") with the title and when they were last seen. Each company also gets one free summary row (type: "company") with openRoles, newRoles, closedRoles and netChange — the hiring signal without counting rows yourself.
Input
Put the company's board name or careers-page URL in Companies — for example blueground or apply.workable.com/blueground. Many companies in one run is fine and cheaper than one run each.
Optional filters (title, location, remote only, published salary only) narrow what you get back. They do not change the new/closed comparison, which always uses the full board — so changing a filter never makes roles look "closed".
A company that is not on Workable, or has no public board, comes back as an error row and the run carries on.
Example output
One real row from a test run (long text shortened here with …):
{"type": "job","provider": "workable","board": "blueground","companyName": null,"team": null,"updatedAt": null,"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryInterval": null,"salaryText": null,"jobId": "B02DA69C8F","title": "Senior Software Engineer, iOS","department": "Shared Services","location": "Athens, Greece","locations": ["Athens, Attica, Greece"],"workplaceType": "hybrid","remote": false,"employmentType": "full","postedAt": "2026-09-24T00:00:00.000Z","jobUrl": "https://apply.workable.com/blueground/j/B02DA69C8F/","applyUrl": "https://apply.workable.com/blueground/j/B02DA69C8F/apply/","company": null,"isNewSinceLastRun": false}
Get only the new roles every morning (3 steps)
- Open this Actor in Apify Console, fill in your input, set What to return to Only … new since the last run, and click Save as a new task.
- On the task, add a Schedule — daily at 07:00, or weekly on Monday.
- Open the task's Integrations tab and connect Slack, email, Google Sheets (or Zapier / Make / a webhook). Each run then delivers only what is new.
You pay only for the new rows plus $0.01 per run, so a quiet day costs about a cent.
Pricing
Pay per role returned — $0.50 per 1,000 roles, plus $0.01 per run. Closed-role rows and errors are free.
For AI agents
Call with {"companies": ["blueground"]}. Each row has type: job, closed or error. isNewSinceLastRun: null means "no previous run to compare with", not "old".
Filters on every run (10/2026): posted within the last N days, experience level (read from the title: intern → executive, also returned as a seniority column) and employment type. They only narrow what is returned — no extra requests, no extra cost.
Same core columns on every northbell job scraper (10 company-career-page scrapers + 15 job sites), so you can stack them into one table: jobId, title, company, location, remote (true / false / null), employmentType, postedAt, jobUrl, salaryMin, salaryMax, salaryCurrency, salaryInterval, isNewSinceLastRun. Unknown is null, never a guess.
Sister Actors
Greenhouse Jobs Scraper · Lever Jobs Scraper · Ashby Jobs Scraper · Workday Jobs Scraper · Workable Jobs Scraper · SmartRecruiters Jobs Scraper · Recruitee Jobs Scraper · Personio Jobs Scraper · Breezy HR Jobs Scraper — same fields, same exact change tracking, one per job-board provider.
For LinkedIn: LinkedIn Company Jobs Scraper · Free LinkedIn Job Details from URL.