{
  "openapi": "3.0.1",
  "info": {
    "title": "JazzHR Jobs API | Search Every Company Job Board",
    "description": "Search live job postings across every company hiring on JazzHR (applytojob.com). No company URL needed. Returns titles, employers, locations, posting dates, apply links, and full descriptions in markdown, HTML, or text, plus a directory of every employer on the platform.",
    "version": "0.1",
    "x-build-id": "WVmlbvkWdtEcjDVOi"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/johnvc~jazzhr-jobs-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-johnvc-jazzhr-jobs-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/johnvc~jazzhr-jobs-api/runs": {
      "post": {
        "operationId": "runs-sync-johnvc-jazzhr-jobs-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/johnvc~jazzhr-jobs-api/run-sync": {
      "post": {
        "operationId": "run-sync-johnvc-jazzhr-jobs-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Company boards or job URLs",
            "type": "array",
            "description": "Optional. JazzHR company boards such as https://company.applytojob.com or individual job URLs. Leave empty to search every company on the platform.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Job title keywords",
            "type": "array",
            "description": "Optional. Keep only jobs whose title contains any of these words, for example nurse, welder, account executive. Matched against the job URL before each job page is fetched, so filtering here makes runs cheaper.",
            "items": {
              "type": "string"
            }
          },
          "outputMode": {
            "title": "What to return",
            "enum": [
              "jobs",
              "urlsOnly",
              "companiesOnly"
            ],
            "type": "string",
            "description": "jobs returns full job records with descriptions. urlsOnly returns the job index without opening each posting, which is the cheapest way to list everything. companiesOnly returns one row per employer with a job count, a directory of every company hiring on JazzHR.",
            "default": "jobs"
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "markdown",
              "html",
              "text",
              "all"
            ],
            "type": "string",
            "description": "How to return each job description. Markdown is compact and reads well in AI agents and LLM pipelines, html preserves the original markup, text is plain prose, all returns every format.",
            "default": "markdown"
          },
          "companies": {
            "title": "Only these companies",
            "type": "array",
            "description": "Optional. Company slugs to include, taken from the subdomain of a JazzHR board. For https://acmecorp.applytojob.com the slug is acmecorp.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude these companies",
            "type": "array",
            "description": "Optional. Company slugs to skip. Useful for filtering out staffing agencies or employers you already track.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location contains",
            "type": "string",
            "description": "Optional. Case-insensitive text match against the city, state, postal code, or country of the job, for example Austin, CA, or 92618.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "ANY",
              "FULL_TIME",
              "PART_TIME",
              "CONTRACTOR",
              "TEMPORARY",
              "INTERN",
              "OTHER"
            ],
            "type": "string",
            "description": "Keep only jobs of this employment type. Leave on Any to include everything.",
            "default": "ANY"
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only postings the employer flagged as remote.",
            "default": false
          },
          "postedAfter": {
            "title": "Posted on or after",
            "type": "string",
            "description": "Optional. Keep only jobs the employer posted on or after this date, in YYYY-MM-DD form. Uses the real posting date from the job page.",
            "default": ""
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 150000,
            "type": "integer",
            "description": "Stop after this many rows. The platform holds well over 100,000 live jobs, so this cap is what keeps an exploratory run small and cheap.",
            "default": 100
          },
          "newJobsOnly": {
            "title": "Only jobs not seen before",
            "type": "boolean",
            "description": "Return only postings this Actor has not returned in an earlier run. Job IDs are remembered between runs, which turns a schedule into a feed of newly posted jobs.",
            "default": false
          },
          "firstRunBehavior": {
            "title": "First run in delta mode",
            "enum": [
              "emitAll",
              "seedOnly"
            ],
            "type": "string",
            "description": "What the first run should do when Only jobs not seen before is on. Emit all returns everything and remembers it. Seed only returns nothing and just records what exists today, so the next run is a clean list of new jobs.",
            "default": "emitAll"
          },
          "deltaStoreName": {
            "title": "Memory store name",
            "type": "string",
            "description": "Named key-value store that holds the job IDs seen so far. Change it to keep separate delta histories for separate searches.",
            "default": "jazzhr-seen-jobs"
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How many job pages to read at once. Lower it if the source starts rejecting requests; the Actor also slows itself down automatically when error rates rise.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Route requests through Apify Proxy. Direct connections work by default, so leave this off unless you hit blocking.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}