{
  "openapi": "3.0.1",
  "info": {
    "title": "⚡ Indeed Jobs Scraper",
    "description": "Scrape Indeed job listings by keyword and location, or paste an Indeed jobs search URL. Get titles, companies, salaries, full descriptions, skills, and company details as clean JSON. No login needed.",
    "version": "1.0",
    "x-build-id": "LdnFcPdlJO3ilXVRG"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/veeronica~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-veeronica-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/veeronica~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-veeronica-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/veeronica~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-veeronica-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": {
          "keywords": {
            "title": "Search keywords",
            "type": "string",
            "description": "The job title, skill, or company to search for — exactly what you'd type into Indeed's \"What\" box (e.g. <code>software engineer</code>, <code>registered nurse</code>, <code>marketing manager</code>)."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or ZIP code to search in (e.g. <code>Austin, TX</code>, <code>New York</code>, <code>90210</code>), interpreted within the <b>Country</b> below — so the two must match. Type <code>Remote</code> to focus on remote roles, or leave empty to search the whole country."
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "gb",
              "ca",
              "au",
              "ie",
              "nz",
              "in",
              "sg",
              "hk",
              "ph",
              "my",
              "id",
              "th",
              "vn",
              "pk",
              "jp",
              "kr",
              "tw",
              "de",
              "fr",
              "es",
              "it",
              "nl",
              "be",
              "ch",
              "at",
              "pt",
              "pl",
              "se",
              "no",
              "dk",
              "fi",
              "cz",
              "hu",
              "ro",
              "gr",
              "ua",
              "lu",
              "br",
              "mx",
              "ar",
              "cl",
              "co",
              "pe",
              "cr",
              "ec",
              "pa",
              "uy",
              "ve",
              "ae",
              "sa",
              "qa",
              "kw",
              "bh",
              "om",
              "il",
              "eg",
              "ma",
              "ng",
              "za"
            ],
            "type": "string",
            "description": "Which country's Indeed site to search. Set this to match your Location — e.g. for a city in Canada, choose Canada, not the United States.",
            "default": "us"
          },
          "maxItems": {
            "title": "Maximum jobs",
            "minimum": 0,
            "type": "integer",
            "description": "How many job listings to return in total (across all keywords and search URLs). Use <code>0</code> for no limit — the scraper then pulls every result Indeed returns for the search.",
            "default": 100
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "last24Hours",
              "last3Days",
              "last7Days",
              "last14Days"
            ],
            "type": "string",
            "description": "Only return jobs posted within this time window.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "<code>Most relevant</code> uses Indeed's default ranking; <code>Most recent</code> returns the newest jobs first.",
            "default": "relevance"
          },
          "jobType": {
            "title": "Job type",
            "type": "array",
            "description": "Keep only jobs of these employment types. Leave empty to include all types.",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "partTime",
                "contract",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Internship"
              ]
            }
          },
          "remote": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Return only jobs Indeed tags as remote.",
            "default": false
          },
          "radius": {
            "title": "Distance (miles)",
            "minimum": 0,
            "type": "integer",
            "description": "Search radius around the location, in miles. Only applies when a specific city or area is set. Use <code>0</code> for that exact place only.",
            "default": 25
          },
          "deduplicate": {
            "title": "Remove duplicates",
            "type": "boolean",
            "description": "Indeed often lists the same role several times under different IDs. When on, only the first copy of each job (same title, company, and location) is kept.",
            "default": true
          },
          "startUrls": {
            "title": "Indeed search URLs (advanced)",
            "type": "array",
            "description": "Optional — instead of (or in addition to) the fields above, paste full Indeed job-search URLs. Open Indeed in your browser, apply any filters you like, then copy the URL from the address bar. Each URL is scraped with its own filters (keywords, location, distance, date, job type).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}