{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Jobs Scraper - Canada, US & 6 More Countries",
    "description": "Scrape Indeed jobs in 8 countries: Canada, the US, UK, Ireland, Australia, New Zealand, India and Germany. Search a city, a region, or a whole country swept city by city. Full descriptions, pay, employer details and direct apply links. Scheduled runs can return only jobs you have not seen before.",
    "version": "0.6",
    "x-build-id": "Wykc6bdUAnB7ykjxt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/akhil_rajesh~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-akhil_rajesh-indeed-jobs-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/akhil_rajesh~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-akhil_rajesh-indeed-jobs-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/akhil_rajesh~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-akhil_rajesh-indeed-jobs-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": {
          "searchQuery": {
            "title": "Job keyword",
            "type": "string",
            "description": "What to search for, e.g. 'software developer', 'registered nurse', 'warehouse associate'. Indeed needs a keyword for every search, and matches it as written, so use the language of the country you are searching."
          },
          "extraKeywords": {
            "title": "More keywords",
            "type": "array",
            "description": "Extra job keywords to search as well. Every keyword is searched in every location, and the results are combined and de-duplicated.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "ca",
              "us",
              "gb",
              "ie",
              "au",
              "nz",
              "in",
              "de",
              "both"
            ],
            "type": "string",
            "description": "Which Indeed site to search. Add more under More countries to search several in one run.",
            "default": "ca"
          },
          "extraCountries": {
            "title": "More countries",
            "uniqueItems": true,
            "type": "array",
            "description": "Extra Indeed sites to search as well. Every keyword and location is searched in each country you pick, except where a location clearly belongs to one of them — 'Toronto, ON' only goes to Canada, while a bare 'London' goes to every country selected.",
            "items": {
              "type": "string",
              "enum": [
                "ca",
                "us",
                "gb",
                "ie",
                "au",
                "nz",
                "in",
                "de"
              ],
              "enumTitles": [
                "Canada",
                "United States",
                "United Kingdom",
                "Ireland",
                "Australia",
                "New Zealand",
                "India",
                "Germany"
              ]
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, or a region such as a province, state, county or Bundesland — e.g. 'Toronto, ON', 'Austin, TX', 'Manchester', 'Sydney NSW', 'Mumbai, Maharashtra', 'München'. Write it the way the local Indeed site does. Indeed's search doesn't accept Canadian postal codes, so use the city instead. Leave it empty for the whole country, or name a region: either way the Actor searches it as a whole first and then goes city by city when Indeed cuts the search off at about 1,000 jobs."
          },
          "extraLocations": {
            "title": "More locations",
            "type": "array",
            "description": "Extra locations to search as well; every keyword is searched in every location. With Country set to Both, you can mix Canadian and US locations here, e.g. 'Vancouver, BC' and 'Seattle, WA'.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Indeed pages to scrape directly, instead of or alongside keyword searches. Paste a search URL (https://ca.indeed.com/jobs?q=nurse&l=Toronto%2C+ON) with its filters, a company's jobs page (https://www.indeed.com/cmp/Apple/jobs), or a single job (https://ca.indeed.com/viewjob?jk=...). Canadian and US Indeed URLs are supported.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "jobKeys": {
            "title": "Jobs to look up",
            "type": "array",
            "description": "Look up specific jobs directly: paste Indeed job URLs, or the 16-character jobKey values from earlier results. Each job comes back with its current details and isExpired, so this is how you check which saved jobs are still open. Jobs Indeed no longer has are listed in the log and saved as JOB_KEYS_NOT_FOUND in the run's key-value store; you are not charged for them.",
            "items": {
              "type": "string"
            }
          },
          "onlyNewJobs": {
            "title": "Only jobs you haven't seen before",
            "type": "boolean",
            "description": "Skip jobs that earlier runs already delivered, and don't charge for them. Turn this on for a scheduled run: the first run collects everything, and each run after it returns only what is new, so you stop paying for the same listings every day. Jobs you ask for by key in 'Jobs to look up' are always returned, so you can still re-check saved jobs.",
            "default": false
          },
          "historyName": {
            "title": "History name",
            "type": "string",
            "description": "Which history 'Only jobs you haven't seen before' reads and writes. Runs sharing a name share their memory of delivered jobs, so use one name per monitoring job and a different name to start fresh. Jobs are forgotten after 45 days.",
            "default": "indeed-jobs-history"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Stop after this many jobs, shared fairly between your searches. One search yields up to about 1,000 jobs; a country- or province-wide search carries on city by city beyond that, so this number decides how deep the run goes and what it costs.",
            "default": 100
          },
          "fullDescriptions": {
            "title": "Include full job descriptions",
            "type": "boolean",
            "description": "Recommended ON. Adds each job's complete description as plain text and as the original HTML. Turn it off for a lighter dataset; the price per job is the same either way.",
            "default": true
          },
          "searchRadius": {
            "title": "Search radius",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Distance around the location to include — miles in the United States and the UK, kilometres everywhere else. Defaults to 25, the same as Indeed's own search. Use 0 for the exact location only."
          },
          "datePosted": {
            "title": "Posted within",
            "enum": [
              "",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only include jobs Indeed listed in this window. New listings normally appear within hours; if a short window comes back empty, widen it or try again later, because Indeed's search occasionally runs behind.",
            "default": ""
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "",
              "fulltime",
              "parttime",
              "contract",
              "temporary",
              "internship",
              "permanent",
              "casual",
              "seasonal"
            ],
            "type": "string",
            "description": "Only include jobs Indeed tags with this type.",
            "default": ""
          },
          "workArrangement": {
            "title": "Remote or hybrid",
            "enum": [
              "",
              "remote",
              "hybrid"
            ],
            "type": "string",
            "description": "Only include jobs Indeed tags as remote, or as hybrid work.",
            "default": ""
          },
          "sort": {
            "title": "Sort order",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Indeed's own ordering. When 'Posted within' is combined with a job type or remote filter, results always come newest first.",
            "default": "relevance"
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Indeed does not accept connections from Apify's servers, so every run goes through Apify Proxy — it is enabled automatically even if you leave this off. The default datacenter proxy is all this Actor needs; set this only if you want specific proxy groups or a country."
          },
          "debug": {
            "title": "Debug mode",
            "type": "boolean",
            "description": "Verbose logging for troubleshooting.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}