PHPackages                             93devs/nine3-workable-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. 93devs/nine3-workable-api

ActiveLibrary[API Development](/categories/api)

93devs/nine3-workable-api
=========================

1328PHP

Since Feb 15Pushed 4y agoCompare

[ Source](https://github.com/93digital/workable-api)[ Packagist](https://packagist.org/packages/93devs/nine3-workable-api)[ RSS](/packages/93devs-nine3-workable-api/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Nine3 Workable API Class
========================

[](#nine3-workable-api-class)

***v1.0.1***

***Authors:*** *Ahmad Al Asadi &amp; Matt Knight*

An API class for WordPress to fetch vacancies from an account on the Workable recruitment platform. The fetched data is stored as a WordPress transient, allowing quick and easy access to the data.

Installation
------------

[](#installation)

Install via composer:

```
$ composer require 93devs/nine3-workable-api:dev-master

```

Then within a theme configuration file (such as `functions.php`) instantiate the class:

```
/**
 * @param string $subdomain The subdomain part of the URL of a Workable account.
 * @param string $access_token An access token generated within the Workable account.
 */
$workable_api = new Nine3_Workable_Api( $subdomain, $access_token )
```

Methods
-------

[](#methods)

The class will set up an hourly cron job that makes the API request and stores the response as a transient automatically upon instantiation (assuming WP-Cron has not been disabled!).

However there are a handful of publicly available methods.

### Get vacancies

[](#get-vacancies)

Returns a full list of the published vacancies on the Workable account. This will return the data saved in the transient. If the transient is empty or not found a new API request will be made.

**Usage:**

```
/**
 * @return array A multi-dimensional array containing all vacancy data.
 *
 * @see https://workable.readme.io/docs/jobs For available keys in each vacancy. An extra `description` key will also have been added by the class.
 */
$workable_api->get_vacancies();
```

### Fetch vacancies

[](#fetch-vacancies)

Forces a new API request to the Workable platform for the latest vacancies data. The transient will be updated with the returned response.

```
/**
 * @param bool $return [optional] Whether to return the fetched vacancies data.
 *
 * @return array A multi-dimensional array containing all vacancy data.
 *
 * @see https://workable.readme.io/docs/jobs For available keys in each vacancy. An extra `description` key will also have been added by the class.
 */
$workable_api->fetch_vacancies( $return = false );
```

More Info
---------

[](#more-info)

Workable API reference: [](https://workable.readme.io/)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity27

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ad0db6eb08bfce0ea7286e5242fa51d6180550885d09b2f6fa4f8ba0b5081c3c?d=identicon)[claritydevs](/maintainers/claritydevs)

---

Top Contributors

[![MattKnight93](https://avatars.githubusercontent.com/u/83399317?v=4)](https://github.com/MattKnight93 "MattKnight93 (5 commits)")

### Embed Badge

![Health badge](/badges/93devs-nine3-workable-api/health.svg)

```
[![Health](https://phpackages.com/badges/93devs-nine3-workable-api/health.svg)](https://phpackages.com/packages/93devs-nine3-workable-api)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
