Workable Job Scraper — Salary, Benefits & Department, No Login
Pricing
from $1.45 / 1,000 job results
Workable Job Scraper — Salary, Benefits & Department, No Login
Scrape job postings from any Workable-powered company board. Get title, location, city, country, department, seniority, remote-type, descriptions and parse_confidence. Multi-company batch, keyword filters, zero auth, zero proxy.
Pricing
from $1.45 / 1,000 job results
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Workable Job Scraper | $1.50/1K — Department + Benefits, No Login
For recruiters and HR-tech builders targeting EU and global startups — Workable is used by 30,000+ companies across 100+ countries.
Pricing: $1.50/1,000 jobs (descriptions: ~$2.00/1K)
Zero auth. Zero proxy. Workable's robots.txt explicitly permits AI input — this is one of the cleanest legal positions in job scraping.
Scrape job postings from any Workable-powered company careers page. Returns structured data including job descriptions, seniority level, remote type, and parse confidence — for one or many companies in a single run.
What it does
- Fetches all open jobs from Workable company boards via public zero-auth endpoints
- Normalizes into a 20-field flat schema with cross-company consistency
- Enriches with seniority (11 levels: executive → intern → mid) and remote type (hybrid / remote / onsite) using Workable's authoritative native field
- Combines description + requirements + benefits into one HTML/text output
- Reports parse_confidence so you can detect API drift before it becomes data corruption
- Zero auth, zero proxy — no API key required, runs on any plan
Input
{"companies": ["skroutz", "stoiximan", "yourcompany"],"titleKeyword": "engineer","locationKeyword": "Athens","remoteOnly": false,"maxJobsPerCompany": 50,"includeDescriptions": true}
| Field | Type | Default | Description |
|---|---|---|---|
companies | string[] | ["skroutz", "stoiximan"] | Workable company slugs (from apply.workable.com/<slug>) |
titleKeyword | string | — | Filter: keep jobs whose title contains this text |
locationKeyword | string | — | Filter: keep jobs whose city or country contains this text |
remoteOnly | boolean | false | Keep only fully remote jobs |
maxJobsPerCompany | integer | 50 | Cap per company; 0 = unlimited |
includeDescriptions | boolean | true | Include description/requirements/benefits HTML and text |
Output schema
| Field | Type | Notes |
|---|---|---|
title | string | Job title |
company | string | Workable slug |
location | string | "City, Country" |
city | string | City only |
country | string | Country name |
remote_type | string | hybrid / remote / onsite / null (Workable native field) |
seniority | string | 11-level: executive / vp / director / manager / principal / staff / lead / senior / intern / entry / mid |
salary | null | Not available in Workable public API |
department | string | Department name |
employment_type | string | full-time / part-time / contract / internship |
posted_at | string | ISO-8601 |
url | string | Canonical apply URL |
apply_url | string | Same as url |
job_id | string | Workable numeric ID or shortcode |
global_id | string | workable:<slug>:<job_id> for cross-ATS deduplication |
description_text | string | Plain text (description + requirements + benefits) |
description_html | string | HTML (description + requirements + benefits) |
parse_confidence | float | 0.0–1.0 quality score |
warnings | string[] | Machine-readable quality codes |
scraped_at | string | ISO-8601 run timestamp |
Finding your Workable slug
The slug is the path component after apply.workable.com/. For example:
https://apply.workable.com/skroutz/→ slug isskroutzhttps://apply.workable.com/stoiximan/→ slug isstoiximan
Pricing example
| Run | Jobs returned | Cost |
|---|---|---|
| Trial (2 companies, 50-cap default) | ~100 | ~$0.15 |
| 1,000 jobs (20 companies) | 1,000 | $1.50 |
| 10,000 jobs (bulk) | 10,000 | $15.00 |
Pay-per-result: $0.0015 per job ($1.50 per 1,000 results). You only pay for jobs actually retrieved and pushed to the dataset.
Output sample
{"title": "Backend Engineer","company": "skroutz","location": "Athens, Greece","city": "Athens","country": "Greece","remote_type": "hybrid","seniority": "mid","department": "Engineering","employment_type": "full-time","posted_at": "2026-05-15T08:00:00Z","url": "https://apply.workable.com/skroutz/j/AB1234CD/","parse_confidence": 1.0,"warnings": [],"scraped_at": "2026-06-05T10:00:00+00:00"}
FAQ
Do I need an API key or proxy? No. Workable's robots.txt explicitly permits AI input. Zero credentials needed.
What formats can I export? JSON, CSV, Excel, or JSONL — from the Apify dataset UI or REST API.
Can I schedule daily runs?
Yes. Apify Schedules let you run daily and compare job_id sets to detect new openings automatically.
What if a company returns empty or gives a 404? The actor logs the failure and skips to the next slug cleanly — no crash, no charge for that company.
Technical notes
- Uses Workable's public
jobs.mdendpoint to retrieve all job shortcodes without pagination issues - Fetches per-job detail from
/api/v2/accounts/<slug>/jobs/<shortcode>for full descriptions - Both endpoints are zero-authentication public APIs; no browser or proxy required
parse_confidencededucts for missing title, job ID, URL, date, or description — a score below 0.8 signals API drift
Use with AI agents (MCP)
This actor is available via Apify's MCP server. Connect it to any MCP-compatible agent (Claude, n8n, Make) to pull live Workable job data on demand — no code required.
https://mcp.apify.com/?tools=bovi/workable-job-scraper
Vs. competitors
| Feature | This actor | Apify job-search-scraper (generic) |
|---|---|---|
| Workable-native remote field | Yes | Guessed from text |
| Description + Requirements + Benefits | All three combined | Description only |
parse_confidence | Yes | No |
| AI input permitted (robots.txt) | Yes (documented) | Unknown |
| Zero proxy / zero auth | Yes | Varies |
| Price | $1.50/1K | $3–5/1K |
Note: Salary is not exposed in Workable's public API — if compensation data is your priority, see our BambooHR Job Scraper which does surface compensation.
Integrations
Built for recruiters and HR-tech builders mapping open roles across EU and global startups running Workable — the JSON/dataset output drops into the tools you already run, no glue code:
- n8n / Make / Zapier — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
- Webhooks — fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
- MCP server — expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
- API & SDKs — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.
See all Apify integrations.
Legal
This actor scrapes publicly available job data from Workable's career pages.
Workable's robots.txt explicitly allows search and AI input (Content-Signal: search=yes, ai-input=yes).
Not affiliated with or endorsed by Workable.
More scrapers from our toolkit
Building a data pipeline? These actors pair well with this one — each runs on your own Apify account with the same pay-per-result pricing, no subscription:
- Xing Jobs Scraper
- Ashby Job Scraper
- Dice Jobs Scraper
- Glassdoor Scraper
- Greenhouse Job Scraper
- Greenhouse, Lever & Ashby Job Scraper
Chain any of them together from the Integrations tab (the Run succeeded trigger) to build a multi-step workflow — one actor's output feeds the next.