{
  "openapi": "3.0.1",
  "info": {
    "title": "JSearch - Google for Jobs Search API",
    "description": "Real-time job postings and salary data from LinkedIn, Indeed, Glassdoor, ZipRecruiter and all public job sites via Google for Jobs. Search jobs, get job details, estimated and company salaries.",
    "version": "1.0",
    "x-build-id": "hVLi8Uw8F547wTPeA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/openweb-ninja~jsearch/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-openweb-ninja-jsearch",
        "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/openweb-ninja~jsearch/runs": {
      "post": {
        "operationId": "runs-sync-openweb-ninja-jsearch",
        "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/openweb-ninja~jsearch/run-sync": {
      "post": {
        "operationId": "run-sync-openweb-ninja-jsearch",
        "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": [
          "endpoint"
        ],
        "properties": {
          "endpoint": {
            "title": "Endpoint",
            "enum": [
              "/search-v2",
              "/job-details",
              "/estimated-salary",
              "/company-job-salary"
            ],
            "type": "string",
            "description": "Which endpoint of the API to call. Each endpoint uses the parameters listed in its section below; parameters of other endpoints are ignored.",
            "default": "/search-v2"
          },
          "query": {
            "title": "Query",
            "type": "string",
            "description": "Free-form jobs search query.<br>  It is highly recommended to include job title and location as part of the query, see query examples below.<br><br>  <strong>Examples:</strong><br>  <code>web development jobs in chicago</code><br>  <code>marketing manager in new york via linkedin</code><br><br><em>Used by: Job Search. Required for Job Search.</em>",
            "default": "developer jobs in chicago"
          },
          "cursor": {
            "title": "Cursor",
            "type": "string",
            "description": "Cursor for paginating results.<br>  Pass the value of <code>data.cursor</code> returned by the previous response to fetch the next page.<br>  Leave empty (or omit) to start from the first page.<br><br><em>Used by: Job Search.</em>"
          },
          "num_pages": {
            "title": "Num pages",
            "type": "integer",
            "description": "Number of pages to return, starting from page.<br>   <strong>Allowed values:</strong> <code>1-20</code><br><br>   <strong>Note</strong>: Each page (containing up to 10 results) returned by the API consumes one request credit.<br><br><em>Used by: Job Search.</em>"
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Country code of the country from which to return job postings.<br>  Please note that this parameter must be set in order to get jobs in a specific country, for example, to query for software developer jobs in Berlin,  one should add *country=de* to the request - *e.g. query=software+developers+in +berlin&amp;country=de*.<br>  For the list of supported values see *https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2<br><br><em>Used by: Job Search, Job Details.</em>"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code in which to return job postings. Leave empty to use the primary language in the specified country (country parameter).   In case a language not supported by the specified country is used, it is likely that no results will be returned.<br>  For the list of supported values see https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes<br><br><em>Used by: Job Search, Job Details.</em>"
          },
          "date_posted": {
            "title": "Date posted",
            "enum": [
              "all",
              "today",
              "3days",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Find jobs posted within the time you specify.<br><br><em>Used by: Job Search.</em>",
            "default": "all"
          },
          "work_from_home": {
            "title": "Work from home",
            "type": "boolean",
            "description": "Only return work from home / remote jobs.<br><br><em>Used by: Job Search.</em>",
            "default": false
          },
          "employment_types": {
            "title": "Employment types",
            "type": "array",
            "description": "Find jobs of particular employment types, specified as a comma delimited list of the following values:<br><br><em>Used by: Job Search.</em>",
            "items": {
              "type": "string",
              "enum": [
                "FULLTIME",
                "CONTRACTOR",
                "PARTTIME",
                "INTERN"
              ]
            }
          },
          "job_requirements": {
            "title": "Job requirements",
            "type": "array",
            "description": "Find jobs with specific requirements, specified as a comma delimited list of the following values:<br><br><em>Used by: Job Search.</em>",
            "items": {
              "type": "string",
              "enum": [
                "under_3_years_experience",
                "more_than_3_years_experience",
                "no_experience",
                "no_degree"
              ]
            }
          },
          "radius": {
            "title": "Radius",
            "type": "integer",
            "description": "Return jobs within a certain distance from location as specified as part of the query (in km).<br>  This internally sent as the Google \"lrad\" parameter and although it might affect the results, it is not strictly followed by Google for Jobs.<br><br><em>Used by: Job Search.</em>"
          },
          "exclude_job_publishers": {
            "title": "Exclude job publishers",
            "type": "string",
            "description": "Exclude jobs published by specific publishers, specified as a comma (,) separated list of publishers to exclude.<br><br><em>Used by: Job Search.</em>"
          },
          "fields": {
            "title": "Fields",
            "type": "string",
            "description": "A comma separated list of job fields to include in the response (field projection).<br>  By default all fields are returned.<br><br><em>Used by: Job Search, Job Details, Job Salary.</em>"
          },
          "job_id": {
            "title": "Job id",
            "type": "string",
            "description": "Job Id of the job for which to get details.<br>  Batching of up to 20 Job Ids is supported by separating multiple Job Ids by comma (,).<br>  Note that each Job Id in a batch request is counted as a request for quota calculation.<br><br><em>Used by: Job Details. Required for Job Details.</em>"
          },
          "job_title": {
            "title": "Job title",
            "type": "string",
            "description": "Job title for which to get salary estimation.<br><br><em>Used by: Job Salary, Company Job Salary. Required for Job Salary, Company Job Salary.</em>"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Location in which to get salary estimation.<br><br><em>Used by: Job Salary, Company Job Salary. Required for Job Salary.</em>"
          },
          "location_type": {
            "title": "Location type",
            "enum": [
              "ANY",
              "CITY",
              "STATE",
              "COUNTRY"
            ],
            "type": "string",
            "description": "Specify the type of the location you are looking to get salary estimation for additional accuracy.<br><br><em>Used by: Job Salary, Company Job Salary.</em>",
            "default": "ANY"
          },
          "years_of_experience": {
            "title": "Years of experience",
            "enum": [
              "ALL",
              "LESS_THAN_ONE",
              "ONE_TO_THREE",
              "FOUR_TO_SIX",
              "SEVEN_TO_NINE",
              "TEN_TO_FOURTEEN",
              "ABOVE_FIFTEEN"
            ],
            "type": "string",
            "description": "Get job estimation for a specific experience level range (years).<br><br><em>Used by: Job Salary, Company Job Salary.</em>",
            "default": "ALL"
          },
          "company": {
            "title": "Company",
            "type": "string",
            "description": "The company name for which to get salary information (e.g. Amazon).<br><br><em>Used by: Company Job Salary. Required for Company Job Salary.</em>"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}