{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Jobs Alternative: ATS & Public Job Listings",
    "description": "Google Jobs alternative for job research: search public job feeds by keyword or fetch company ATS jobs by domain. Export titles, employers, locations and apply links as JSON. Use with n8n, Make or Apify MCP. Default results come from public feeds, not Google Jobs SERPs.",
    "version": "1.0",
    "x-build-id": "WwK3YuPbGZg2qJHVc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/hirepulse~google-jobs-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-hirepulse-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/hirepulse~google-jobs-scraper/runs": {
      "post": {
        "operationId": "runs-sync-hirepulse-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/hirepulse~google-jobs-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-hirepulse-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",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "Required. Job searches as you would type them into Google, one per item, up to 50 per run. Example: [\"data engineer\", \"nurse night shift\"]. To get every job of one company, hirepulse/ats-job-pulse is the better fit.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "IN",
              "BR",
              "MX",
              "JP",
              "AE",
              "SG",
              "SE",
              "PL",
              "IE",
              "ZA",
              "IL",
              "AL",
              "DZ",
              "AO",
              "AR",
              "AM",
              "AT",
              "AZ",
              "BH",
              "BD",
              "BE",
              "BO",
              "BA",
              "BG",
              "BF",
              "KH",
              "CM",
              "CL",
              "CO",
              "CR",
              "CI",
              "HR",
              "CY",
              "CZ",
              "DK",
              "EC",
              "EG",
              "SV",
              "EE",
              "FI",
              "GH",
              "GR",
              "GT",
              "HK",
              "HU",
              "ID",
              "JO",
              "KZ",
              "KE",
              "LV",
              "LT",
              "MY",
              "MT",
              "MD",
              "MC",
              "MA",
              "MM",
              "NZ",
              "NI",
              "NG",
              "MK",
              "NO",
              "PK",
              "PA",
              "PY",
              "PE",
              "PH",
              "PT",
              "RO",
              "SA",
              "SN",
              "RS",
              "SK",
              "SI",
              "KR",
              "LK",
              "CH",
              "TW",
              "TH",
              "TN",
              "TR",
              "UA",
              "UY",
              "VE",
              "VN"
            ],
            "type": "string",
            "description": "Two-letter ISO country code, for example US, GB or DE. Public results must explicitly match this country or be confirmed remote roles available worldwide. Unknown geography is omitted; coverage is incomplete.",
            "default": "US"
          },
          "location": {
            "title": "City or region (optional)",
            "type": "string",
            "description": "Optional city or region inside the country, such as Austin,Texas. Public results must mention the requested city or region; worldwide remote roles alone do not satisfy a city filter. Leave empty to search the country."
          },
          "radius_km": {
            "title": "Radius around the city (km)",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Distance filtering, 1 to 300 km around location, requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored."
          },
          "max_jobs_per_query": {
            "title": "Maximum jobs per search",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Jobs to return per search, 1 to 200. Each returned job is one charged result. Example: 100. Default: 5.",
            "default": 5
          },
          "employment_types": {
            "title": "Employment types (optional)",
            "type": "array",
            "description": "Optional fulltime, partime, contractor or intern filters. Requires an explicitly enabled paid source. Rejected on the default public-feed path; never silently ignored. The provider spelling for part-time is partime.",
            "items": {
              "type": "string",
              "enum": [
                "fulltime",
                "partime",
                "contractor",
                "intern"
              ],
              "enumTitles": [
                "Full-time",
                "Part-time",
                "Contractor",
                "Internship"
              ]
            }
          },
          "include_descriptions": {
            "title": "Add full job descriptions",
            "type": "boolean",
            "description": "Add the full description text for jobs whose apply link is on a Workday, Greenhouse, Lever or Ashby job board; other jobs keep only apply_url. No extra charge; turn off for faster runs. Default: false.",
            "default": false
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code. Leave empty for the country's main language. Example: \"es\" with country \"US\". Countries with more than one language: US: en/es; CA: en/fr; IN: en/hi; DZ: fr/ar; BE: fr/nl/de; CY: el/en; EG: ar/en; GR: el/en; HK: en/zh-TW; ID: en/id; IL: he/ar; MY: en/ms; MA: ar/fr; PK: en/ur; PH: en/tl; SG: en/zh-CN; CH: de/fr/it; UA: uk/ru; AE: ar/en; VN: en/vi."
          },
          "use_paid_upstream": {
            "title": "Allow external paid upstream (owner opt-in)",
            "type": "boolean",
            "description": "Off by default. Supported paid sources also require the owner-controlled HIREPULSE_ALLOW_PAID_UPSTREAM=1 environment setting. Keep false for all quality and smoke checks.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}