{
  "openapi": "3.0.1",
  "info": {
    "title": "Jobs API — Career Site Job Listings from 461 Companies",
    "description": "Jobs API for career site job listings: one feed from the own job boards of 461 tech companies (OpenAI, Stripe, Databricks, Coinbase, Anthropic, Ramp…) across Greenhouse, Ashby and Lever — title, team, location, remote flag, pay range, plus roles new or closed since your last run. No reposts.",
    "version": "0.1",
    "x-build-id": "030XpmBckhjCfIGTp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/northbell~job-aggregator-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-northbell-job-aggregator-scraper",
        "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/northbell~job-aggregator-scraper/runs": {
      "post": {
        "operationId": "runs-sync-northbell-job-aggregator-scraper",
        "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/northbell~job-aggregator-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-northbell-job-aggregator-scraper",
        "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": {
          "companies": {
            "title": "Only these companies (optional)",
            "type": "array",
            "description": "Leave empty for all 461 companies. Or list names, e.g. \"openai\", \"databricks\". For any other company use the Greenhouse, Lever or Ashby Jobs Scraper.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Industries (optional)",
            "type": "array",
            "description": "Leave empty for all 461 companies. Pick one or more to read only those companies (the list each one stands for is checked by hand: the board really belongs to that company).",
            "items": {
              "type": "string",
              "enum": [
                "ai",
                "llm",
                "fintech",
                "crypto",
                "climate",
                "biotech",
                "health-tech",
                "cybersecurity",
                "defense-tech",
                "space",
                "gaming",
                "y-combinator",
                "startup",
                "pay-ranges",
                "new-grad-hiring"
              ],
              "enumTitles": [
                "AI labs and AI companies",
                "LLM and AI infrastructure",
                "Fintech",
                "Crypto and web3",
                "Climate tech",
                "Biotech",
                "Health tech",
                "Cybersecurity",
                "Defense tech",
                "Space and aerospace",
                "Gaming studios",
                "Y Combinator companies",
                "Startups",
                "US companies that publish pay ranges",
                "Companies hiring interns and new grads"
              ]
            }
          },
          "titleKeywords": {
            "title": "Title contains (optional)",
            "type": "string",
            "description": "Comma-separated, e.g. \"software engineer, product manager\"."
          },
          "locationKeywords": {
            "title": "Location contains (optional)",
            "type": "string",
            "description": "Comma-separated, e.g. \"new york, london, remote\"."
          },
          "remoteOnly": {
            "title": "Remote roles only",
            "type": "boolean",
            "description": "Keep only roles the board marks as remote.",
            "default": false
          },
          "postedWithinDays": {
            "title": "Posted within the last N days (optional)",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only roles first published in the last N days. Roles with no publish date are left out when you set this, and counted in OUTPUT."
          },
          "experienceLevels": {
            "title": "Experience level (optional)",
            "type": "array",
            "description": "Keep only these levels, read from the job title (the same words on every northbell job scraper; each row also gets a seniority column). Product, account and other non-people \"managers\" count as mid level.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "entry",
                "mid",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / apprentice",
                "Entry level / junior / new grad",
                "Mid level (no level word in the title)",
                "Senior",
                "Lead / staff / principal",
                "People manager",
                "Director / head of",
                "VP / C-level"
              ]
            }
          },
          "employmentTypes": {
            "title": "Employment type (optional)",
            "type": "array",
            "description": "From the board's own employment type (Lever and Ashby state it; Greenhouse rarely does), else from the title. Roles whose type is not stated are left out when you set this, and counted in OUTPUT.",
            "items": {
              "type": "string",
              "enum": [
                "full-time",
                "part-time",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full time",
                "Part time",
                "Contract / freelance",
                "Temporary",
                "Internship"
              ]
            }
          },
          "withSalaryOnly": {
            "title": "Only roles with a published pay range",
            "type": "boolean",
            "description": "Keep only roles where the company published a pay range.",
            "default": false
          },
          "includeDescription": {
            "title": "Include the full description",
            "type": "boolean",
            "description": "Off by default for a smaller, faster table. Turn on if you need the text.",
            "default": false
          },
          "output": {
            "title": "What to return",
            "enum": [
              "all",
              "changes"
            ],
            "type": "string",
            "description": "Schedule this Actor weekly or daily and pick \"Only new\" to pay only for new roles. The first run returns everything (there is nothing to compare with yet). Closed roles and the per-company summary rows are always free.",
            "default": "all"
          },
          "trackChanges": {
            "title": "Report new and closed roles since the last run",
            "type": "boolean",
            "description": "Exact, because each board returns every open role at once. First run marks everything as unknown (null).",
            "default": true
          },
          "maxJobsPerCompany": {
            "title": "Max roles per company",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stops returning roles from one company after this many. The new/closed comparison still uses the whole board.",
            "default": 1000
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}