{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Jobs Scraper: New Job Alerts, Salaries & Apply Links",
    "description": "Google Jobs listings for many roles in many US cities in one run — salary, highlights, full description and direct apply links — with a new-jobs-only mode for daily alerts.",
    "version": "0.0",
    "x-build-id": "WKaL0zLjd7JGmLUTI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapebench~google-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapebench-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/scrapebench~google-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapebench-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/scrapebench~google-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapebench-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",
        "properties": {
          "query": {
            "title": "Job to search for",
            "type": "string",
            "description": "A role or keywords, e.g. 'registered nurse' or 'python developer'. Kept forever alongside 'Jobs to search for' — saved tasks and API callers send it."
          },
          "queries": {
            "title": "Jobs to search for",
            "type": "array",
            "description": "One or many roles in ONE run, e.g. 'registered nurse', 'medical assistant'. Every role is searched in every location below, and a job found by two searches is returned once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "A US city as 'City, ST', e.g. 'Chicago, IL'. Kept forever alongside 'Locations'."
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "One or many US cities as 'City, ST' (e.g. 'Chicago, IL', 'Austin, TX'). Leave empty to search without a place. A city is what lets the Actor add nearby cities; a state or 'Remote' is searched as written, without them.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxJobsPerSearch": {
            "title": "Maximum jobs per role and location",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap PER role-and-location pair, not per run. Google shows 10 jobs per search, so the Actor runs more searches (nearby cities, then job types) until it has this many new jobs or runs out of searches. 10 costs one search.",
            "default": 100
          },
          "postedWithin": {
            "title": "Posted within",
            "enum": [
              "any",
              "24h",
              "3d",
              "7d",
              "30d"
            ],
            "type": "string",
            "description": "Keep only jobs Google shows as posted within this window. Applied before billing. Jobs Google shows no age for are kept, so nothing disappears unexplained. The age itself is never included in the output.",
            "default": "any"
          },
          "onlyNewJobs": {
            "title": "Only jobs not sent before",
            "type": "boolean",
            "description": "Remember every job this monitor has delivered and return (and bill) only jobs it has not sent before. Schedule the Actor daily with this on for a new-jobs feed. The memory is kept in your own Apify account (key-value store 'google-jobs-seen').",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Optional name for the 'only new jobs' memory, e.g. 'nurses-chicago'. Leave empty and the memory is tied to the exact roles and locations you search. Use the same name to share one memory across differently configured runs."
          },
          "remoteOnly": {
            "title": "Remote jobs only",
            "type": "boolean",
            "description": "Keep only jobs Google marks 'Work from home'. Applied before billing.",
            "default": false
          },
          "expandNearbyCities": {
            "title": "Add nearby cities",
            "type": "boolean",
            "description": "Also search the largest cities around each US location (Round Rock and Georgetown around Austin). Each nearby city added 8–10 new jobs per search when tested.",
            "default": true
          },
          "nearbyCities": {
            "title": "Nearby cities per location",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "How many nearby cities to add at most. They are only searched while the cap above is not yet reached.",
            "default": 8
          },
          "nearbyRadiusMiles": {
            "title": "Nearby radius (miles)",
            "minimum": 5,
            "maximum": 100,
            "type": "integer",
            "description": "How far from each location a nearby city may be.",
            "default": 25
          },
          "expandJobTypes": {
            "title": "Add job-type searches",
            "type": "boolean",
            "description": "Also search entry level, remote, contract, internship, part time and senior variants of each role. Each added 4–10 new jobs per search when tested.",
            "default": true
          },
          "includeDescription": {
            "title": "Include the full job description",
            "type": "boolean",
            "description": "The full posting text (median ~4,000 characters). Turn off for a lighter dataset; highlights stay either way.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}