{
  "openapi": "3.0.1",
  "info": {
    "title": "Indeed Jobs & Salary Scraper - Company Data, 60+ Countries",
    "description": "Indeed jobs and salary scraper for 60+ Indeed country sites: title, company, salary as min and max numbers with currency and period, full description and apply link. Each row adds the company website, industry, size and revenue band, plus optional emails and phones from the posting. No login.",
    "version": "0.1",
    "x-build-id": "2BrCeNkEYyGZGCJUc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lergassy~indeed-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lergassy-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/lergassy~indeed-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lergassy-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/lergassy~indeed-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lergassy-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": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "🔎 Job titles or keywords",
            "type": "array",
            "description": "One search per line: <code>python developer</code>, <code>registered nurse</code>, <code>marketing manager</code>. Boolean syntax the boards support works too (<code>\"data engineer\" -senior</code> on Indeed). Required.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "City, state or country as you would type it on the board: <code>New York, NY</code>, <code>London</code>, <code>Remote</code>, <code>Germany</code>. Empty = the whole country. Should match <b>Indeed country</b> below. If it does not (a German city with country <code>us</code>), the actor notices, searches the right Indeed site instead and says so in the run status — setting the country yourself is still one request faster."
          },
          "country": {
            "title": "🌍 Indeed country",
            "type": "string",
            "description": "Defaults to <code>us</code>, so set it whenever the location is outside the United States — otherwise the actor has to detect the mismatch and search again. Which Indeed site to search: <code>us</code>, <code>uk</code>, <code>ca</code>, <code>au</code>, <code>de</code>, <code>fr</code>, <code>in</code>, <code>nl</code>, <code>es</code>, <code>it</code>, <code>sg</code>, <code>ae</code>, <code>mx</code>, <code>br</code>… (60+ countries). LinkedIn searches worldwide by location.",
            "default": "us"
          },
          "maxJobsPerQuery": {
            "title": "💯 Jobs per keyword and source",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Cap per keyword per source (and per career-site board). Indeed pages 100 jobs per request; LinkedIn 25.",
            "default": 100
          },
          "datePosted": {
            "title": "📅 Posted within",
            "enum": [
              "any",
              "day",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Indeed and LinkedIn date filter (LinkedIn has no 3-day option; it uses a week).",
            "default": "any"
          },
          "remote": {
            "title": "🏠 Workplace",
            "enum": [
              "any",
              "remote",
              "hybrid",
              "onsite"
            ],
            "type": "string",
            "description": "Remote is a board filter on Indeed and LinkedIn; hybrid and on-site are LinkedIn filters and a check on the rows elsewhere.",
            "default": "any"
          },
          "jobTypes": {
            "title": "⏱️ Job types",
            "type": "array",
            "description": "Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "parttime",
                "contract",
                "temporary",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contract",
                "Temporary",
                "Internship"
              ]
            }
          },
          "radius": {
            "title": "📏 Radius (miles)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Distance around the location.",
            "default": 25
          },
          "sortBy": {
            "title": "↕️ Sort",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Order in which the boards return jobs; the first N are taken.",
            "default": "relevance"
          },
          "easyApplyOnly": {
            "title": "⚡ Indeed Apply jobs only",
            "type": "boolean",
            "description": "Indeed: only jobs that can be applied to on Indeed itself.",
            "default": false
          },
          "postedAfter": {
            "title": "📅 Only jobs posted after",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}",
            "type": "string",
            "description": "<code>YYYY-MM-DD</code>; rows with an older posting date are dropped."
          },
          "startUrls": {
            "title": "🔗 Search URLs",
            "type": "array",
            "description": "Optional: paste Indeed search URLs from your browser instead of keywords.",
            "items": {
              "type": "string"
            }
          },
          "includeContacts": {
            "title": "📧 Extract emails and phones from postings",
            "type": "boolean",
            "description": "Recruiter and HR emails and phone numbers found in the job description, plus the company domain from its website or apply link.",
            "default": true
          },
          "enrichCompanyContacts": {
            "title": "🌐 Look up contacts on the company website ($)",
            "type": "boolean",
            "description": "For jobs with a known company domain, open the home page and a contact page to collect general emails, phones and social links (2–4 requests per company, cached within the run).",
            "default": false
          },
          "maxCompaniesToEnrich": {
            "title": "Companies to enrich per run",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Cap for the website look-up above.",
            "default": 50
          },
          "maxItems": {
            "title": "Maximum rows per run",
            "minimum": 1,
            "maximum": 500000,
            "type": "integer",
            "description": "Stop after this many rows.",
            "default": 20000
          },
          "concurrency": {
            "title": "Parallel searches",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many searches run at once.",
            "default": 5
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify datacenter proxies work for all sources. Switch to Residential only if rate-limit error rows appear.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}