Google Jobs as JSON.
Every listing, structured.
Job listings from Google Jobs: title, company, location, posting site, salary, schedule, benefits and apply links, parsed and typed. Feed job boards, labor market dashboards, recruiting tools and salary research.
{ } ← click "Run jobs search" ▍
{
"jobs": [
{
"position": 1,
"title": "Associate, Data Engineering",
"company_name": "Evergreen Trading",
"location": "New York, NY",
"via": "LinkedIn",
"detected_extensions": {
"posted_at": "19 hours ago",
"schedule_type": "Full-time",
"health_insurance": true
},
"apply_options": [
{
"title": "LinkedIn",
"link": "https://www.linkedin.com/jobs/view/..."
},
{
"title": "Monster",
"link": "https://www.monster.com/job-openings/..."
}
],
"job_id": "kPe3rYlyPmTnf6xdAAAAAA=="
},
{
"position": 2,
"title": "Senior Data Engineer - PostgreSQL and MongoDB",
"company_name": "CVS Health",
"location": "New York, NY",
"via": "ZipRecruiter",
"detected_extensions": {
"posted_at": "2 days ago",
"salary": "$92,700-$203,940 a year",
"schedule_type": "Full-time",
"dental_coverage": true,
"paid_time_off": true
}
},
{
"position": 3,
"title": "Data Engineer, Marketing Insights and Technology",
"company_name": "Amazon",
"location": "New York, NY",
"via": "LinkedIn",
"detected_extensions": {
"posted_at": "5 days ago",
"schedule_type": "Full-time",
"qualifications": "No degree mentioned"
}
}
]
}
{ } ← click "Run jobs search" ▍
{
"jobs": [
{
"position": 1,
"title": "Warehouse Operations Lead - 2nd Shift (3:00PM - 11:30PM)",
"company_name": "Ingram Micro",
"location": "Dallas, TX",
"via": "LinkedIn",
"detected_extensions": {
"posted_at": "17 hours ago",
"salary": "$49.5K-$79.2K a year",
"schedule_type": "Full-time",
"health_insurance": true
}
},
{
"position": 2,
"title": "Warehouse Loader Unloader - Now Hiring",
"company_name": "Randstad USA",
"location": "Dallas, TX",
"via": "Randstad USA",
"detected_extensions": {
"posted_at": "3 days ago",
"salary": "$18 an hour",
"schedule_type": "Full-time",
"qualifications": "No degree mentioned"
},
"apply_options": [
{
"title": "Randstad USA",
"link": "https://www.randstadusa.com/jobs/..."
},
{
"title": "ZipRecruiter",
"link": "https://www.ziprecruiter.com/..."
},
{
"title": "Snagajob",
"link": "https://www.snagajob.com/..."
}
],
"job_id": "WxYk45AS-MXc1f4uAAAAAA=="
},
{
"position": 3,
"title": "Part-Time Overnight Warehouse Associate-Fulfillment Operations",
"company_name": "Amazon",
"location": "Dallas, TX",
"via": "Amazon Careers",
"detected_extensions": {
"posted_at": "2 days ago",
"salary": "$21.50-$24.50 an hour",
"schedule_type": "Full-time"
}
}
]
}
Typed job listings, ready to ship.
What Google shows on a job card: title, employer, place, posting site, salary and benefits tags, the apply links, and a job_id for cross-day diffing.
Six workflows. One key.
Fill a job board or aggregator with fresh listings.
Query by role and city on your own schedule. Each listing arrives with title, company, location, salary and every apply link, ready to index. job_id keeps duplicates out.
Measure hiring demand by role, city and employer.
Run the same queries daily across markets and count listings by company, schedule type and posting age. Watch which roles heat up before the quarterly reports do.
See who is hiring for the roles you place.
Turn live listings into a list of hiring companies by role and town. The via and apply_options fields show where each job is posted, so you know where to reach the hiring team.
Collect posted pay ranges as data.
detected_extensions.salary carries the posted range, yearly or hourly, exactly as Google shows it. Group by title and city to build pay benchmarks from what employers actually advertise.
Add live job data to your HR product.
Power job matching, career pages, market pay widgets or candidate alerts from one endpoint. Qualifications and benefits come pre-split in job_highlights and the benefit flags.
Ground a job-search assistant in live listings.
Give your agent a tool that returns current openings instead of stale training data. The same call works from the Ujeebu MCP server, where the SERP tool accepts search_type=jobs.
However your stack is wired.
curl -G "https://api.ujeebu.com/serp" \
-H "ApiKey: YOUR_KEY" \
--data-urlencode "search_type=jobs" \
--data-urlencode "search=data engineer jobs new york" \
-d location=us \
-d lang=en
import requests
r = requests.get(
"https://api.ujeebu.com/serp",
params={
"search_type": "jobs",
"search": "data engineer jobs new york",
"location": "us",
},
headers={"ApiKey": "YOUR_KEY"},
)
for job in r.json()["jobs"]:
print(job["title"], job["company_name"], job["detected_extensions"].get("salary"))
import { UjeebuClient } from "@ujeebu-org/ujeebu-sdk";
const client = new UjeebuClient("YOUR_KEY");
const res = await client.serp({
search_type: "jobs",
search: "data engineer jobs new york",
location: "us",
});
console.log(res.data.jobs);
params := url.Values{}
params.Set("search_type", "jobs")
params.Set("search", "data engineer jobs new york")
params.Set("location", "us")
req, _ := http.NewRequest("GET", "https://api.ujeebu.com/serp?"+params.Encode(), nil)
req.Header.Set("ApiKey", "YOUR_KEY")
resp, _ := http.DefaultClient.Do(req)
What you stop worrying about.
Live listings. Never cached.
Every request fetches Google Jobs in real time, so new postings show up the day they appear and filled roles drop out.
Local results by query.
Put the role and the town in the query (for example "warehouse jobs dallas") and set location to the country code. You get the listings Google shows for that search.
One listing, many sources.
Google already merges a job posted on several boards into one card. apply_options lists every site it appears on, so you skip the cross-board deduplication.
Pay only for what works.
Blocked requests, timeouts and server errors are not billed. Only completed searches use credits.
Blocked requests, timeouts and server errors cost zero. 5,000 credits free, no card. One credit pool across every endpoint. The same key works in production.
Pay per success. Start free.
Each search is 5 credits. Blocked requests, timeouts and server errors don't count. Same plans cover every Ujeebu endpoint, one credit pool.
Before you sign up.
How do I target a city or a country?▼
Is the salary always there?▼
How many jobs does one search return?▼
Can I apply filters like remote or full-time?▼
How is this different from scraping each job board?▼
Can I top up credits?▼
5,000 free credits. Live job listings in 60 seconds.
No credit card. No sales call. Just an API key and your first Google Jobs pull.
