Piloterr Greenhouse API

The Greenhouse API from Piloterr — 2 operation(s) for greenhouse.

GitHub OpenAPI

Operations 4

GET /v2/greenhouse/job Greenhouse Job #
POST /v2/greenhouse/job Greenhouse Job #
POST /v2/greenhouse/search Greenhouse Search #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/piloterr-com:piloterr-com-greenhouse-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

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 Specification

piloterr-com-greenhouse-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Piloterr API Reference Greenhouse API
  description: Complete API reference documentation.
  version: 1.0.0
servers:
- url: https://api.piloterr.com
  description: API Server
tags:
- name: Greenhouse
paths:
  /v2/greenhouse/job:
    get:
      summary: Greenhouse Job
      description: 'Fetch one Greenhouse job by board/id, such as discord/8806482002, or by a job-boards.greenhouse.io job URL.


        **Credit cost:** 1 credit per call'
      operationId: get-greenhouse-job
      security:
      - ApiKeyAuth: []
      parameters:
      - name: query
        in: query
        required: true
        description: 'Required. board/id or a job URL. Example: discord/8806482002 or https://job-boards.greenhouse.io/discord/jobs/8806482002.'
        schema:
          type: string
          description: 'Required. board/id or a job URL. Example: discord/8806482002 or https://job-boards.greenhouse.io/discord/jobs/8806482002.'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/is_async'
      - $ref: '#/components/parameters/soft_fail'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  url:
                    type: string
                  title:
                    type: string
                  offices:
                    type: array
                    items:
                      type: string
                  language:
                    type: string
                  location:
                    type: string
                  updated_at:
                    type: string
                  departments:
                    type: array
                    items:
                      type: string
                  description:
                    type: string
                  company_name:
                    type: string
                  requisition_id:
                    type: string
                  first_published:
                    type: string
                  application_deadline:
                    nullable: true
              examples:
                Commercial Policy Lead:
                  value:
                    id: 8806482002
                    url: https://job-boards.greenhouse.io/discord/jobs/8806482002
                    title: Commercial Policy Lead
                    offices:
                    - Remote (US)
                    language: en
                    location: San Francisco Bay Area
                    updated_at: '2026-10-20T20:27:20-04:00'
                    departments:
                    - Policy
                    description: 'Discord has a highly engaged community of millions of daily active users who use the platform for many different reasons, but there’s one thing that nearly everyone does: play video games. Discord plays a uniquely important role in the future of gaming, and we are focused on making it easier and more fun for people to hang out before, during, and after playing games. We are seeking a strategic Commercial Policy Lead to shape Discord''s approach to monetization and revenue products. As a key member of the Product Policy organization, you will develop and implement advertising and commerce policies that enable Discord''s business while maintaining platform safety and user trust. This role requires a deep understanding of digital commerce, creator economies, and advertising ecosystems, with the ability to balance business objectives with responsible platform practices.'
                    company_name: Discord
                    requisition_id: R-107406
                    first_published: '2026-09-15T12:52:11-04:00'
                    application_deadline: null
        '400':
          description: Bad Request — missing or invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Bad Request
        '401':
          description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidKey:
                  value:
                    error: Invalid API Key
                planRateLimit:
                  value:
                    error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
                keyQuota:
                  value:
                    error: 'Rate limit exceeded for the API key: quota monthly'
        '402':
          description: Payment Required — your subscription or credit balance is insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Payment required
        '500':
          description: Internal Server Error — something went wrong on our side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal Error
      tags:
      - Greenhouse
    post:
      summary: Greenhouse Job
      description: 'Fetch one Greenhouse job by board/id, such as discord/8806482002, or by a job-boards.greenhouse.io job URL.


        **Credit cost:** 1 credit per call'
      operationId: post-greenhouse-job
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/is_async'
      - $ref: '#/components/parameters/soft_fail'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: 'Required. board/id or a job URL. Example: discord/8806482002 or https://job-boards.greenhouse.io/discord/jobs/8806482002.'
              required:
              - query
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                  url:
                    type: string
                  title:
                    type: string
                  offices:
                    type: array
                    items:
                      type: string
                  language:
                    type: string
                  location:
                    type: string
                  updated_at:
                    type: string
                  departments:
                    type: array
                    items:
                      type: string
                  description:
                    type: string
                  company_name:
                    type: string
                  requisition_id:
                    type: string
                  first_published:
                    type: string
                  application_deadline:
                    nullable: true
              examples:
                Commercial Policy Lead:
                  value:
                    id: 8806482002
                    url: https://job-boards.greenhouse.io/discord/jobs/8806482002
                    title: Commercial Policy Lead
                    offices:
                    - Remote (US)
                    language: en
                    location: San Francisco Bay Area
                    updated_at: '2026-10-20T20:27:20-04:00'
                    departments:
                    - Policy
                    description: 'Discord has a highly engaged community of millions of daily active users who use the platform for many different reasons, but there’s one thing that nearly everyone does: play video games. Discord plays a uniquely important role in the future of gaming, and we are focused on making it easier and more fun for people to hang out before, during, and after playing games. We are seeking a strategic Commercial Policy Lead to shape Discord''s approach to monetization and revenue products. As a key member of the Product Policy organization, you will develop and implement advertising and commerce policies that enable Discord''s business while maintaining platform safety and user trust. This role requires a deep understanding of digital commerce, creator economies, and advertising ecosystems, with the ability to balance business objectives with responsible platform practices.'
                    company_name: Discord
                    requisition_id: R-107406
                    first_published: '2026-09-15T12:52:11-04:00'
                    application_deadline: null
        '400':
          description: Bad Request — missing or invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Bad Request
        '401':
          description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidKey:
                  value:
                    error: Invalid API Key
                planRateLimit:
                  value:
                    error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
                keyQuota:
                  value:
                    error: 'Rate limit exceeded for the API key: quota monthly'
        '402':
          description: Payment Required — your subscription or credit balance is insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Payment required
        '500':
          description: Internal Server Error — something went wrong on our side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal Error
      tags:
      - Greenhouse
  /v2/greenhouse/search:
    get:
      summary: Greenhouse Search
      description: 'List jobs on a Greenhouse board. query is the board token, such as discord. keyword filters title and location.


        **Credit cost:** 1 credit per call'
      operationId: get-greenhouse-search
      security:
      - ApiKeyAuth: []
      parameters:
      - name: query
        in: query
        required: true
        description: 'Required. Board token or a job-boards.greenhouse.io board URL. Example: discord. A job URL returns 400.'
        schema:
          type: string
          description: 'Required. Board token or a job-boards.greenhouse.io board URL. Example: discord. A job URL returns 400.'
      - name: keyword
        in: query
        required: false
        description: 'Optional. Case-insensitive filter on title and location. Example: policy. Omit it to list the whole board.'
        schema:
          type: string
          description: 'Optional. Case-insensitive filter on title and location. Example: policy. Omit it to list the whole board.'
      - name: page
        in: query
        required: false
        description: 'Optional. Page number from 1. Example: 2. Defaults to 1. Page size is 20.'
        schema:
          type: number
          description: 'Optional. Page number from 1. Example: 2. Defaults to 1. Page size is 20.'
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/is_async'
      - $ref: '#/components/parameters/soft_fail'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        url:
                          type: string
                        title:
                          type: string
                        language:
                          type: string
                        location:
                          type: string
                        updated_at:
                          type: string
                        company_name:
                          type: string
                        requisition_id:
                          type: string
                        first_published:
                          type: string
                        application_deadline:
                          nullable: true
                  pagination:
                    type: object
                    properties:
                      next:
                        type: string
                      page:
                        type: integer
                      per_page:
                        type: integer
                      total_pages:
                        type: integer
                      total_results:
                        type: integer
              examples:
                discord:
                  value:
                    results:
                    - id: 8806482002
                      url: https://job-boards.greenhouse.io/discord/jobs/8806482002
                      title: Commercial Policy Lead
                      language: en
                      location: San Francisco Bay Area
                      updated_at: '2026-10-20T20:27:20-04:00'
                      company_name: Discord
                      requisition_id: R-107406
                      first_published: '2026-09-15T12:52:11-04:00'
                      application_deadline: null
                    pagination:
                      next: https://job-boards.greenhouse.io/discord?page=2
                      page: 1
                      per_page: 20
                      total_pages: 3
                      total_results: 43
        '400':
          description: Bad Request — missing or invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Bad Request
        '401':
          description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidKey:
                  value:
                    error: Invalid API Key
                planRateLimit:
                  value:
                    error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
                keyQuota:
                  value:
                    error: 'Rate limit exceeded for the API key: quota monthly'
        '402':
          description: Payment Required — your subscription or credit balance is insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Payment required
        '500':
          description: Internal Server Error — something went wrong on our side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal Error
      tags:
      - Greenhouse
    post:
      summary: Greenhouse Search
      description: 'List jobs on a Greenhouse board. query is the board token, such as discord. keyword filters title and location.


        **Credit cost:** 1 credit per call'
      operationId: post-greenhouse-search
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/fields'
      - $ref: '#/components/parameters/is_async'
      - $ref: '#/components/parameters/soft_fail'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: 'Required. Board token or a job-boards.greenhouse.io board URL. Example: discord. A job URL returns 400.'
                keyword:
                  type: string
                  description: 'Optional. Case-insensitive filter on title and location. Example: policy. Omit it to list the whole board.'
                page:
                  type: number
                  description: 'Optional. Page number from 1. Example: 2. Defaults to 1. Page size is 20.'
              required:
              - query
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                        url:
                          type: string
                        title:
                          type: string
                        language:
                          type: string
                        location:
                          type: string
                        updated_at:
                          type: string
                        company_name:
                          type: string
                        requisition_id:
                          type: string
                        first_published:
                          type: string
                        application_deadline:
                          nullable: true
                  pagination:
                    type: object
                    properties:
                      next:
                        type: string
                      page:
                        type: integer
                      per_page:
                        type: integer
                      total_pages:
                        type: integer
                      total_results:
                        type: integer
              examples:
                discord:
                  value:
                    results:
                    - id: 8806482002
                      url: https://job-boards.greenhouse.io/discord/jobs/8806482002
                      title: Commercial Policy Lead
                      language: en
                      location: San Francisco Bay Area
                      updated_at: '2026-10-20T20:27:20-04:00'
                      company_name: Discord
                      requisition_id: R-107406
                      first_published: '2026-09-15T12:52:11-04:00'
                      application_deadline: null
                    pagination:
                      next: https://job-boards.greenhouse.io/discord?page=2
                      page: 1
                      per_page: 20
                      total_pages: 3
                      total_results: 43
        '400':
          description: Bad Request — missing or invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Bad Request
        '401':
          description: Unauthorized — the API key is missing, invalid, inactive, or expired, or a rate limit was exceeded (`Rate limit exceeded…` message).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidKey:
                  value:
                    error: Invalid API Key
                planRateLimit:
                  value:
                    error: 'Rate limit exceeded: You''ve exceeded the per second rate limit on your subscription'
                keyQuota:
                  value:
                    error: 'Rate limit exceeded for the API key: quota monthly'
        '402':
          description: Payment Required — your subscription or credit balance is insufficient.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Payment required
        '500':
          description: Internal Server Error — something went wrong on our side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error: Internal Error
      tags:
      - Greenhouse
components:
  parameters:
    fields:
      name: fields
      in: query
      required: false
      description: Comma-separated list of response fields to return, with dot notation for nested fields (e.g. `name,location.city`).
      schema:
        type: string
    is_async:
      name: is_async
      in: query
      required: false
      description: 'Run the request as a background job: the API answers `202` with a `job_id` to poll on `GET /v1/jobs/{id}`.'
      schema:
        type: boolean
        default: false
    soft_fail:
      name: soft_fail
      in: query
      required: false
      description: Return HTTP 200 even when the request fails; the error is in the `error` field of the body.
      schema:
        type: boolean
        default: false
  schemas:
    ErrorResponse:
      type: object
      required:
      - error
      properties:
        error:
          type: string
          description: Human-readable error message.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Your API key. Include it in the x-api-key header for every request.