{
  "openapi": "3.0.1",
  "info": {
    "title": "Multi Job Board Scraper — LinkedIn, Indeed, Glassdoor & More",
    "description": "Scrape job listings from LinkedIn, Indeed, Glassdoor, Google Jobs & ZipRecruiter simultaneously. Extract job title, company, salary, location, job type, description, company info & more. Powered by JobSpy (16k+ stars). No API keys needed — pay   per result.",
    "version": "1.0",
    "x-build-id": "QCHg1Fvd4voU5sBFW"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/openclawai~job-board-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-openclawai-job-board-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/openclawai~job-board-scraper/runs": {
      "post": {
        "operationId": "runs-sync-openclawai-job-board-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/openclawai~job-board-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-openclawai-job-board-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": {
          "searchTerm": {
            "title": "Search Term",
            "type": "string",
            "description": "Job title, keyword, or skill to search for (e.g. 'software engineer', 'data analyst', 'python developer')"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, state, or country to search in (e.g. 'New York', 'London', 'Remote'). Leave empty to search globally."
          },
          "sites": {
            "title": "Job Boards",
            "type": "array",
            "description": "Which job boards to scrape. Supported values: linkedin, indeed, glassdoor, google, zip_recruiter, bayt, bdjobs, naukri",
            "items": {
              "type": "string"
            },
            "default": [
              "linkedin",
              "indeed",
              "glassdoor",
              "google",
              "zip_recruiter"
            ]
          },
          "maxResults": {
            "title": "Max Results Per Site",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of job listings to scrape per job board",
            "default": 20
          },
          "isRemote": {
            "title": "Remote Only",
            "type": "boolean",
            "description": "If enabled, only return remote job listings",
            "default": false
          },
          "jobType": {
            "title": "Job Type",
            "enum": [
              "",
              "fulltime",
              "parttime",
              "contract",
              "internship",
              "temporary"
            ],
            "type": "string",
            "description": "Filter by employment type",
            "default": ""
          },
          "hoursOld": {
            "title": "Posted Within (hours)",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only return jobs posted within the last N hours (e.g. 24 = last day, 168 = last week). Leave empty for all."
          },
          "countryIndeed": {
            "title": "Country (Indeed & Glassdoor)",
            "type": "string",
            "description": "Country for Indeed and Glassdoor searches (e.g. usa, uk, canada, australia, germany, france)",
            "default": "usa"
          },
          "googleSearchTerm": {
            "title": "Google Jobs Search Term",
            "type": "string",
            "description": "Custom search term for Google Jobs only. For best results, search on Google Jobs in your browser, apply filters, then copy the exact search query. Leave empty to use the main Search Term."
          },
          "distance": {
            "title": "Search Distance (miles)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius in miles from the specified location",
            "default": 50
          },
          "offset": {
            "title": "Results Offset",
            "minimum": 0,
            "type": "integer",
            "description": "Skip the first N results (useful for pagination). For example, offset=25 starts from the 25th result."
          },
          "easyApply": {
            "title": "Easy Apply Only",
            "type": "boolean",
            "description": "Only return jobs that can be applied to directly on the job board (quick apply). Note: Cannot be combined with hoursOld on LinkedIn or Indeed.",
            "default": false
          },
          "linkedinFetchDescription": {
            "title": "LinkedIn: Fetch Full Descriptions",
            "type": "boolean",
            "description": "Retrieve full job descriptions and direct URLs from LinkedIn (increases API requests)",
            "default": false
          },
          "linkedinCompanyIds": {
            "title": "LinkedIn: Company IDs",
            "type": "array",
            "description": "Search jobs from specific LinkedIn company IDs only (e.g. [\"1441\", \"2382910\"]). Leave empty to search all companies.",
            "items": {
              "type": "string"
            }
          },
          "descriptionFormat": {
            "title": "Description Format",
            "enum": [
              "markdown",
              "html"
            ],
            "type": "string",
            "description": "Format for job descriptions",
            "default": "markdown"
          },
          "enforceAnnualSalary": {
            "title": "Convert to Annual Salary",
            "type": "boolean",
            "description": "Convert all wages to yearly equivalents (e.g. hourly/monthly wages converted to annual)",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Residential proxies are recommended for LinkedIn to avoid rate limiting.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}