{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Scraper – Jobs, Salaries & Full Descriptions",
    "description": "Scrape Indeed jobs in 40 countries by keyword and location or Indeed URL. Salary normalized to yearly, full description, benefits, company rating, remote, seniority and skills. Deep search beyond the first page, new-job alerts, no login.",
    "version": "1.0",
    "x-build-id": "N8bAwSlZMiF4ahRZX"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/liveclaude~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-liveclaude-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/liveclaude~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-liveclaude-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/liveclaude~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-liveclaude-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": {
          "searchQueries": {
            "title": "🔎 Job titles or keywords",
            "type": "array",
            "description": "What to search on Indeed, one per line – e.g. `data analyst`, `nurse`, `python developer`. Every keyword is searched in every location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "📍 Locations",
            "type": "array",
            "description": "City, state, ZIP code or region – e.g. `New York`, `Austin, TX`, `London`, `Berlin`. Leave empty for the whole country.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "🌍 Indeed country",
            "enum": [
              "us",
              "gb",
              "ca",
              "au",
              "de",
              "fr",
              "nl",
              "be",
              "ch",
              "at",
              "ie",
              "es",
              "it",
              "pt",
              "pl",
              "cz",
              "se",
              "dk",
              "no",
              "fi",
              "lu",
              "gr",
              "hu",
              "ro",
              "tr",
              "in",
              "sg",
              "my",
              "ph",
              "hk",
              "jp",
              "nz",
              "ae",
              "za",
              "br",
              "mx",
              "ar",
              "cl",
              "co",
              "pe"
            ],
            "type": "string",
            "description": "Which Indeed site to search (indeed.com, uk.indeed.com, de.indeed.com, …).",
            "default": "us"
          },
          "startUrls": {
            "title": "🔗 Indeed URLs (optional)",
            "type": "array",
            "description": "Paste Indeed search result URLs (with any filters you set on Indeed) or single job URLs (`/viewjob?jk=…`).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "24h",
              "3d",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only recently posted jobs.",
            "default": "any"
          },
          "workplace": {
            "title": "Workplace",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "onsite"
            ],
            "type": "string",
            "description": "Remote, hybrid or on-site jobs.",
            "default": "any"
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "any",
              "full-time",
              "part-time",
              "contract",
              "internship"
            ],
            "type": "string",
            "description": "Type of contract.",
            "default": "any"
          },
          "experience": {
            "title": "Experience level",
            "enum": [
              "any",
              "internship",
              "junior",
              "mid",
              "senior",
              "director"
            ],
            "type": "string",
            "description": "LinkedIn experience filter.",
            "default": "any"
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around the location (Indeed uses miles in the US, the value is passed as is)."
          },
          "minSalaryEur": {
            "title": "Min. yearly salary (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Skip jobs whose salary range is below this (converted to yearly EUR). Jobs without a salary are kept unless 'Only jobs with salary' is on."
          },
          "onlyWithSalary": {
            "title": "Only jobs with salary",
            "type": "boolean",
            "description": "Keep only jobs that show a salary or salary estimate.",
            "default": false
          },
          "titleMustInclude": {
            "title": "Title must include (any)",
            "type": "array",
            "description": "Keep only jobs whose title contains one of these words.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude words",
            "type": "array",
            "description": "Skip jobs whose title or company contains any of these words, e.g. <code>werkstudent</code>, <code>praktikum</code>.",
            "items": {
              "type": "string"
            }
          },
          "locationMustInclude": {
            "title": "Location must include (any)",
            "type": "array",
            "description": "Keep only jobs whose location contains one of these words - useful for career sites, e.g. <code>Germany</code>, <code>Remote</code>.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Skip jobs from these companies (e.g. staffing agencies).",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Order of job board results.",
            "default": "date"
          },
          "maxJobsPerSearch": {
            "title": "Max. jobs per search",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum jobs per keyword × location. Indeed shows visitors only one page per search, so the actor slices the search (by date, job type, level, radius, sort) and merges the slices without duplicates – up to ~400 unique jobs per search.",
            "default": 100
          },
          "includeDetails": {
            "title": "➕ Full job description & benefits",
            "type": "boolean",
            "description": "Loads each job page: full description (text + HTML), benefits, job types, shifts, company logo, company page and address. Charged as a separate event.",
            "default": false
          },
          "companySignals": {
            "title": "📈 Company hiring signals",
            "type": "boolean",
            "description": "Adds one record per company with the number of open jobs, departments, locations, top skills and median salary – useful for lead generation.",
            "default": false
          },
          "minJobsPerCompany": {
            "title": "Min. jobs for a company signal",
            "minimum": 1,
            "type": "integer",
            "description": "Only companies with at least this many jobs get a signal record.",
            "default": 2
          },
          "onlyNewJobs": {
            "title": "🔔 Only new jobs (monitoring)",
            "type": "boolean",
            "description": "Schedule the actor (e.g. hourly or daily): each run returns only jobs that were not returned before for this monitor. Jobs already seen are not charged again.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name to keep separate memories for different monitors."
          },
          "emitOnFirstRun": {
            "title": "Return all jobs on the first run",
            "type": "boolean",
            "description": "Turn off to only save a baseline on the first run.",
            "default": true
          },
          "maxConcurrency": {
            "title": "Max. concurrency",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "Parallel requests.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}