Google Jobs Scraper avatar

Google Jobs Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Google Jobs Scraper

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

CRW

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

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:

FieldExample
titleSenior Software Engineer
companyNameTravelers
locationLondon, United Kingdom
viavia LinkedIn
descriptionFull job description text
jobHighlightsQualifications, Responsibilities, Benefits (structured)
applyLinkLinks to LinkedIn, Indeed, company site, and others
metadata.postedAt3 days ago
metadata.scheduleTypeFull-time
metadata.salary$120,000–$150,000/yr
logoCompany 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

ParameterRequiredDescription
keywordYesJob title or role (e.g. "Data Scientist", "Marketing Manager")
locationYesCity or region (e.g. "London", "New York, NY")
maxResultsNoHow many jobs to collect — between 10 and 500 (default: 50)
hlNoLanguage 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 ApifyClient
client = 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.