{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Jobs Scraper",
    "description": "Scrape Indeed job listings by keyword, country, and location. Extract titles, companies, salaries, full descriptions, benefits, skills, posted dates, apply links, and job URLs. Export data, run via API, schedule and monitor runs, or integrate with other tools.",
    "version": "1.2",
    "x-build-id": "2sC27l6rs3AcoEFux"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/chronometrica~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-chronometrica-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/chronometrica~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-chronometrica-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/chronometrica~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-chronometrica-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",
        "required": [
          "searchTerm"
        ],
        "properties": {
          "country": {
            "title": "1. Country - Indeed site",
            "enum": [
              "ar",
              "au",
              "at",
              "bh",
              "be",
              "br",
              "ca",
              "cl",
              "cn",
              "co",
              "cr",
              "cz",
              "dk",
              "ec",
              "eg",
              "fi",
              "fr",
              "de",
              "gr",
              "hk",
              "hu",
              "in",
              "id",
              "ie",
              "il",
              "it",
              "jp",
              "kw",
              "lu",
              "my",
              "mx",
              "ma",
              "nl",
              "nz",
              "ng",
              "no",
              "om",
              "pk",
              "pa",
              "pe",
              "ph",
              "pl",
              "pt",
              "qa",
              "ro",
              "sa",
              "sg",
              "za",
              "kr",
              "es",
              "se",
              "ch",
              "tw",
              "th",
              "tr",
              "ua",
              "ae",
              "gb",
              "us",
              "uy",
              "ve",
              "vn"
            ],
            "type": "string",
            "description": "Choose the Indeed country site first. Keywords, Location, filters, and saved jobs all use this country.",
            "default": "us"
          },
          "searchTerm": {
            "title": "2. Keywords - search jobs",
            "type": "string",
            "description": "Required. Search Indeed by job titles/keywords inside the selected country. Enter one job title, skill, company, or role group per line."
          },
          "location": {
            "title": "3. Location - optional filter",
            "type": "string",
            "description": "Optional. If filled, Indeed searches for Keywords AND this Location inside the selected country. Leave blank for country-wide results.",
            "default": ""
          },
          "maxItems": {
            "title": "Job listings to collect (shared cap)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Total jobs to save for this run. All keywords and the selected country/location share this same limit.",
            "default": 25
          },
          "postedWithinDays": {
            "title": "Posted within",
            "enum": [
              "0",
              "1",
              "3",
              "7",
              "14",
              "30"
            ],
            "type": "string",
            "description": "Only keep jobs posted in this time window.",
            "default": "7"
          },
          "radiusMiles": {
            "title": "Search radius",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Search distance in miles when you enter a location.",
            "default": 25
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Choose the order for Indeed results.",
            "default": "relevance"
          },
          "jobType": {
            "title": "Job type",
            "enum": [
              "any",
              "fulltime",
              "parttime",
              "contract",
              "internship"
            ],
            "type": "string",
            "description": "Choose one job type, or keep Any.",
            "default": "any"
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Turn on to save only jobs that Indeed marks or describes as remote.",
            "default": false
          },
          "maxPagesPerSearch": {
            "title": "Page depth",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "How many result pages to check for each keyword/location. Increase slowly for larger runs.",
            "default": 2
          },
          "excludeCompanies": {
            "title": "Skip employers",
            "type": "string",
            "description": "Optional. Enter one employer per line. Matching jobs are skipped and counted in the run summary.",
            "default": ""
          },
          "salaryType": {
            "title": "Salary period",
            "enum": [
              "any",
              "year",
              "hour",
              "month",
              "week",
              "day"
            ],
            "type": "string",
            "description": "Optional salary-period filter. Rows without matching salary data are skipped when Salary period or Minimum salary is used.",
            "default": "any"
          },
          "minSalary": {
            "title": "Minimum salary",
            "minimum": 0,
            "maximum": 10000000,
            "type": "integer",
            "description": "Optional salary floor for the selected salary period. Use 0 to keep all salaries.",
            "default": 0
          },
          "saveOnlyUniqueItems": {
            "title": "Unique jobs only (remove duplicates)",
            "type": "boolean",
            "description": "Save each Indeed job only once, even if it appears from more than one keyword or page. Keep this on for normal runs.",
            "default": true
          },
          "balanceKeywordCoverage": {
            "title": "Balance keyword coverage",
            "type": "boolean",
            "description": "Give each keyword a turn before going deeper. Useful when you enter more than one keyword.",
            "default": true
          },
          "followApplyRedirects": {
            "title": "Resolve final apply URLs",
            "type": "boolean",
            "description": "Adds the final employer or ATS destination when available. Slower because each apply link is checked.",
            "default": false
          },
          "scrapeCompanyDetails": {
            "title": "Add company profile fields",
            "type": "boolean",
            "description": "Adds company website, industry, size, revenue, and description when available from the listing source.",
            "default": false
          },
          "requestDelayMillis": {
            "title": "Delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Wait time between Indeed requests.",
            "default": 2500
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}