Google Jobs Scraper
Pricing
$3.00 / 1,000 job scrapeds
Google Jobs Scraper
Scrape Google for Jobs. 22+ fields per posting (title, company, salary, apply links, remote flag). US/BR/MX/CA/UK/IN/AU/JP/SG. Pay $0.003 per job.
Google Jobs Scraper � Salaries, Companies & Apply Links
Google Jobs Scraper extracts job listings from Google for Jobs by search query and location: title, company, salary range, employment type, remote flag, apply links per network, posting date and full description. It works across 9 countries � United States, Brazil, Mexico, Canada, United Kingdom, India, Australia, Japan and Singapore � with no login, no cookies and no setup.
Export to JSON, CSV or Excel, pull it through the API, schedule it, or feed it straight to an AI agent. Think of it as a Google Jobs API for the listing data the official one doesn't give you.
What can you do with it?
- 🎯 Recruiting & talent sourcing � track who's hiring for which roles in any city, with direct apply links to LinkedIn, Indeed, Greenhouse, Lever and company ATS pages.
- 💰 Salary benchmarking � collect disclosed
salaryMin/salaryMaxby role and location to build median and p90 compensation bands. - 📊Market & labor research � measure hiring demand, employment-type mix and posting velocity across queries, companies and regions.
- �Remote jobs monitoring � filter for
workFromHomeroles and watch a niche for new remote openings on a schedule. - 🤖 AI / LLM datasets � produce clean, structured job JSON for RAG pipelines, agents and analysis.
What data does it extract?
| Field | Description |
|---|---|
title | Job title |
companyName / companyLogo | Hiring company and logo URL |
location / latitude / longitude | Location string and GPS coordinates when available |
salaryMin / salaryMax / salaryCurrency / salaryPeriod | Disclosed pay range, currency and HOUR/MONTH/YEAR period |
jobType / workFromHome | Employment type and remote flag |
description / descriptionHtml | Plain-text and HTML job description |
benefits / qualifications / responsibilities | Bullet lists parsed from the posting |
applyOptions | Apply links per network (LinkedIn, Indeed, Greenhouse, Lever, ATS) |
postedAt / postedAtIso / postedVia | Posting recency and originating job board |
jobId / sourceQuery / scrapedAt | Identifier, originating query and extraction timestamp |
Input
Provide one or more search queries and, optionally, a location and country. The most reliable mode is query + location.
| Field | Type | Description |
|---|---|---|
queries | Array | One or more search keywords (e.g. ["software engineer", "data scientist"]). Each query runs independently. |
location | String | City, state or region (e.g. "San Francisco, CA"). Leave empty for country-wide results. |
countryCode | String | ISO-2 code: us, br, mx, ca, gb, in, au, jp, sg. Default us. EU is excluded. |
languageCode | String | ISO language code for results (e.g. en, pt, es). Default en. |
datePosted | String | all, today, 3days, week or month. Default all. |
jobType | Array | Filter by FULLTIME, PARTTIME, CONTRACTOR, INTERN. Empty = all types. |
workFromHome | Boolean | Return only remote jobs. Default false. |
maxItems | Integer | Hard cap on total jobs after dedup. Default 500, min 50, max 10,000. |
maxCost | Number | Cost ceiling (USD) for matrix expansion when maxItems > 500. Default $2, max $20. |
Note on country codes: use
countryCode/languageCode(notcountry/language). Google disabled its Jobs widget across the EU/EEA after antitrust rulings, so EU codes are intentionally excluded � pick a supported country or let it default tous.
Output
One record per job:
{"jobId": "JqaxCjx4oqiOf07WAAAAAA==","title": "Senior Software Engineer","companyName": "Acme Inc","companyLogo": "https://encrypted-tbn0.gstatic.com/images?q=...","location": "San Francisco, CA","latitude": 37.7749,"longitude": -122.4194,"description": "We're hiring senior engineers for our infrastructure team...","descriptionHtml": "<p>We're hiring senior engineers for our infrastructure team...</p>","postedAt": "5 days ago","postedAtIso": "2026-06-18T00:00:00.000Z","jobType": "FULLTIME","workFromHome": false,"salaryMin": 180000,"salaryMax": 240000,"salaryCurrency": "USD","salaryPeriod": "YEAR","benefits": ["Health insurance", "401(k)", "Stock options"],"qualifications": ["5+ years experience", "Go or Rust proficiency"],"responsibilities": ["Design distributed systems", "Mentor junior engineers"],"applyOptions": [{ "network": "linkedin", "url": "https://www.linkedin.com/jobs/view/...", "directApply": false },{ "network": "greenhouse", "url": "https://boards.greenhouse.io/acme/jobs/...", "directApply": false }],"postedVia": "LinkedIn","sourceQuery": "software engineer","scrapedAt": "2026-06-23T12:00:00.000Z"}
Field notes
salaryMin/salaryMax/salaryCurrency/salaryPeriod: only present when the employer discloses pay; otherwisenull.salaryPeriodisHOUR,MONTHorYEAR.applyOptions: one entry per apply destination with{ network, url, directApply }.urlis the canonical destination (Google's redirect wrapper is decoded), so you get the real LinkedIn / Greenhouse / Lever / ATS link. Empty[]when Google exposes no direct apply route.postedAt/postedAtIso:postedAtis Google's relative string (e.g."5 days ago");postedAtIsois the parsed ISO 8601 date. Bothnullwhen Google omits recency.latitude/longitude/companyLogo:nullwhen Google doesn't provide them for that listing.jobId: Google's internal identifier when available; otherwise synthesized fromtitle|company|locationfor cross-run dedup.
How many results per query?
Google caps visible results to roughly 100 per filter slice. When maxItems > 500, the actor automatically expands the search matrix � rotating datePosted (today → 3days → week → month) and jobType filters and deduplicating by jobId � to escape that ceiling. The maxCost ceiling (default $2) caps expansion bandwidth so a large run never blows past your budget. For broad coverage, combine several specific queries and a location.
Integrations
- API � start runs and fetch the dataset via the Apify API (REST/JSON) or the JS/Python clients. A Google Jobs API for the data the official one doesn't expose.
- Schedule & monitor � run on a schedule for recurring remote-jobs or hiring monitoring; get notified on failures.
- AI agents / MCP � expose this actor to ChatGPT, Claude and other assistants through the Apify MCP server so an AI can pull live job data on demand.
- No-code � pipe results into Make, Zapier, Google Sheets, Slack or your database with Apify integrations and webhooks.
FAQ
How does Google Jobs Scraper work? It searches Google's Jobs widget exactly as a job seeker would, opens each listing, copies the visible data � title, company, salary, apply links and description � and organizes it into a structured dataset, only much faster and at scale.
Is it legal to scrape Google Jobs? The actor collects only publicly available job-listing information (no login, no personal data). As with any scraping, you are responsible for how you use the data and for complying with applicable laws and terms. See Is web scraping legal?
Do I need a Google account or login? No. No account, cookies or credentials � proxy and unblocking are handled automatically.
Which countries are supported?
United States, Brazil, Mexico, Canada, United Kingdom, India, Australia, Japan and Singapore. Set countryCode (default us). EU/EEA countries are not supported � Google disabled its Jobs widget there after antitrust rulings.
Can I scrape only remote jobs?
Yes � set workFromHome: true to return only remote / work-from-home roles. You can also filter by jobType and datePosted.
How do I get more than ~100 jobs per query?
Raise maxItems above 500 and the actor automatically expands the search matrix across date and employment-type filters, deduplicating by jobId. The maxCost ceiling keeps expansion within budget.
Why did my run return 0 jobs but succeed? Google sometimes serves a soft-consent redirect where no cards render. The actor detects this, reloads, reconnects for a fresh exit IP and retries. If it still fails, you aren't charged for the empty run.
Can I get the data through an API or connect it to AI? Yes � run it via the Apify API/clients, or expose it to AI assistants through the Apify MCP server. See Integrations above.
Related Actors
Building a hiring or jobs data pipeline? Pair Google Jobs Scraper with:
- Upwork Jobs Scraper � freelance gigs and projects from Upwork.
- Glassdoor Scraper � company reviews, salaries and ratings from Glassdoor.
- Workana Scraper � freelance projects from Workana (LATAM).
- Wellfound Jobs Scraper � startup and tech jobs from Wellfound (AngelList).
âÂ� Like this actor?
If it saved you time, please take 30 seconds to leave a review on the Apify Store � it's the single biggest way to support continued development.