Google Jobs Scraper
Pricing
$8.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.008 per job.
The Google Jobs scraper that actually returns salary and apply links.
Scrape Google for Jobs at scale. Get 22+ structured fields per posting — title, company, salary range, apply links (LinkedIn, Indeed, Glassdoor, company ATS), remote flag, qualifications, benefits, coordinates and more. No brittle HTML parsing: this actor combines Google's inline AF_initDataCallback payloads with schema.org JobPosting JSON-LD and DOM fallbacks for maximum coverage.
Why this actor
Most Google Jobs scrapers on the market return 5–6 fields and crash on pagination. This one:
- Returns 22 fields per job, including
salaryMin/salaryMax/salaryCurrency/salaryPeriod. - Extracts apply links per network (LinkedIn, Indeed, Glassdoor, Workday, Greenhouse, Lever, company career pages).
- Supports matrix expansion for large runs: when you ask for more than 500 jobs, the actor automatically rotates the
datePostedfilter (today → 3days → week → month) and iterates employment types to unlock Google's pagination ceiling. - Ships with a hard cost ceiling (
maxCost, default $2) so runs never blow past your budget. - Uses Brightdata Scraping Browser over CDP — no cookie input, no manual auth, just results.
Pricing
Pay-per-event:
- $0.008 per job scraped (primary event)
- $0.05 minimum charge per run
- No actor-start fee.
Example: 500 jobs = $4.00. 2000 jobs = $16.00. You know exactly what you'll pay.
Coverage
Supported countries (Google's Jobs widget is disabled in the EU, so EU is intentionally out of scope):
| Code | Country |
|---|---|
us | United States |
br | Brazil |
mx | Mexico |
ca | Canada |
gb | United Kingdom |
in | India |
au | Australia |
jp | Japan |
sg | Singapore |
Input
{"queries": ["software engineer", "data scientist"],"location": "San Francisco, CA","countryCode": "us","languageCode": "en","maxItems": 500,"datePosted": "week","jobType": ["FULLTIME"],"workFromHome": false,"maxCost": 2}
Output
Each job record has:
{"jobId": "eyJhbGciOi...","title": "Senior Software Engineer","companyName": "Acme Inc","companyLogo": "https://...","location": "San Francisco, CA, US","latitude": 37.77,"longitude": -122.42,"description": "We're hiring...","descriptionHtml": "<p>We're hiring...</p>","postedAt": "2026-04-10T00:00:00Z","postedAtIso": "2026-04-10T00:00:00.000Z","jobType": "FULLTIME","workFromHome": false,"salaryMin": 180000,"salaryMax": 240000,"salaryCurrency": "USD","salaryPeriod": "YEAR","benefits": ["Health insurance", "401(k)"],"qualifications": ["5+ years experience", "Go or Rust"],"responsibilities": ["Design distributed systems", "Mentor engineers"],"applyOptions": [{ "network": "linkedin", "url": "https://www.linkedin.com/jobs/...", "directApply": false },{ "network": "greenhouse", "url": "https://boards.greenhouse.io/...", "directApply": false }],"postedVia": "LinkedIn","scrapedAt": "2026-04-15T12:00:00.000Z","sourceQuery": "software engineer"}
Notes & limits
- EU countries are not supported (Google disabled the widget there in 2023).
- Google caps visible results per search to ~100 per filter slice; that's why
maxItems > 500triggers matrix expansion. jobIdis sourced from Google's internal identifier when available; otherwise synthesized fromtitle|company|locationto support dedup across runs.- Rate us on the Apify Store if this actor helped you!