Bindbee Jobs API
Job listings and requisitions from connected ATS systems.
Job listings and requisitions from connected ATS systems.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bindbee-jobs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Bindbee Jobs API
description: Job listings from connected ATS systems Operations copied verbatim from the Bindbee unified API contract published
at https://api.bindbee.dev/openapi.json.
version: 0.1.0
contact:
name: Bindbee Support
email: support@bindbee.dev
url: https://docs.bindbee.dev/
servers:
- url: https://api.bindbee.dev
description: Bindbee global API
- url: https://api-eu.bindbee.dev
description: Bindbee EU API
tags:
- name: Job
description: Job listings from connected ATS systems
paths:
/api/ats/v1/jobs:
get:
tags:
- Job
summary: Get Jobs
description: Returns a list of Job objects.
operationId: get_jobs_api_ats_v1_jobs_get
security:
- HTTPBearer: []
parameters:
- name: ids
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The ID of the jobs to fetch
examples:
- 01931edf-04b6-7391-8a5c-93ac4b395316,01931edf-04c8-7649-a470-d85f6161bd1a
title: Ids
description: The ID of the jobs to fetch
- name: remote_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The third-party API ID of the matching object.
examples:
- '3235005483341316245'
title: Remote Id
description: The third-party API ID of the matching object.
- name: code
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: If provided, will return jobs with this code
examples:
- DEV-01
title: Code
description: If provided, will return jobs with this code
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: If provided, will return jobs with this status. Along with the standard values, any connector specific
value returned in the response can be passed as well.
examples:
- OPEN
- CLOSED
- DRAFT
- ARCHIVED
- PENDING
- '-'
title: Status
description: If provided, will return jobs with this status. Along with the standard values, any connector specific
value returned in the response can be passed as well.
- name: offices
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: If provided, will return jobs in these offices
examples:
- 0194bcb7-bf3e-7315-8628-0dc9bf1b6d92,0194bcb7-bf3e-7315-8628-0dc9bf1b6d92
title: Offices
description: If provided, will return jobs in these offices
- name: include_raw_data
in: query
required: false
schema:
type: boolean
description: Include raw data in the response
examples:
- false
default: false
title: Include Raw Data
description: Include raw data in the response
- name: include_custom_fields
in: query
required: false
schema:
type: boolean
description: Whether to include custom fields in the response.
examples:
- false
default: false
title: Include Custom Fields
description: Whether to include custom fields in the response.
- name: page_size
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
description: Number of results to return per page. Maximum size is 200.
default: 50
title: Page Size
description: Number of results to return per page. Maximum size is 200.
- name: cursor
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: The pagination cursor value.
title: Cursor
description: The pagination cursor value.
- name: modified_after
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'If provided, only objects synced by Bindbee after this date time will be returned. Format: DateTime
(ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
examples:
- '2024-02-21T21:22:12.993Z'
title: Modified After
description: 'If provided, only objects synced by Bindbee after this date time will be returned. Format: DateTime
(ISO 8601). If no timezone offset is supplied, the value is interpreted as UTC.'
- name: expand
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces. You can also specify required fields in [] for each relation name.
examples:
- manager[first_name,last_name]
title: Expand
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces. You can also specify required fields in [] for each relation name.
- name: x-connector-token
in: header
required: true
schema:
type: string
title: X-Connector-Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedResponse_AtsJob_'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'401':
description: Missing or invalid bearer authentication credentials.
headers:
WWW-Authenticate:
description: Bearer authentication challenge.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on
a different API category or a model whose writes are disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
description: Maximum requests allowed in the current window.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests remaining in the current window.
schema:
type: integer
X-RateLimit-Reset:
description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets.
schema:
type: integer
Retry-After:
description: Seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
post:
tags:
- Job
summary: Create Job
description: Creates a Job object with the given values.
operationId: create_job_api_ats_v1_jobs_post
security:
- HTTPBearer: []
parameters:
- name: x-connector-token
in: header
required: true
schema:
type: string
title: X-Connector-Token
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAtsJob'
responses:
'201':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'401':
description: Missing or invalid bearer authentication credentials.
headers:
WWW-Authenticate:
description: Bearer authentication challenge.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on
a different API category or a model whose writes are disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
description: Maximum requests allowed in the current window.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests remaining in the current window.
schema:
type: integer
X-RateLimit-Reset:
description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets.
schema:
type: integer
Retry-After:
description: Seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/api/ats/v1/jobs/{id}:
get:
tags:
- Job
summary: Get Job By Id
description: Returns a Job object with the given id.
operationId: get_job_by_id_api_ats_v1_jobs__id__get
security:
- HTTPBearer: []
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
title: Id
- name: include_raw_data
in: query
required: false
schema:
type: boolean
description: Include raw data in the response
examples:
- false
default: false
title: Include Raw Data
description: Include raw data in the response
- name: include_custom_fields
in: query
required: false
schema:
type: boolean
description: Whether to include custom fields in the response.
examples:
- false
default: false
title: Include Custom Fields
description: Whether to include custom fields in the response.
- name: expand
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces. You can also specify required fields in [] for each relation name.
examples:
- manager[first_name,last_name]
title: Expand
description: Which relations should be returned in expanded form. Multiple relation names should be comma separated
without spaces. You can also specify required fields in [] for each relation name.
- name: x-connector-token
in: header
required: true
schema:
type: string
title: X-Connector-Token
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/AtsJob'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'401':
description: Missing or invalid bearer authentication credentials.
headers:
WWW-Authenticate:
description: Bearer authentication challenge.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'403':
description: The credentials are valid but do not permit access to this resource, e.g. a connector token used on
a different API category or a model whose writes are disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded.
headers:
X-RateLimit-Limit:
description: Maximum requests allowed in the current window.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests remaining in the current window.
schema:
type: integer
X-RateLimit-Reset:
description: Unix timestamp (seconds since epoch) at which the current rate-limit window resets.
schema:
type: integer
Retry-After:
description: Seconds to wait before retrying the request.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
components:
securitySchemes:
HTTPBearer:
type: http
scheme: bearer
schemas:
AtsJob:
properties:
id:
type: string
format: uuid
title: Id
examples:
- 018b18ef-c487-703c-afd9-0ca478ccd9d6
remote_id:
anyOf:
- type: string
- type: 'null'
title: Remote Id
description: The third-party API ID of the matching object.
examples:
- '123321'
modified_at:
type: string
format: date-time
title: Modified At
description: This is the datetime that this object was last updated by Bindbee
examples:
- '2021-10-16T00:00:00Z'
raw_data:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Raw Data
description: This is the Raw data
examples:
- key_1: Platform dependent data 1
key_2: Platform dependent data 2
custom_fields:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Custom Fields
description: The custom fields related to the model
examples:
- category_group: REG
disability_type: ASBERG
hire_date: '1991-03-16T00:00:00'
hire_source: REFER
nationality: USA
original_hire_date: '1991-03-16T00:00:00'
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the job.
examples:
- SOFTWARE ENGINEER
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: A detailed description of the job.
examples:
- We are looking for a software engineer to join our team.
code:
anyOf:
- type: string
- type: 'null'
title: Code
description: The internal or external code that identifies the job.
examples:
- SE-2021-01
status:
anyOf:
- type: string
- type: 'null'
enum:
- OPEN
- CLOSED
- DRAFT
- ARCHIVED
- PENDING
- '-'
title: Status
description: The current status of the job posting. If the value is not one of the defined enum values, the original
value passed through will be returned.
examples:
- OPEN
job_posting_urls:
anyOf:
- items:
$ref: '#/components/schemas/AtsUrl'
type: array
- type: 'null'
title: Job Posting Urls
description: A list of URLs where the job is posted.
examples:
- https://www.company.com/careers/software-engineer
remote_created_at:
anyOf:
- type: string
- type: 'null'
title: Remote Created At
description: The ISO date string when the job was first created in the ATS.
examples:
- '2021-01-01T00:00:00Z'
remote_updated_at:
anyOf:
- type: string
- type: 'null'
title: Remote Updated At
description: The ISO date string when the job was last updated in the ATS.
examples:
- '2021-01-01T00:00:00Z'
confidential:
anyOf:
- type: boolean
- type: 'null'
title: Confidential
description: Whether the job posting is confidential.
examples:
- false
departments:
anyOf:
- items: {}
type: array
- type: 'null'
title: Departments
description: A list of department identifiers associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
offices:
anyOf:
- items: {}
type: array
- type: 'null'
title: Offices
description: A list of office identifiers where the job is located.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
hiring_managers:
anyOf:
- items: {}
type: array
- type: 'null'
title: Hiring Managers
description: A list of identifiers for hiring managers associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
recruiters:
anyOf:
- items: {}
type: array
- type: 'null'
title: Recruiters
description: A list of identifiers for recruiters associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
type: object
required:
- id
- remote_id
- modified_at
- custom_fields
- name
- description
- code
- status
- job_posting_urls
- remote_created_at
- remote_updated_at
- confidential
- departments
- offices
- hiring_managers
- recruiters
title: AtsJob
description: The AtsJob object represents a job posting within the ATS.
AtsUrl:
properties:
value:
anyOf:
- type: string
- type: 'null'
title: Value
description: The site's url.
url_type:
anyOf:
- type: string
- type: 'null'
enum:
- PERSONAL
- COMPANY
- PORTFOLIO
- BLOG
- SOCIAL_MEDIA
- OTHER
- JOB_POSTING
- '-'
title: Url Type
description: The type of site. If the value is not one of the defined enum values, the original value passed through
will be returned.
type: object
required:
- value
- url_type
title: AtsUrl
CreateAtsJob:
properties:
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: The name of the job.
examples:
- SOFTWARE ENGINEER
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: A detailed description of the job.
examples:
- We are looking for a software engineer to join our team.
code:
anyOf:
- type: string
- type: 'null'
title: Code
description: The internal or external code that identifies the job.
examples:
- SE-2021-01
status:
anyOf:
- type: string
- type: 'null'
enum:
- OPEN
- CLOSED
- DRAFT
- ARCHIVED
- PENDING
- '-'
title: Status
description: The current status of the job posting. If the value is not one of the defined enum values, the original
value passed through will be returned.
examples:
- OPEN
job_posting_urls:
anyOf:
- items:
$ref: '#/components/schemas/AtsUrl'
type: array
- type: 'null'
title: Job Posting Urls
description: A list of URLs where the job is posted.
examples:
- https://www.company.com/careers/software-engineer
confidential:
anyOf:
- type: boolean
- type: 'null'
title: Confidential
description: Whether the job posting is confidential.
examples:
- false
departments:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Departments
description: A list of department identifiers associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
offices:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Offices
description: A list of office identifiers where the job is located.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
hiring_managers:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Hiring Managers
description: A list of identifiers for hiring managers associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
- 018b4bfb-5ece-70b1-ad5e-862a9433aa23
recruiters:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Recruiters
description: A list of identifiers for recruiters associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
template_id:
anyOf:
- type: string
- type: 'null'
title: Template Id
description: The template id associated with the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
remote_user_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Remote User Id
description: The remote user's id who is creating the job.
examples:
- 018b4bfb-5ece-70b1-ad5e-862a9433aa65
openings:
anyOf:
- type: integer
- type: 'null'
title: Openings
description: Number of openings for the job.
examples:
- 3
type: object
title: CreateAtsJob
ErrorResponse:
type: object
required:
- detail
properties:
detail:
type: string
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
PaginatedResponse_AtsJob_:
properties:
cursor:
anyOf:
- type: string
- type: 'null'
title: Cursor
description: Cursor value to fetch next set of items
examples:
- MDE4YjE4ZWYtYzk5Yy03YTg2LTk5NDYtN2I3YzlkNTQzM2U1
page_size:
type: integer
title: Page Size
description: Indicates the count of items in the response
examples:
- 50
items:
items:
$ref: '#/components/schemas/AtsJob'
type: array
title: Items
description: List of items in the current response
type: object
required:
- cursor
- page_size
- items
title: PaginatedResponse[AtsJob]
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
x-provenance:
method: derived
source: openapi/_original/bindbee-openapi.json
source_url: https://api.bindbee.dev/openapi.json
generated: '2026-09-04'
note: Operations, parameters, responses and schemas copied verbatim from the provider-published OpenAPI at https://api.bindbee.dev/openapi.json
(fetched 2026-09-04, HTTP 200). Only the tag filter, the info block and the servers[] block were authored here; servers[]
are the two hosts the provider publishes on https://docs.bindbee.dev/api-reference/basics/pagination.