{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Jobs Scraper API - Pay Per Result",
    "description": "The most advanced Google Jobs Scraper available! Built with enterprise-grade flexibility, lightning-fast performance, and comprehensive customization options. Extract detailed job data, application links, company information, and full job descriptions.  Unlimited usage, no monthly rental fees.",
    "version": "0.0",
    "x-build-id": "okZQcpfa52D0figFD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/johnvc~google-jobs-scraper---pay-per-result/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-johnvc-google-jobs-scraper---pay-per-result",
        "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/johnvc~google-jobs-scraper---pay-per-result/runs": {
      "post": {
        "operationId": "runs-sync-johnvc-google-jobs-scraper---pay-per-result",
        "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/johnvc~google-jobs-scraper---pay-per-result/run-sync": {
      "post": {
        "operationId": "run-sync-johnvc-google-jobs-scraper---pay-per-result",
        "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": [
          "query"
        ],
        "properties": {
          "query": {
            "title": "Job Search Query",
            "minLength": 1,
            "type": "string",
            "description": "The job search query (e.g., 'Software Engineer', 'Data Scientist', 'Marketing Manager')"
          },
          "location": {
            "title": "Job Location",
            "type": "string",
            "description": "Job location (city, state, or country). Leave empty for worldwide search. If left empty and a Country Code is selected, the country name is used as the location automatically. If Google returns no results for a location-targeted search, the actor automatically retries with the location merged into the query."
          },
          "country": {
            "title": "Country Code",
            "enum": [
              "None",
              "us",
              "ca",
              "uk",
              "de",
              "fr",
              "au",
              "jp",
              "in",
              "br",
              "mx"
            ],
            "type": "string",
            "description": "Country code for search. If unset, it is derived automatically from the Google Domain (e.g. google.com -> us) and the actor logs a warning, because Google Jobs returns nothing when neither a country nor a language is sent. If Job Location is empty, the selected country's name is used as the location automatically (Google Jobs returns nothing for a country-only search).",
            "default": "None"
          },
          "language": {
            "title": "Language Code",
            "enum": [
              "None",
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt",
              "ja",
              "ko",
              "zh",
              "ru",
              "ar",
              "bg",
              "bn",
              "ca",
              "cs",
              "da",
              "nl",
              "et",
              "fi",
              "el",
              "gu",
              "he",
              "hi",
              "hr",
              "hu",
              "id",
              "is",
              "kn",
              "lt",
              "lv",
              "mk",
              "mg",
              "ms",
              "ml",
              "mt",
              "mv",
              "mi",
              "mr",
              "mfe",
              "mo",
              "mn",
              "sr-me",
              "my",
              "ne",
              "pcm",
              "nso",
              "no",
              "nn",
              "oc",
              "or",
              "om",
              "ps",
              "fa",
              "xx-pirate",
              "pl",
              "pt-br",
              "pt-pt",
              "pa",
              "qu",
              "ro",
              "rm",
              "nyn",
              "gd",
              "sr",
              "sh",
              "st",
              "tn",
              "crs",
              "sn",
              "sd",
              "si",
              "sk",
              "sl",
              "so",
              "es-419",
              "su",
              "sw",
              "sv",
              "tg",
              "ta",
              "tt",
              "te",
              "th",
              "ti",
              "to",
              "lua",
              "tum",
              "tr",
              "tk",
              "tw",
              "ug",
              "uk",
              "ur",
              "uz",
              "vu",
              "vi",
              "cy",
              "wo",
              "xh",
              "yi",
              "yo",
              "zu"
            ],
            "type": "string",
            "description": "Language code for search results. If unset and no country can be derived from the Google Domain, the actor defaults to English (en) so the search still returns results, and logs a warning.",
            "default": "None"
          },
          "google_domain": {
            "title": "Google Domain",
            "enum": [
              "google.com",
              "google.co.uk",
              "google.ca",
              "google.de",
              "google.fr",
              "google.com.au",
              "google.co.jp",
              "google.ad",
              "google.ae",
              "google.al",
              "google.am",
              "google.as",
              "google.at",
              "google.az",
              "google.ba",
              "google.be",
              "google.bf",
              "google.bg",
              "google.bi",
              "google.bj",
              "google.bs",
              "google.by",
              "google.cd",
              "google.cf",
              "google.cg",
              "google.ch",
              "google.ci",
              "google.cl",
              "google.cm",
              "google.cn",
              "google.co.bw",
              "google.co.ck",
              "google.co.cr",
              "google.co.id",
              "google.co.il",
              "google.co.in",
              "google.co.ke",
              "google.co.kr",
              "google.co.ls",
              "google.co.ma",
              "google.co.mz",
              "google.co.nz",
              "google.co.th",
              "google.co.tz",
              "google.co.ug",
              "google.co.uz",
              "google.co.ve",
              "google.co.vi",
              "google.co.za",
              "google.co.zm",
              "google.co.zw",
              "google.com.af",
              "google.com.ag",
              "google.com.ai",
              "google.com.ar",
              "google.com.bd",
              "google.com.bh",
              "google.com.bn",
              "google.com.bo",
              "google.com.br",
              "google.com.bz",
              "google.com.co",
              "google.com.cu",
              "google.com.cy",
              "google.com.do",
              "google.com.ec",
              "google.com.eg",
              "google.com.et",
              "google.com.fj",
              "google.com.gh",
              "google.com.gi",
              "google.com.gt",
              "google.com.hk",
              "google.com.jm",
              "google.com.kh",
              "google.com.kw",
              "google.com.lb",
              "google.com.ly",
              "google.com.mm",
              "google.com.mt",
              "google.com.mx",
              "google.com.my",
              "google.com.na",
              "google.com.ng",
              "google.com.ni",
              "google.com.om",
              "google.com.pa",
              "google.com.pe",
              "google.com.pg",
              "google.com.ph",
              "google.com.pk",
              "google.com.pr",
              "google.com.py",
              "google.com.qa",
              "google.com.sa",
              "google.com.sb",
              "google.com.sg",
              "google.com.sl",
              "google.com.sv",
              "google.com.tj",
              "google.com.tr",
              "google.com.tw",
              "google.com.ua",
              "google.com.uy",
              "google.com.vc",
              "google.com.vn",
              "google.cv",
              "google.cz",
              "google.dj",
              "google.dk",
              "google.dm",
              "google.dz",
              "google.ee",
              "google.es",
              "google.fi",
              "google.fm",
              "google.ga",
              "google.ge",
              "google.gg",
              "google.gl",
              "google.gm",
              "google.gp",
              "google.gr",
              "google.gy",
              "google.hn",
              "google.hr",
              "google.ht",
              "google.hu",
              "google.ie",
              "google.iq",
              "google.is",
              "google.it",
              "google.je",
              "google.jo",
              "google.kg",
              "google.ki",
              "google.kz",
              "google.la",
              "google.li",
              "google.lk",
              "google.lt",
              "google.lu",
              "google.lv",
              "google.md",
              "google.mg",
              "google.mk",
              "google.ml",
              "google.mn",
              "google.ms",
              "google.mu",
              "google.mv",
              "google.mw",
              "google.ne",
              "google.nl",
              "google.no",
              "google.nr",
              "google.nu",
              "google.pl",
              "google.ps",
              "google.pt",
              "google.ro",
              "google.rs",
              "google.ru",
              "google.rw",
              "google.sc",
              "google.se",
              "google.sh",
              "google.si",
              "google.sk",
              "google.sm",
              "google.sn",
              "google.so",
              "google.sr",
              "google.td",
              "google.tg",
              "google.tk",
              "google.tl",
              "google.tm",
              "google.tn",
              "google.to",
              "google.tt",
              "google.vg",
              "google.vu",
              "google.ws"
            ],
            "type": "string",
            "description": "Google domain to use for search. Also determines the default country when the Country Code input is unset (e.g. google.de -> de).",
            "default": "google.com"
          },
          "num_results": {
            "title": "Number of Results",
            "minimum": 10,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of job results to return",
            "default": 100
          },
          "max_pagination": {
            "title": "Maximum Pages",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of pages to fetch (each page has ~10 results). Set to 0 for unlimited pagination (fetch all available pages).",
            "default": 0
          },
          "include_lrad": {
            "title": "Include Location Radius",
            "type": "boolean",
            "description": "Whether to include location radius filtering",
            "default": false
          },
          "lrad_value": {
            "title": "Location Radius Value",
            "pattern": "^[0-9]+$",
            "type": "string",
            "description": "Location radius value in miles (e.g., '2', '5', '10'). Only used when include_lrad is true."
          },
          "max_delay": {
            "title": "Request Delay",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Delay between API requests in seconds (to avoid rate limiting)",
            "default": 1
          },
          "output_file": {
            "title": "Output Filename",
            "type": "string",
            "description": "Custom filename for saving results. Leave empty for auto-generated filename."
          },
          "company_filter": {
            "title": "Company Name Filter",
            "type": "string",
            "description": "Filter out jobs from specific companies. Enter a single company name or comma-separated list (e.g., 'Company A, Company B'). Case-sensitive matching by default. If company_filter_regex is enabled, this field accepts regular expressions for pattern matching (e.g., 'implenia' to match 'Implenia', 'IMPLENIA', 'Implenia Germany', etc.). Alternative to company_filter_list."
          },
          "company_filter_list": {
            "title": "Company Name Filter (List)",
            "type": "array",
            "description": "Filter out jobs from specific companies as a list. Each item in the array is a company name to filter out. Case-sensitive matching by default. If company_filter_regex is enabled, each item is treated as a regular expression pattern. If provided, this takes precedence over the text filter.",
            "items": {
              "type": "string"
            }
          },
          "company_filter_regex": {
            "title": "Company Filter Regex Mode",
            "type": "boolean",
            "description": "Enable regex pattern matching for company filters. When enabled, company_filter and company_filter_list values are treated as regular expressions for exclusion matching. Useful for matching company name variations (e.g., 'implenia' matches 'Implenia', 'IMPLENIA', 'Implenia Germany', 'Implenia AG'). Default: false (exact case-sensitive matching).",
            "default": false
          },
          "via_filter": {
            "title": "Job Source Filter (via)",
            "type": "string",
            "description": "Filter out jobs from specific job sources/platforms (e.g., 'Indeed', 'ZipRecruiter', 'LinkedIn'). Enter a single source or comma-separated list. Case-sensitive matching. Alternative to via_filter_list."
          },
          "via_filter_list": {
            "title": "Job Source Filter (via) - List",
            "type": "array",
            "description": "Filter out jobs from specific job sources/platforms as a list. Each item in the array is a source name to filter out. Case-sensitive matching. If provided, this takes precedence over the text filter.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}