{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Jobs Scraper: LinkedIn, Indeed, Glassdoor jobs",
    "description": "Job listings from LinkedIn, Indeed, Glassdoor, ZipRecruiter and company career sites, gathered by Google Jobs: full description, salary as numbers, direct apply link, distance from a city and new-job alerts. No login or cookies.",
    "version": "0.1",
    "x-build-id": "1dqwbrhFAKQrPpJIj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/famed_bonobo~google-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-famed_bonobo-google-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/famed_bonobo~google-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-famed_bonobo-google-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/famed_bonobo~google-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-famed_bonobo-google-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": [
          "queries"
        ],
        "properties": {
          "queries": {
            "title": "Job searches",
            "type": "array",
            "description": "What to search on Google Jobs, one search per line, as you would type it on Google: a role and a place, such as \"software engineer in Austin\" or \"nurse jobs Madrid\".",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Optional. A city, region or country added to every search, such as \"Denver, CO\" or \"Madrid\". You can also write it inside each search instead. When it names a city or town, every job gets its distance from it.",
            "default": ""
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Optional, needs Location. Jobs up to this many kilometres from the location (1 mile = 1.6 km): the scraper also searches the towns around it and keeps only jobs within the radius, each with its distance. Jobs with no place (\"Anywhere\") are left out. Leave empty to search Google's own area, which is usually the place itself."
          },
          "maxJobsPerQuery": {
            "title": "Max jobs per search",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop each search after this many jobs. One search reaches about 200 jobs; past that, the scraper adds the filter searches Google offers on its own page (job type, remote, posting date...) and their combinations, so broad searches reach 1,000 or more.",
            "default": 20
          },
          "datePosted": {
            "title": "Posted within",
            "enum": [
              "any",
              "pastDay",
              "pastWeek",
              "pastMonth"
            ],
            "type": "string",
            "description": "Only jobs posted in this period.",
            "default": "any"
          },
          "employmentTypes": {
            "title": "Job types",
            "type": "array",
            "description": "Only these job types (each one is its own Google search). Available on English and Spanish pages.",
            "items": {
              "type": "string",
              "enum": [
                "fullTime",
                "partTime",
                "contractor",
                "internship"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contractor",
                "Internship"
              ]
            },
            "default": []
          },
          "remoteOnly": {
            "title": "Remote only",
            "type": "boolean",
            "description": "Google's remote filter (English pages).",
            "default": false
          },
          "noDegreeOnly": {
            "title": "No degree required",
            "type": "boolean",
            "description": "Google's no-degree filter (English pages).",
            "default": false
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Leave out jobs whose company name contains any of these texts, such as staffing agencies.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeTitleWords": {
            "title": "Exclude title words",
            "type": "array",
            "description": "Leave out jobs whose title contains any of these words, such as \"senior\" or \"manager\".",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs with a salary",
            "type": "boolean",
            "description": "Leave out jobs that show no salary.",
            "default": false
          },
          "minYearlySalary": {
            "title": "Minimum yearly salary",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only jobs whose salary reaches this amount a year, in the currency of the jobs' country. Hourly, daily, weekly and monthly salaries are counted for a full-time year (2,080 hours). Jobs without a salary are left out when this is set."
          },
          "includeSources": {
            "title": "Only from these sites",
            "type": "array",
            "description": "Keep only jobs published via these sites, such as LinkedIn or Indeed (the \"via ...\" line).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeSources": {
            "title": "Leave out these sites",
            "type": "array",
            "description": "Leave out jobs published via these sites.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language of Google's labels, as a Google language code such as en, es or de. Job texts stay in the language they were posted in.",
            "default": "en"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code Google uses to localize results, such as us, gb, es or mx.",
            "default": "us"
          },
          "newJobsOnly": {
            "title": "Only new jobs (for scheduled runs)",
            "type": "boolean",
            "description": "Store only jobs that earlier runs of the same monitor did not store, so a daily schedule gives you just the new postings. A job reposted on another site counts as already seen. The first run stores everything it finds.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional. Runs with the same monitor name share their memory of seen jobs. Leave empty to name it after the searches, country and language, so each set of searches keeps its own memory.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}