{
  "openapi": "3.0.1",
  "info": {
    "title": "Workday, Greenhouse, Lever & Ashby Jobs Scraper + Delta API",
    "description": "Scrape open jobs from Workday, Greenhouse, Lever and Ashby career sites, or start from a company domain and find its ATS job board. Change tracking returns only new, updated and closed jobs. No browser, no proxies.",
    "version": "0.0",
    "x-build-id": "ZPf225WG2L7Ub183k"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ginugokz~ats-zero-browser-gateway/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ginugokz-ats-zero-browser-gateway",
        "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/ginugokz~ats-zero-browser-gateway/runs": {
      "post": {
        "operationId": "runs-sync-ginugokz-ats-zero-browser-gateway",
        "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/ginugokz~ats-zero-browser-gateway/run-sync": {
      "post": {
        "operationId": "run-sync-ginugokz-ats-zero-browser-gateway",
        "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": {
          "mode": {
            "title": "Execution Mode",
            "enum": [
              "extract",
              "resolve_only"
            ],
            "type": "string",
            "description": "'extract' returns jobs from career-site URLs and/or company domains. 'resolve_only' only finds each company's ATS job board from its domain (charged only when a board is verified).",
            "default": "extract"
          },
          "provider": {
            "title": "ATS Provider",
            "enum": [
              "auto",
              "workday",
              "greenhouse",
              "lever",
              "ashby"
            ],
            "type": "string",
            "description": "Select 'auto' to detect from URLs or company domains automatically.",
            "default": "auto"
          },
          "portal_url": {
            "title": "Career site URL or company domain",
            "type": "string",
            "description": "A Workday, Greenhouse, Lever or Ashby career-site URL, or a company domain such as stripe.com."
          },
          "domains": {
            "title": "Company domains",
            "type": "array",
            "description": "Company domains such as stripe.com or linear.app. Each domain is matched to its ATS job board with ownership proof. Domains that cannot be resolved are free.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "targets": {
            "title": "Career-site URLs (batch)",
            "type": "array",
            "description": "Career-site URLs to extract in one run, e.g. https://boards.greenhouse.io/stripe or https://jobs.ashbyhq.com/ramp. A bare board token (e.g. stripe) works only with ATS Provider set.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "datasetId": {
            "title": "Upstream dataset ID (integrations)",
            "type": "string",
            "description": "Optional dataset ID from an upstream Actor run. When configuring an Apify Integration, pass {{resource.defaultDatasetId}} or rely on automatic payload detection.",
            "default": ""
          },
          "search": {
            "title": "Search keyword (Workday only)",
            "type": "string",
            "description": "Optional keyword passed to Workday's own job search, for example 'engineer'. Ignored for Greenhouse, Lever and Ashby.",
            "default": ""
          },
          "max_jobs": {
            "title": "Max jobs per company",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum jobs returned per company (1-500). Ignored when 'Full site scan' is on.",
            "default": 40
          },
          "include_details": {
            "title": "Include full descriptions and salary extraction",
            "type": "boolean",
            "description": "Fetch each job's full description and extract published salary text. Turn off for faster runs with titles, locations and URLs only.",
            "default": true
          },
          "only_deltas": {
            "title": "Only return changes (ADDED / UPDATED / REMOVED)",
            "type": "boolean",
            "description": "Skip unchanged jobs so you only receive and pay for new, edited or closed jobs since the previous run.",
            "default": false
          },
          "full_scan": {
            "title": "Full site scan (summary mode, needed for reliable REMOVED tracking on large sites)",
            "type": "boolean",
            "description": "Reads every job on the site (up to 5,000) in summary mode, without descriptions. Use it with change tracking on large sites so closed jobs are detected reliably. Turns off full descriptions automatically.",
            "default": false
          },
          "state_store_name": {
            "title": "Change-tracking store name",
            "type": "string",
            "description": "Named Key-Value Store used to persist ADDED/UPDATED/REMOVED state across runs.",
            "default": "ats-delta-state"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}