Get all open jobs from Workable API

Introduction

This article is a part of a series of articles covering the workable API in depth, and covers the specific use case of using the workable API to Get all open jobs from Workable API.
You can find all the other use cases we have covered for the workable API along with a comprehensive deep dive on its various aspects like authentication, rate limits etc here.

Get all open jobs from Workable API

Overview

The Workable API allows you to retrieve a collection of open jobs from your account. This can be achieved using the GET method on the /spi/v3/jobs endpoint. The required scope for this operation is r_jobs, and it is accessible with all token types.

API Endpoint

https://{subdomain}.workable.com/spi/v3/jobs

Authorization

Header: Bearer {Access Token}

Query Parameters

  • state (string): Returns jobs with the current state. Possible values are draft, published, archived, and closed.
  • limit (int32): Specifies the number of jobs to try and retrieve per page (optional).
  • since_id (string): Returns results with an ID greater than or equal to the specified ID (optional).
  • max_id (string): Returns results with an ID less than or equal to the specified ID (optional).
  • created_after (date-time): Returns results created after the specified timestamp (optional).
  • updated_after (date-time): Returns results updated after the specified timestamp (optional).
  • include_fields (string): Includes additional fields in each job (description, full_description, requirements, and benefits).

Example Request

import requests

subdomain = 'your_subdomain'
access_token = 'your_access_token'
url = f'https://{subdomain}.workable.com/spi/v3/jobs'
headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {access_token}'
}
params = {
    'state': 'published'
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

Example Response

{
  "jobs": [
    {
      "id": "61884e2",
      "title": "Sales Intern",
      "full_title": "Sales Intern - US/3/SI",
      "shortcode": "GROOV003",
      "code": "US/3/SI",
      "state": "published",
      "department": "Sales",
      "department_hierarchy": [
        {
          "id": 792289334,
          "name": "Sales"
        }
      ],
      "url": "https://groove-tech.workable.com/jobs/102268944",
      "application_url": "https://groove-tech.workable.com/jobs/102268944/candidates/new",
      "shortlink": "https://groove-tech.workable.com/j/GROOV003",
      "location": {
        "location_str": "Portland, Oregon, United States",
        "country": "United States",
        "country_code": "US",
        "region": "Oregon",
        "region_code": "OR",
        "city": "Portland",
        "zip_code": "97201",
        "telecommuting": false
      },
      "salary": {
        "salary_from": 10000,
        "salary_to": 20000,
        "salary_currency": "eur"
      },
      "created_at": "2015-07-01T00:00:00Z"
    }
  ],
  "paging": {
    "next": "https://www.workable.com/spi/v3/accounts/groove-tech/jobs?limit=3&since_id=2700d6df"
  }
}

Knit for Workable API Integration

For quick and seamless access to workable API, Knit API offers a convenient solution. By integrating with Knit just once, you can streamline the entire process. Knit takes care of all the authentication, authorization, and ongoing integration maintenance, this approach not only saves time but also ensures a smooth and reliable connection to your workable API.

#1 in Ease of Integrations

Trusted by businesses to streamline and simplify integrations seamlessly with GetKnit.