Google Jobs
Search Google Jobs listings by query and location.
GET/api/v1/google/jobs
Costs 1 credit per request; failed requests are refunded. Authentication, the search_metadata envelope and error codes are the same as for every endpoint (see the API reference). Try it in the playground.
Parameters
Search parameters
| Parameter | Type | Description |
|---|---|---|
qrequired | string | Job search query, for example software engineer jobs in New York.Up to 512 characters. |
page | integer | One-based results page. Use next_page from the response to continue.Default: 1.Minimum: 1. |
page_token | string | Copy next_page_token with next_page and the same query to fetch the next batch directly.Up to 32,768 characters. |
hl | string | Google interface language, for example en, de, fr, es or pt-BR.Default: en. |
gl | string | Two-letter country code.Default: us. |
location | string | Canonical Google location, such as London,England,United Kingdom. Use one of location, uule or lat/lon.Up to 512 characters. |
uule | string | Explicit Google UULE location value. Mutually exclusive with location and coordinates.Up to 2,048 characters. |
lat | number | Latitude of the search origin. Requires lon.Range: -90 to 90. |
lon | number | Longitude of the search origin. Requires lat.Range: -180 to 180. |
radius | number | Coordinate accuracy radius in meters, requiring lat/lon. This locates the search origin; it is not a job-distance filter.Range: 1 to 199. |
uds | string | Opaque Google refinement value returned in available_filters. Copy its q and uds together; filter choices vary by query and market.Up to 16,384 characters. |
tbs | string | Google search refinement string, for example qdr:w for the past week. Keep it unchanged through pagination.Up to 2,048 characters. |
include_filters | boolean | Return available Google Jobs filters with the q and uds parameters needed to apply each one.Default: false. |
Response
A JSON object with search_metadata (request id, credits used and remaining) and the result data: jobs_results. Groups and fields depend on the content of each page, so treat every field as optional.
Examples
cURL
curl "https://serpfast.com/api/v1/google/jobs?q=software+engineer+jobs+in+New+York" \
-H "Authorization: Bearer $SERPFAST_KEY"Node.js 18+
const params = new URLSearchParams({
"q": "software engineer jobs in New York"
});
const res = await fetch(`https://serpfast.com/api/v1/google/jobs?${params}`, {
headers: { Authorization: `Bearer ${process.env.SERPFAST_KEY}` },
});
const data = await res.json();
console.log(data);Python
import os, requests
params = {
"q": "software engineer jobs in New York"
}
res = requests.get(
"https://serpfast.com/api/v1/google/jobs",
params=params,
headers={"Authorization": f"Bearer {os.environ['SERPFAST_KEY']}"},
timeout=120,
)
print(res.json())