Google Jobs API
Search Google Jobs, the job listings Google gathers from LinkedIn, Indeed, ZipRecruiter, company career sites and other boards, and get about 10 listings per call: title, company, location, the site it was found on, the full description, apply links on every board that carries it, and the posting details Google shows (posted, pay, job type, benefits). Each listing carries a listingToken you can pass to google.job for employer ratings. Send nextCursor back as cursor to walk further pages.
Pricing
Google Jobs API pricing
Try it
Get Google jobs in one request
{
"data": {
"items": [
{
"applyOptions": [
{
"title": "Example title",
"url": "https://example.com/page"
}
],
"companyName": "Acme Inc",
"description": "A short example description of this item.",
"extensions": [
"example"
],
"jobId": "a1b2c3d4",
"listingToken": "a1b2c3d4",
"location": "example",
"position": 1,
"title": "Example title",
"via": "example"
}
],
"nextCursor": "example"
},
"found": true,
"reason": "not_found"
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-16 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
registered nurse
Job title or keywords to search, e.g. registered nurse. A place written into the query ("barista in Austin, TX") also localizes the search.
- cursorstring
Opaque cursor from a previous response's nextCursor. Send it with the same query, location, gl and hl to get the next page of about 10 listings; it expires about an hour after it was issued, after which you start again from page 1.
- glstring
us
Two-letter country code to search in (e.g. us, gb, de).
- hlstring
en
Language code for the listings and their details (e.g. en, de, es).
- locationstring
Chicago, IL
City, region or country to search around, e.g. Chicago, IL or London. Google may include nearby places.
Response
JSON, one example value per field.
Where the job can be applied for. Populated whenever the provider has data for the entity.
- titlestring
Label, e.g. Apply on LinkedIn.
- urlstring
Apply link with Google's tracking parameters removed.
Job listings in Google's order. Populated whenever the provider has data for the entity.
- companyNamestring
Hiring company. Populated whenever the provider has data for the entity.
- descriptionstring
Job description as plain text. Usually the full text, but for some listings (seen on German searches) Google shows only an excerpt of about 400 characters that can stop mid-word; google.job with this listing's listingToken returns the whole description Google holds. Populated whenever the provider has data for the entity.
- extensionsstring[]
The posting details Google shows, in its order and wording, e.g. ["2 days ago", "36.50-58.40 an hour", "Full-time", "Health insurance"]: when it was posted, pay, job type and benefits, each only when Google shows it. Populated whenever the provider has data for the entity.
- jobIdstring
Google's id for the listing. Populated whenever the provider has data for the entity.
- listingTokenstring
Token for this listing; pass it to google.job as listingToken for the listing with employer ratings. Populated whenever the provider has data for the entity.
- locationstring
Job location as Google shows it, e.g. Chicago, IL. Populated whenever the provider has data for the entity.
- positioninteger
1-based rank of the listing across pages (page 2 starts at 11).
- titlestring
Job title. Populated whenever the provider has data for the entity.
- viastring
The site Google found the listing on, e.g. LinkedIn or Indeed. Populated whenever the provider has data for the entity.
The results wrapper, or null when nothing was found.
- nextCursorstring
Opaque cursor for the next page of listings, or null when there are no more. Pass it back as cursor with the same query, location, gl and hl.
- foundboolean
True when at least one job listing was returned.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Google Jobs API
The AnyAPI Google Jobs API returns Google jobs data as normalized JSON from one POST call to /v1/run/google.jobs. Search Google Jobs, the job listings Google gathers from LinkedIn, Indeed, ZipRecruiter, company career sites and other boards, and get about 10 listings per call: title, company, location, the site it was found on, the full description, apply links on every board that carries it, and the posting details Google shows (posted, pay, job type, benefits). Each listing carries a listingToken you can pass to google.job for employer ratings. Send nextCursor back as cursor to walk further pages. AnyAPI returns one normalized schema whichever source serves it. It costs from $0.85 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Google jobs calls through AnyAPI succeeded, with a median response time of 8.7 seconds across 1 measured calls.