{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Jobs Feed: New Greenhouse, SmartRecruiters, Ashby Jobs",
    "description": "The jobs that are new since your last run, from about 9,300 company career sites on Greenhouse, Ashby, Lever, Personio and SmartRecruiters. Run it as a feed.",
    "version": "0.1",
    "x-build-id": "u30ewzknkYFqxbIUd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dododata~career-jobs-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dododata-career-jobs-feed",
        "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/dododata~career-jobs-feed/runs": {
      "post": {
        "operationId": "runs-sync-dododata-career-jobs-feed",
        "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/dododata~career-jobs-feed/run-sync": {
      "post": {
        "operationId": "run-sync-dododata-career-jobs-feed",
        "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": {
          "feedName": {
            "title": "Feed name",
            "type": "string",
            "description": "Each feed name keeps its own memory of the jobs it already delivered, in a key-value store on your Apify account called dododata-feed-<name>. Use one name per schedule or per set of filters. Every run returns only the jobs that are new to this feed since its previous run. Names that differ only in case, spaces or punctuation (My Feed, my-feed, my_feed) are the same feed and share one memory.",
            "default": "default"
          },
          "firstRunDays": {
            "title": "First run: days of new jobs",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "A feed's first run returns the jobs the index first saw in its latest N days (1: the latest refresh only; at most 3). Later runs return only what is new since the run before. For everything open now, use Career Site Jobs Search.",
            "default": 1
          },
          "backlogDays": {
            "title": "Skip backlog older than (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "A job counts as new only if the career site posted it at most this many days before our index first saw it. This keeps out the whole existing job list of a career site the index has just added, and old jobs re-published under the same id. In a normal refresh it leaves out about one newly listed job in eight (681 of 5,610 on 27 October 2026). 0 keeps every job the index sees for the first time.",
            "default": 7
          },
          "keywords": {
            "title": "Title keywords",
            "type": "array",
            "description": "Keep jobs whose title has a word starting with one of these (\"engineer\" also finds \"Engineering Manager\"). Empty for every new job.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude title words",
            "type": "array",
            "description": "Drop jobs whose title contains one of these whole words, for example senior or intern.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Keep jobs whose location, country or workplace type contains one of these whole words: berlin, united kingdom, us, remote.",
            "items": {
              "type": "string"
            }
          },
          "excludeLocations": {
            "title": "Exclude locations",
            "type": "array",
            "description": "Drop jobs whose location, country or workplace type names one of these places, by the same rule as Locations: \"uk\" also drops \"United Kingdom\", \"remote\" drops jobs marked remote.",
            "items": {
              "type": "string"
            }
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Keep only jobs the employer marks as remote.",
            "default": false
          },
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "Keep jobs from these companies only, by name or career-page slug (stripe, Figma).",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Drop jobs from these companies, by name or career-page slug.",
            "items": {
              "type": "string"
            }
          },
          "systems": {
            "title": "Career-page systems",
            "type": "array",
            "description": "Keep jobs from these systems only. Empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "ashby",
                "lever",
                "personio",
                "smartrecruiters",
                "teamtailor",
                "recruitee"
              ],
              "enumTitles": [
                "Greenhouse",
                "Ashby",
                "Lever",
                "Personio",
                "SmartRecruiters",
                "Teamtailor",
                "Recruitee"
              ]
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs with a pay range",
            "type": "boolean",
            "description": "Keep only jobs that state a pay range. Ashby, Lever and Personio pay is in the index; each new Greenhouse or SmartRecruiters job is read for its own, and kept only when it states a range. Jobs without pay are left out, not charged, and not read again in later runs. Per run, at most 4 times the jobs the run can return (Max items, or fewer under your maximum cost per run), and at least 200, are read without finding pay; the rest wait for the next run, and the run log says so.",
            "default": false
          },
          "employmentTypes": {
            "title": "Employment types",
            "type": "array",
            "description": "Keep jobs whose employment type contains one of these: full-time, part-time, contract, intern, temporary. Greenhouse boards publish no employment type, so this filter leaves out every Greenhouse job.",
            "items": {
              "type": "string"
            }
          },
          "seniority": {
            "title": "Seniority (as the title states it)",
            "type": "array",
            "description": "Keep jobs whose title states one of these levels: \"Senior Data Engineer\" is senior, \"Staff Engineer\" lead, \"Head of Sales\" director. Read from the title words only (and Personio's own level field), never guessed; about two titles in three state no level, which \"No level in the title\" keeps.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "junior",
                "senior",
                "lead",
                "director",
                "unspecified"
              ],
              "enumTitles": [
                "Intern, working student, apprentice",
                "Junior, graduate, entry level",
                "Senior",
                "Staff, principal, lead",
                "Director, VP, head of, chief",
                "No level in the title"
              ]
            }
          },
          "workplaceTypes": {
            "title": "Workplace type",
            "type": "array",
            "description": "Keep jobs the employer marks as remote, hybrid or on-site. Many boards (most Greenhouse boards) publish no workplace type; those jobs are left out when this is set.",
            "items": {
              "type": "string",
              "enum": [
                "remote",
                "hybrid",
                "onsite"
              ],
              "enumTitles": [
                "Remote",
                "Hybrid",
                "On-site"
              ]
            }
          },
          "maxPerCompany": {
            "title": "Max jobs per company",
            "minimum": 0,
            "type": "integer",
            "description": "Empty or 0: no limit, so the feed is complete. A number: at most this many new jobs from one company in a run; the others are left out for good, not sent in a later run."
          },
          "includeDescription": {
            "title": "Include full descriptions",
            "type": "boolean",
            "description": "Fetch the full job text for the jobs returned, live from each career site, politely (at most five requests a second). Off by default: a feed is mostly metadata, and the text is one click away in url.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "At most this many new jobs per run, oldest first-seen date first. New jobs past it come first in the next run, for as long as their employers still list them. Together with your maximum cost per run, it caps what a run can cost. A run that fails part-way may repeat up to 500 of its jobs in the next run.",
            "default": 1000
          },
          "resetFeed": {
            "title": "Start this feed over",
            "type": "boolean",
            "description": "Forget what this feed delivered and run it as a first run again. Turn it off again before the next scheduled run.",
            "default": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}