JustSERPDocs
Google

Google Jobs

The job listings Google shows in its Jobs tab for a search and a place: title, company, place, pay, schedule, benefit tags, "job highlights", the full description and every apply link (the `google_jobs` field names).

GET
/v1/google/jobs

The job listings Google shows in its Jobs tab for a search and a place: title, company, place, pay, schedule, benefit tags, "job highlights", the full description and every apply link (the google_jobs field names). One request is one page of ten listings and there is no next page by plain load (start is a 400): vary the query or the place. Name a place in the query or in location; "software engineer jobs" with no place answers jobs_results_state: "no_results". location.name places the search (Google's uule). Coordinates are accepted and not used.

In the document form. $1 request $2 q and no query is the document-form Google Jobs call (q, location or uule or latitude with longitude, hl, gl), answered as the document: search_metadata, search_parameters, search_information (query_displayed, detected_location) and jobs (position, title, company_name, location, via, description, job_highlights, extensions, detected_extensions, apply_link, apply_links, sharing_link, thumbnail). Still one page of ten: next_page_token is a 400, and pagination, ads and local_ads are not returned. Name a place in q or location; coordinates are not measured on the Jobs tab. No jobs is jobs: [].

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

cancel_token?string

A name you make up for this request (a UUID is fine), so you can later GET /v1/cancel with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.

Length1 <= length <= 128
query?string

The search, e.g. nurse jobs chicago. Name a place here or in location.

Length1 <= length <= 2000
location?||

A canonical place name, sent as uule.

start?|

Only 0 (or left out). Google Jobs has no next page to load.

latitude?number

Send with longitude.

Range-90 <= value <= 90
longitude?number
Range-180 <= value <= 180
q?string
Length1 <= length <= 2000
uule?string
hl?string
Default"en"
gl?string
Default"us"

Response Body

One page of listings. jobs_results is [] with a jobs_results_state of no_results or no_jobs_block when there are none; with q, the document (jobs: []).

application/json
  1. response

The first three keys of every parsed 200 (the answer is the document itself, no success/data envelope): what the search was (search_metadata), what it asked (search_parameters), the parser's own search_information ({} when it has none). The engine's blocks follow, at the same level. An engine whose answer is a list puts it under results.

search_metadata*
search_parameters*

The request's own fields as sent, engine first, without cancel_token.

search_information*

The parser's own, e.g. yelp_search's; otherwise {}.

filters*array<>

The refinement chips above the list; each is a link back into the search.

jobs_results*array<>
Example Request
curl -X GET 'https://api.justserp.com/v1/google/jobs?query=nurse+jobs&location%5Bname%5D=Chicago%2CIllinois%2CUnited+States&location%5Bcountry%5D=us&location%5Blanguage%5D=en'
Example Response
{  "search_metadata": {    "id": "string",    "status": "Success",    "created_at": "string",    "request_url": "string",    "html_url": "string"  },  "search_parameters": {},  "search_information": {    "query_displayed": "string",    "location": "string",    "jobs_results_state": "results"  },  "filters": [    {      "name": "string",      "link": "string",      "q": "string",      "uds": "string"    }  ],  "jobs_results": [    {      "position": 0,      "title": "string",      "company_name": "string",      "location": "string",      "other_locations": 0,      "via": "string",      "share_link": "string",      "job_id": "string",      "thumbnail": "string",      "extensions": [        "string"      ],      "detected_extensions": {        "posted_at": "string",        "schedule_type": "string",        "salary": "string",        "qualifications": "string",        "health_insurance": true,        "dental_coverage": true,        "paid_time_off": true,        "work_from_home": true      },      "job_highlights": [        {          "title": "string",          "items": [            "string"          ]        }      ],      "description": "string",      "apply_options": [        {          "title": "string",          "link": "string",          "redirect_link": "string"        }      ]    }  ]}