{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Jobs Scraper - Salaries, Company Data & Descriptions",
    "description": "Indeed jobs scraper and job postings API. Search Indeed by keyword, location, country, job type, remote, salary and date. Get full job descriptions, parsed salary data, benefits, skills, company profiles (CEO, revenue, size) and apply URLs across 15 countries. No login or API key. JSON, CSV, Excel.",
    "version": "0.1",
    "x-build-id": "KDp8XOfr1US2v5N1P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-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/scrapers_lat~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-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/scrapers_lat~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Job search keyword, for example \"software engineer\", \"registered nurse\" or \"warehouse\"."
          },
          "keywords": {
            "title": "Keywords (multiple)",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Run several searches in one go. Each keyword is combined with each location. Overrides/augments the single Keyword field.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, region or postal code to search in, for example \"New York\", \"Austin, TX\" or \"London\". Leave empty to search the whole country."
          },
          "locations": {
            "title": "Locations (multiple)",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Search several locations in one run. Each location is combined with each keyword.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "us",
              "uk",
              "ca",
              "au",
              "de",
              "es",
              "mx",
              "br",
              "fr",
              "it",
              "nl",
              "in",
              "ie",
              "sg",
              "nz"
            ],
            "type": "string",
            "description": "Indeed country site to search.",
            "default": "us"
          },
          "searchUrls": {
            "title": "Direct search / company URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Paste Indeed search-result or company jobs URLs (for example a filtered /jobs?... URL or a company /cmp/<Company>/jobs page). The actor reads the jobs on each page. The country proxy is chosen from each URL's host.",
            "items": {
              "type": "string"
            }
          },
          "jobUrls": {
            "title": "Direct job posting URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Paste individual Indeed job URLs (for example https://www.indeed.com/viewjob?jk=...). Each one is fetched and fully parsed, even without a keyword search.",
            "items": {
              "type": "string"
            }
          },
          "maxJobs": {
            "title": "Max Jobs",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of job postings to collect across all searches. Widen coverage by adding more keywords, locations or country. Free Apify accounts are capped at 10 per run."
          },
          "withDetails": {
            "title": "Fetch Job Details",
            "type": "boolean",
            "description": "On by default. Opens each posting to add the full job description, employment type, benefits, qualifications, skills, shift and schedule, apply URL and expiry. Turn off for a faster listing-only run.",
            "default": true
          },
          "sort": {
            "title": "Sort By",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order results by relevance (default) or by date posted.",
            "default": "relevance"
          },
          "fromDays": {
            "title": "Posted Within (days)",
            "enum": [
              "",
              "1",
              "3",
              "7",
              "14"
            ],
            "type": "string",
            "description": "Only return jobs posted within this many days.",
            "default": ""
          },
          "jobType": {
            "title": "Job Type",
            "enum": [
              "",
              "fulltime",
              "parttime",
              "contract",
              "temporary",
              "internship"
            ],
            "type": "string",
            "description": "Optional. Only return jobs of this employment type.",
            "default": ""
          },
          "experienceLevel": {
            "title": "Experience Level",
            "enum": [
              "",
              "entry_level",
              "mid_level",
              "senior_level"
            ],
            "type": "string",
            "description": "Optional. Only return jobs at this experience level.",
            "default": ""
          },
          "remote": {
            "title": "Remote / Onsite",
            "enum": [
              "",
              "remote",
              "hybrid",
              "onsite"
            ],
            "type": "string",
            "description": "Optional. Filter by work setting. Remote is applied on Indeed and to the results; hybrid and onsite are applied to the results.",
            "default": ""
          },
          "radius": {
            "title": "Search Radius (miles)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Optional. Return jobs within this many miles of the location (max 100). Requires a location."
          },
          "salaryMin": {
            "title": "Minimum Salary",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Drop jobs whose disclosed salary is below this amount (in the country currency). Jobs with no disclosed salary are kept."
          },
          "company": {
            "title": "Company Filter",
            "type": "string",
            "description": "Optional. Only keep jobs whose company name contains this text (case-insensitive)."
          },
          "uniqueCompanies": {
            "title": "One Job Per Company",
            "type": "boolean",
            "description": "Optional. Keep at most one job per company.",
            "default": false
          },
          "excludeStaffingAgencies": {
            "title": "Exclude Staffing Agencies",
            "type": "boolean",
            "description": "Optional. Drop postings from staffing, recruiting and consulting agencies (every record still carries an isStaffingAgency flag).",
            "default": false
          },
          "scrapeCompanyDetails": {
            "title": "Scrape Company Profile",
            "type": "boolean",
            "description": "Optional. For each employer, also read the Indeed company page to add CEO, revenue, industry, founded year, company size, headquarters and website. Requires Fetch Job Details. Slower.",
            "default": false
          },
          "resolveApplyUrl": {
            "title": "Resolve External Apply URL",
            "type": "boolean",
            "description": "Optional. Follow Indeed's apply redirect to the employer or ATS site and return it as externalApplyUrl. Requires Fetch Job Details.",
            "default": false
          },
          "withJdSummary": {
            "title": "AI: job summary",
            "type": "boolean",
            "description": "Add an AI 2-3 sentence summary of each role (paid add-on, needs Fetch Job Details, opt-in). Requires a paid Apify plan. Billed per record only when produced.",
            "default": false
          },
          "withSkills": {
            "title": "AI: skills & seniority",
            "type": "boolean",
            "description": "Add AI-extracted skills and seniority from the job description (paid add-on, needs Fetch Job Details, opt-in). Requires a paid Apify plan. Billed per record only when produced.",
            "default": false
          },
          "withSalaryEstimate": {
            "title": "AI: salary estimate",
            "type": "boolean",
            "description": "Add an AI salary estimate for jobs with no disclosed pay (paid add-on, needs Fetch Job Details, opt-in). Requires a paid Apify plan. Billed per record only when produced.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}