Our Google Jobs API is the perfect tool for a countless number of use cases.
Monitor job posting activity across competitors and industries to understand hiring trends, salary benchmarks, and in-demand skills.
Pull live job listings into your own job board or talent platform without manual scraping.
Track job posting volume, role distribution, and salary data across locations and industries to support workforce analytics and research.
Our customers use Zenserp for a countless number of use cases, at small and large scale.
The following examples should give you an idea of what you can achieve with our Google Jobs API. For further details, visit our Playground and our Documentation.
curl -X GET -G \
'https://app.zenserp.com/api/v2/search' \
-H "apikey: your-apikey" \
-d "q=backend+engineer" \
-d "tbm=jobs" \
-d "location=Austin,Texas,United States"
# Set tbm=jobs to retrieve Google Jobs results
# Accepted locations can be found at https://app.zenserp.com/playground
import requests
headers = {"apikey": "your-apikey"}
params = {
"q": "backend engineer",
"tbm": "jobs",
"location": "Austin,Texas,United States",
}
response = requests.get(
"https://app.zenserp.com/api/v2/search",
headers=headers,
params=params,
)
data = response.json()
for j in data["jobs"]:
print(j["title"], j["company"], j["location"])
const axios = require("axios");
axios.get("https://app.zenserp.com/api/v2/search", {
headers: { apikey: "your-apikey" },
params: {
q: "backend engineer",
tbm: "jobs",
location: "Austin,Texas,United States",
},
}).then(({ data }) => {
data.jobs.forEach((j) => console.log(j.title, j.company, j.location));
});
<?php
$params = http_build_query([
"q" => "backend engineer",
"tbm" => "jobs",
"location" => "Austin,Texas,United States",
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "https://app.zenserp.com/api/v2/search?" . $params);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: your-apikey"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
foreach ($data["jobs"] as $j) {
echo $j["title"] . " " . $j["company"] . " " . $j["location"] . PHP_EOL;
}
curl -X GET -G \
'https://app.zenserp.com/api/v2/search' \
-H "apikey: your-apikey" \
-d "q=backend+engineer" \
-d "tbm=jobs" \
-d "location=Austin,Texas,United States" \
-d "start=10" \
-d "num=10"
# Use start= and num= to paginate through all available listings
# Combine with the Batches endpoint for large-scale collection
import requests
headers = {"apikey": "your-apikey"}
params = {
"q": "backend engineer",
"tbm": "jobs",
"location": "Austin,Texas,United States",
"start": 10,
"num": 10,
}
data = requests.get(
"https://app.zenserp.com/api/v2/search",
headers=headers,
params=params,
).json()
print(len(data["jobs"]), "listings on this page")
const axios = require("axios");
axios.get("https://app.zenserp.com/api/v2/search", {
headers: { apikey: "your-apikey" },
params: {
q: "backend engineer",
tbm: "jobs",
location: "Austin,Texas,United States",
start: 10,
num: 10,
},
}).then(({ data }) => {
console.log(data.jobs.length, "listings on this page");
});
<?php
$params = http_build_query([
"q" => "backend engineer",
"tbm" => "jobs",
"location" => "Austin,Texas,United States",
"start" => 10,
"num" => 10,
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, "https://app.zenserp.com/api/v2/search?" . $params);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["apikey: your-apikey"]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
echo count($data["jobs"]) . " listings on this page";
Zenserp Google Jobs API returns job listings, salaries, and descriptions for any role and location. For further testing, visit our Playground.
{
"query": { "q": "backend engineer", "tbm": "jobs", "location": "Austin,Texas,United States" },
"jobs": [
{
"title": "Senior Backend Engineer",
"company": "Acme Cloud",
"location": "Austin, TX",
"via": "LinkedIn",
"posted_at": "3 days ago",
"schedule": "Full-time",
"salary": "$150K–$185K a year",
"description": "We're hiring a senior backend engineer to lead development of our core API platform. You'll work across distributed systems, own reliability, and collaborate with product and frontend teams."
},
{
"title": "Backend Software Engineer",
"company": "DataFlow Inc.",
"location": "Remote — Austin, TX preferred",
"via": "Indeed",
"posted_at": "1 day ago",
"schedule": "Full-time",
"salary": "$120K–$145K a year",
"description": "Join a fast-growing data infrastructure team building the pipelines that power real-time analytics for Fortune 500 clients."
}
]
}
Search by job title, skills, or keywords — the q parameter accepts any query Google Jobs would accept.
Add a location parameter to retrieve listings for a specific city, region, or country. Accepted location strings can be found in our Playground.
Each listing includes the complete job description text — not just the snippet — so you can analyse requirements, skills, and responsibilities programmatically.
Where Google surfaces it, the response includes salary range and schedule type (full-time, part-time, contract) for each listing.
Use num and start to paginate through all available listings for a query, or use the Batches endpoint for large-scale collection across many roles and locations.
Choose from a variety with different usage limits and features to match the size and scope of your project. All plans include real-time scraping capabilities and 24/7 customer support.
Need more? Contact us for a custom quote.
Zenserp retrieves job listings from Google's job search results (google.com/search?tbm=jobs), which aggregates postings from LinkedIn, Indeed, Glassdoor, and company career pages. The data reflects what Google surfaces at the time of the request.
The API can return job titles, company names, locations, salaries, posting dates, employment schedules, job descriptions, and the source of each listing when available.
Yes. You can search for jobs using keywords, job titles, skills, and locations. Use the q parameter for your search query and the location parameter to target a specific city, region, or country.
Yes. When salary information is available in Google Jobs results, Zenserp returns the salary range as part of the structured job listing data.
Yes. You can use the start and num parameters to paginate through available listings. For larger-scale data collection, you can also use Zenserp's Batches endpoint.