Google Jobs Scraper
Pricing
from $5.00 / 1,000 results
Google Jobs Scraper
Scrape Google Jobs by keyword and location. Returns job title, company, salary, employment type, full description, and apply links from multiple platforms. Automatic session management — no API key or cookies required. Pay only for what you use
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
CRW
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search Google Jobs and extract structured job listings at scale — no API key, no manual browsing, no rate-limit headaches.
Point it at any job title and city. Get back a clean dataset with full descriptions, salary ranges, employment type, and direct apply links from LinkedIn, Indeed, company career pages, and more.
Who is this for?
Recruiters & HR teams Stop copying job listings by hand. Run a search, download a spreadsheet, and have every open role in your target market in minutes.
Compensation analysts Collect salary data from hundreds of listings across cities and roles. Build benchmarks without expensive HR data subscriptions.
Developers & data engineers Plug job data directly into your ATS, CRM, or data pipeline via API or webhook. Full JSON output, Apify dataset storage, and SDK support for Python and JavaScript.
Market researchers & academics Track hiring trends by company, location, or role type. Analyze which skills are in demand, where hiring is growing, and how job descriptions change over time.
What you get
Every job listing comes with:
| Field | Example |
|---|---|
title | Senior Software Engineer |
companyName | Travelers |
location | London, United Kingdom |
via | via LinkedIn |
description | Full job description text |
jobHighlights | Qualifications, Responsibilities, Benefits (structured) |
applyLink | Links to LinkedIn, Indeed, company site, and others |
metadata.postedAt | 3 days ago |
metadata.scheduleType | Full-time |
metadata.salary | $120,000–$150,000/yr |
logo | Company logo image URL |
Sample record
{"title": "Senior Software Engineer - Python","companyName": "Travelers","location": "London, United Kingdom","via": "via Travelers Careers","description": "Taking care of our customers, our communities and each other...","jobHighlights": [{"title": "Qualifications","items": ["5+ years of Python experience","Experience with microservices architecture"]},{"title": "Benefits","items": ["Competitive salary", "Hybrid working", "Health insurance"]}],"applyLink": [{ "title": "careers.travelers.com", "link": "https://careers.travelers.com/..." },{ "title": "indeed.com", "link": "https://uk.indeed.com/..." },{ "title": "linkedin.com", "link": "https://uk.linkedin.com/..." }],"metadata": {"postedAt": "16 days ago","scheduleType": "Full-time","salary": null},"logo": "https://encrypted-tbn0.gstatic.com/images?q=..."}
Getting started
1. Set your search
| Parameter | Required | Description |
|---|---|---|
keyword | Yes | Job title or role (e.g. "Data Scientist", "Marketing Manager") |
location | Yes | City or region (e.g. "London", "New York, NY") |
maxResults | No | How many jobs to collect — between 10 and 500 (default: 50) |
hl | No | Language code for results (default: en) |
2. Run it
Click Start in the Apify console, or use the API:
{"keyword": "Software Engineer","location": "London","maxResults": 100}
3. Get your data
Results are saved to an Apify dataset the moment each batch completes. Export as JSON, CSV, or Excel — or stream directly into your app via the Apify API.
For developers
JavaScript / TypeScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('YOUR_ACTOR_ID').call({keyword: 'Software Engineer',location: 'New York, NY',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('YOUR_ACTOR_ID').call(run_input={'keyword': 'Data Scientist','location': 'London','maxResults': 100,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
Limitations
- Supported regions: Confirmed working in the US and UK. EU countries (Germany, France, etc.) are known to be unsupported due to Google's antitrust compliance changes. Other regions may vary — if a location returns no results, it is likely a Google platform restriction, not a scraper issue.
- Volume: Up to 500 jobs per run. Each page returns ~10 results.
- Rate limiting: A 1–3 second delay is applied between pages to ensure stable, uninterrupted runs.