{
  "openapi": "3.0.1",
  "info": {
    "title": "Career Site Job Feed API: 2.5M+ Jobs, 50K+ Sites, from $1.50/1K",
    "description": "2.5M+ open jobs from 50,000+ company career sites on 18 systems (Greenhouse, Lever, Ashby, Workday, Workable, BambooHR, ADP, Paylocity and more), from $1.50 per 1,000 jobs. Filter by title, country, remote, salary and date; get only jobs new since your last run. JSON, CSV, API, MCP.",
    "version": "0.1",
    "x-build-id": "if8Ybeh6XWrXhMvZl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tidelane~career-site-job-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tidelane-career-site-job-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/tidelane~career-site-job-feed/runs": {
      "post": {
        "operationId": "runs-sync-tidelane-career-site-job-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/tidelane~career-site-job-feed/run-sync": {
      "post": {
        "operationId": "run-sync-tidelane-career-site-job-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": {
          "titleKeywords": {
            "title": "Title keywords (any)",
            "type": "array",
            "description": "Keep jobs whose title contains at least one of these words. A word matches at the start of a word, so engineer also finds Engineering. Case and accents are ignored. Leave empty for all titles.",
            "items": {
              "type": "string"
            }
          },
          "titleExcludeKeywords": {
            "title": "Exclude title keywords",
            "type": "array",
            "description": "Drop jobs whose title contains any of these words, e.g. intern, senior, manager.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries (any)",
            "type": "array",
            "description": "Keep jobs in at least one of these countries. Use names (Germany, United Kingdom) or ISO codes (DE, GB). The country is derived from the job's location; jobs that only say 'Remote' have no country.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Location text (any)",
            "type": "array",
            "description": "Keep jobs whose location text contains one of these, e.g. Berlin, London, EMEA. Case and accents are ignored.",
            "items": {
              "type": "string"
            }
          },
          "workplace": {
            "title": "Workplace",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "onsite",
              "remote_or_hybrid"
            ],
            "type": "string",
            "description": "Remote, hybrid or on-site, as published by the company.",
            "default": "any"
          },
          "companies": {
            "title": "Company names (any)",
            "type": "array",
            "description": "Keep jobs of companies whose name or board slug contains one of these texts.",
            "items": {
              "type": "string"
            }
          },
          "ats": {
            "title": "Job board systems",
            "type": "array",
            "description": "Limit to some systems. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "greenhouse",
                "lever",
                "ashby",
                "workday",
                "workable",
                "smartrecruiters",
                "recruitee",
                "personio",
                "bamboohr",
                "rippling",
                "oracle",
                "teamtailor",
                "pinpoint",
                "breezy",
                "dvinci",
                "adp",
                "paylocity",
                "jobvite"
              ],
              "enumTitles": [
                "Greenhouse",
                "Lever",
                "Ashby",
                "Workday",
                "Workable",
                "SmartRecruiters",
                "Recruitee",
                "Personio",
                "BambooHR",
                "Rippling",
                "Oracle Recruiting Cloud",
                "Teamtailor",
                "Pinpoint",
                "Breezy HR",
                "d.vinci",
                "ADP Workforce Now",
                "Paylocity",
                "Jobvite"
              ]
            }
          },
          "postedWithinDays": {
            "title": "Posted within the last N days",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs posted in the last N days. Jobs without a posting date count from the day the feed first saw them. 0 means no date filter.",
            "default": 0
          },
          "newInFeedWithinHours": {
            "title": "New in the feed within N hours",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs the feed first saw in the last N hours, e.g. 24 for jobs that appeared since yesterday. 0 means no filter.",
            "default": 0
          },
          "salaryOnly": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Keep only jobs that publish a salary range.",
            "default": false
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Keep jobs of these levels. The level comes from the job title (e.g. Senior, Junior, Head of, Werkstudent) or, without a title word, from the years of experience the ad asks for.",
            "items": {
              "type": "string",
              "enum": [
                "intern",
                "apprentice",
                "entry",
                "mid",
                "senior",
                "lead",
                "manager",
                "director",
                "executive"
              ],
              "enumTitles": [
                "Intern / working student",
                "Apprentice / Ausbildung",
                "Entry level / junior",
                "Mid level",
                "Senior",
                "Lead / principal / staff",
                "Manager (people)",
                "Director / head of / VP",
                "Executive (C-level)"
              ]
            }
          },
          "skills": {
            "title": "Skills (any)",
            "type": "array",
            "description": "Keep jobs that mention at least one of these skills, e.g. Python, React, SAP, Excel, AutoCAD. Matching uses our list of about 110 common tools and technologies (see the README).",
            "items": {
              "type": "string"
            }
          },
          "maxExperienceYears": {
            "title": "Max. years of experience asked",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs that ask for at most this many years of experience, e.g. 2 for junior roles. Jobs that state no number pass. 0 means no filter."
          },
          "visaSponsorshipOnly": {
            "title": "Only jobs offering visa sponsorship",
            "type": "boolean",
            "description": "Keep only jobs whose ad says visa sponsorship or visa support is available.",
            "default": false
          },
          "languages": {
            "title": "Ad language",
            "type": "array",
            "description": "Keep jobs whose ad is written in one of these languages.",
            "items": {
              "type": "string",
              "enum": [
                "en",
                "de",
                "fr",
                "es",
                "nl",
                "it",
                "pt",
                "sv",
                "da",
                "pl"
              ],
              "enumTitles": [
                "English",
                "German",
                "French",
                "Spanish",
                "Dutch",
                "Italian",
                "Portuguese",
                "Swedish",
                "Danish",
                "Polish"
              ]
            }
          },
          "minYearlySalary": {
            "title": "Min. yearly salary",
            "minimum": 0,
            "type": "integer",
            "description": "Keep jobs whose published pay reaches at least this amount per year (hourly, daily and monthly pay is converted to a year). Combine with the currency field. 0 means no filter."
          },
          "salaryCurrency": {
            "title": "Salary currency",
            "type": "string",
            "description": "3-letter currency code for the salary filter, e.g. USD, EUR or GBP. Leave empty for any currency."
          },
          "descriptionKeywords": {
            "title": "Description keywords (any)",
            "type": "array",
            "description": "Keep jobs whose description contains at least one of these words, e.g. python, visa sponsorship. The full text is searched; each result lists the words it matched in matchedKeywords. Checked on the newest matches of the other filters (at least 5,000 or 20 times Max results).",
            "items": {
              "type": "string"
            }
          },
          "onlyNewSinceLastRun": {
            "title": "Only jobs new since my last run",
            "type": "boolean",
            "description": "Skip jobs this search already returned in an earlier run. Ideal for a daily schedule. The list of returned job IDs is kept in your own key-value store career-job-feed-state.",
            "default": false
          },
          "stateKey": {
            "title": "Search name for 'only new'",
            "type": "string",
            "description": "Give each scheduled search its own name, so two searches do not share their list of returned jobs."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Newest jobs first. Up to 100,000 per run.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}