{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Jobs Scraper API - New Jobs, Pay per Job",
    "description": "Google Jobs API: jobs by keyword and location with salary, apply links and full descriptions. Only new jobs since your last run. Pay per unique job.",
    "version": "0.2",
    "x-build-id": "BCe9GwVv2lNJH7S4e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ocius-data~google-jobs-reliable/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ocius-data-google-jobs-reliable",
        "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/ocius-data~google-jobs-reliable/runs": {
      "post": {
        "operationId": "runs-sync-ocius-data-google-jobs-reliable",
        "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/ocius-data~google-jobs-reliable/run-sync": {
      "post": {
        "operationId": "run-sync-ocius-data-google-jobs-reliable",
        "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 titles or keywords",
            "minItems": 1,
            "type": "array",
            "description": "One search per line, as you would type it in Google Jobs, for example \"data analyst\" or \"registered nurse\". You are charged only for unique jobs saved.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region or country added to every search, for example \"Austin, TX\", \"London\" or \"Bogotá\". Leave empty to search the whole country, or write the location inside each query.",
            "default": ""
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "GB",
              "IN",
              "CA",
              "DE",
              "AU",
              "FR",
              "BR",
              "MX",
              "ES",
              "NL",
              "IT",
              "IE",
              "SG",
              "AE",
              "PL",
              "CH",
              "JP",
              "ZA",
              "PH",
              "AR",
              "AT",
              "BE",
              "CL",
              "CO",
              "CR",
              "CZ",
              "DK",
              "DO",
              "EC",
              "FI",
              "GT",
              "NZ",
              "NO",
              "PA",
              "PE",
              "PT",
              "PR",
              "RO",
              "KR",
              "SE",
              "TR",
              "UY"
            ],
            "type": "string",
            "description": "Google country edition (gl parameter). It sets which country's job market is searched and the currency used to read salaries.",
            "default": "US"
          },
          "language": {
            "title": "Language",
            "enum": [
              "en",
              "es",
              "pt",
              "fr",
              "de",
              "it",
              "nl",
              "pl"
            ],
            "type": "string",
            "description": "Interface language (hl parameter). Use the language of your queries; labels such as posted dates and job types are returned in this language and normalized by the Actor.",
            "default": "en"
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "",
              "today",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Only jobs posted in this period. The filter is applied through Google's own filter and checked again on every job before it is saved.",
            "default": ""
          },
          "employmentType": {
            "title": "Employment type",
            "enum": [
              "",
              "FULLTIME",
              "PARTTIME",
              "CONTRACTOR",
              "INTERN"
            ],
            "type": "string",
            "description": "Only jobs of this type. Applied through Google's own filter and checked again on every job that states its type.",
            "default": ""
          },
          "maxResultsPerQuery": {
            "title": "Max jobs per query",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum unique jobs saved for each query. Google shows 10 jobs per page; for more, the Actor follows Google's refinement links. See the README for typical totals.",
            "default": 50
          },
          "deduplicateAcrossQueries": {
            "title": "Remove duplicates across queries",
            "type": "boolean",
            "description": "Save and charge each job only once per run, even if several queries return it. Jobs are always deduplicated within a query.",
            "default": true
          },
          "includeCompanies": {
            "title": "Only these companies",
            "type": "array",
            "description": "Keep only jobs whose company name contains one of these names (not case sensitive). Leave empty to keep all companies.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Drop jobs whose company name contains any of these texts (case-insensitive), for example a competitor or your own company. Excluded jobs are not saved and not charged.",
            "items": {
              "type": "string"
            }
          },
          "excludeStaffingAgencies": {
            "title": "Exclude staffing agencies",
            "type": "boolean",
            "description": "Drop jobs posted by well-known staffing and recruiting agencies (for example Robert Half, Randstad, Adecco, Insight Global) and by companies whose name contains words such as Staffing, Recruiting or Servicios Temporales. The list is documented in the README. Excluded jobs are not charged.",
            "default": false
          },
          "applyVia": {
            "title": "Only jobs published on",
            "type": "array",
            "description": "Keep only jobs published on or applicable through these sites, for example LinkedIn, Indeed, Glassdoor or the company career site name. Leave empty to keep all.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithSalary": {
            "title": "Only jobs with salary",
            "type": "boolean",
            "description": "Keep only jobs that show a salary or pay range.",
            "default": false
          },
          "onlyNewSinceLastRun": {
            "title": "Only new jobs since last run",
            "type": "boolean",
            "description": "For scheduled or API runs. Remembers the jobs already delivered for each query (with the same location, country, language and filters) in a named key-value store kept between runs, and saves and charges only jobs not delivered before. The first monitored run of a query returns all matching jobs.",
            "default": false
          },
          "monitoringStoreName": {
            "title": "Monitoring store name",
            "pattern": "^[a-zA-Z0-9-]{1,63}$",
            "type": "string",
            "description": "Name of the key-value store that remembers delivered jobs. Use a different name for each independent monitor, for example one per client. Delete the store to start over.",
            "default": "google-jobs-monitor"
          },
          "includeDescription": {
            "title": "Include full description",
            "type": "boolean",
            "description": "Include the full job description text. Turn off for smaller datasets.",
            "default": true
          },
          "includeHighlights": {
            "title": "Include job highlights",
            "type": "boolean",
            "description": "Include the Qualifications, Responsibilities and Benefits lists that Google extracts from each posting.",
            "default": true
          },
          "maxPagesPerQuery": {
            "title": "Max Google pages per query",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Upper limit of Google pages requested per query, including the pages used to apply filters. The Actor also stops early when new pages bring almost no new jobs.",
            "default": 15
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "How many times a blocked or failed request is attempted before the query is marked as BLOCKED.",
            "default": 6
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many queries are processed in parallel.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Google Jobs is read through the Apify Google SERP proxy, which is included in the price. Keep the default unless you have a specific reason to change it.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "GOOGLE_SERP"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}