Workable Jobs API: 77,000 Job Listings, No Company List
Pricing
from $6.60 / 1,000 job postings
Workable Jobs API: 77,000 Job Listings, No Company List
Search 77,000 open roles across 2,000 company Workable job boards at once, without knowing a company name. From the employer's own board: no login, no cookies. Poll it for what is new.
Pricing
from $6.60 / 1,000 job postings
Rating
0.0
(0)
Developer
Daniel Meshulam
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
32 minutes ago
Last modified
Categories
Share
Workable Jobs API: Search Every Workable Board At Once
Search open roles across every Workable job board in the index at once, without knowing a single company name.
Every row comes from the employer's own Workable job board API, the one they publish so job aggregators can syndicate it. There is no login, no cookies to hand over, and no account of yours in the loop.
Most tools that read Workable ask you for a board token first, which only works if you already have the list. That is the hard part. This one holds the index, so you ask a question instead:
senior backend engineers in Berlin, remote, not internships
Search in one call
Ask for the roles you want across every Workable board in the index:
{"title": ["data engineer"],"location": ["berlin","remote"],"workArrangements": ["remote","hybrid"],"postedAfter": "2026-08-01","maxResults": 200}
Or switch to companies mode to get the employers behind the postings, one row each, with how fast they are hiring:
{"mode": "companies","hiringLabels": ["surging","growing"],"minOpenedLast30": 10,"maxResults": 100}
What you get per job
One row per open role. A real row from this index:
{"title": "Senior Solutions Engineer","company": "DomainTools","location": "Seattle, Washington, United States","url": "https://apply.workable.com/j/71191B6088","jobId": "71191B6088","platform": "workable","postedAt": "2026-09-17T00:00:00Z","seniority": "senior","employmentType": "full-time","workArrangement": "remote","country": "United States","city": "Seattle"}
Input reference
| Field | What it does |
|---|---|
mode | Jobs returns one row per open role. |
title | Words that must appear in the job title, one per line. |
titleExactWords | Off by default. |
location | Places to match, one per line, e.g. |
countries | Only roles in these countries, matched on a country resolved from the employer's location string rather than on the text itself. |
company | Company or board names to match, one per line. |
department | Departments or teams to match, one per line, e.g. |
keywords | Search title, company, location and department together, one term per line. |
titleExclude | Drop roles whose title contains any of these, one per line, e.g. |
companyExclude | Drop jobs from these companies, one per line. |
locationExclude | Drop jobs in these places, one per line. |
workArrangements | Remote, hybrid or on-site. |
seniority | Derived from the job title, because no ATS publishes a seniority field. |
employmentTypes | Full-time, contract, part-time, temporary or internship. |
postedAfter | An ISO date, e.g. |
changedSince | An ISO date, e.g. |
withSalaryOnly | Keep only roles where the employer published a pay band. |
minAnnualSalary | Only roles whose published lower bound is at least this, per year. |
maxAnnualSalary | Only roles whose published lower bound is at most this, per year. |
salaryCurrency | Restrict to bands published in these currencies. |
maxResults | A hard ceiling on jobs returned and charged. |
hiringLabels | Surging is the top 1% of companies by roles opened in 30 days, growing the top 10%, steady everything else that is hiring, quiet nothing new. |
minOpenedLast30 | Only companies that opened at least this many roles in the last 30 days. |
minOpenedLast7 | Only companies that opened at least this many roles in the last 7 days. |
minOpenRoles | Filters out companies with only a handful of postings. |
enteringNewDepartments | Only companies whose recent postings are in a department they were not hiring for before. |
withContactOnly | Only companies whose own website publishes a way to reach them: a role address like info@ or sales@, a phone number from a tel: link, or the company's own socia |
includeStaffingAgencies | Staffing agencies and recruiters post enormous volumes on behalf of other companies and dominate any hiring ranking, so they are excluded by default in Companie |
Rows your filters drop are never charged, and maxResults caps what a run can return and bill. The exact price per job is on the Pricing tab.
Poll it for what changed
changedSince takes an ISO date and returns only postings this index first
SAW on or after it, so consecutive runs tile with no gap and no overlap. That
is the field to sync on, not postedAfter, which reads the date the employer
typed and moves when they edit or repost.
mode: closed returns roles this index watched disappear, with the day
they went. No job board publishes that: a board serves what is open, so what
vanished only exists if something looked yesterday too.
Honest limits
postings with a remote flag and an employment type, from the Workable job board API.
Coverage is every Workable board this index has found and verified, rebuilt nightly. It is not every Workable board that exists, and no source can promise that: there is no public directory of them.
A row we could not classify is left unlabelled rather than guessed into a bucket, so filtering on a label narrows to rows that actually carry it.
Need more than Workable?
The Jobs Search API searches all of these at once and returns rows in this exact shape, so the two can be concatenated: Greenhouse, Ashby, Workable, Recruitee, Personio, Rippling, BambooHR, Breezy and Teamtailor.
Feedback
If this saved you time, a review on the Actor's Store page helps other people find it. If something is missing or wrong, the Issues tab on the same page is the fastest way to reach me, and it gets read.