Google Jobs Scraper avatar

Google Jobs Scraper

Pricing

$3.00 / 1,000 job results

Go to Apify Store
Google Jobs Scraper

Google Jobs Scraper

Scrape job listings from Google Jobs: title, company, location, source board, posting date, employment type, parsed salary, remote flag, full description, highlights and direct apply links, for any query, country and language.

Pricing

$3.00 / 1,000 job results

Rating

0.0

(0)

Developer

Atalaia

Atalaia

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

What does Google Jobs Scraper do?

Google Jobs Scraper extracts job listings from Google Jobs, the job search built into Google Search. Google aggregates postings from LinkedIn, Indeed, Glassdoor, company career pages and hundreds of other job boards, so a single query covers many sources at once.

For each job you get the title, company, location, source board ("via"), posting date, employment type, salary (raw text plus parsed min/max/currency/period), remote flag, full description, job highlights (qualifications, responsibilities, benefits) and direct apply links for every board that lists the job.

Enter your search queries, pick a country and language, click Start, and download the data as JSON, CSV, Excel or HTML, or fetch it through the Apify API. Because it runs on the Apify platform, you can schedule it, call it from your own code, connect it to Make, Zapier or Google Sheets, and monitor every run.

Why use Google Jobs Scraper?

  • Job market research. Measure demand for roles, skills and locations, and track how it changes over time.
  • Salary benchmarking. Collect posted salary ranges, already parsed into numbers, currency and pay period.
  • Job boards & aggregators. Feed your own job board or newsletter with fresh listings and their original apply links.
  • Recruiting & sales intelligence. See which companies are hiring for what, and where (company data only, no personal data).

No browser is involved: the Actor fetches Google's results pages and parses them directly, which keeps it fast and inexpensive.

How to scrape Google Jobs

  1. Open the Actor and go to the Input tab.
  2. Add one or more search queries, for example software engineer, registered nurse or enfermeiro.
  3. Optionally add a location (Berlin, São Paulo, Remote...), then set the country, language and date posted filter.
  4. Choose how many jobs you want per query.
  5. Click Start. When the run finishes, open the Output tab or export the dataset.

Input

All fields except queries are optional.

FieldTypeDefaultDescription
queriesstring[](required)Job searches, exactly as you would type them on Google. One search per query.
locationstringnoneCity, region or Remote, appended to every query.
countrystringusGoogle market (gl), e.g. us, br, de, in, gb.
languagestringenInterface language (hl), e.g. en, pt-BR, de. Labels such as "3 days ago" or "Full-time" come in this language.
datePostedenumanyany, today, 3days, week or month.
maxResultsPerQueryinteger50Maximum jobs per query (1 to 300).
proxyConfigurationobjectApify Proxy, GOOGLE_SERPGoogle only serves real results to the GOOGLE_SERP proxy group. Keep the default.

Example input:

{
"queries": ["software engineer", "data analyst"],
"location": "Berlin",
"country": "de",
"language": "en",
"datePosted": "week",
"maxResultsPerQuery": 100
}

Output

One item per job. Example (description shortened):

{
"query": "software engineer",
"searchLocation": null,
"rank": 3,
"title": "Software Engineer I",
"company": "Example Tech Solutions",
"location": "United States",
"via": "LinkedIn",
"postedAt": { "raw": "12 hours ago", "iso": "2026-09-28T17:37:07.951Z" },
"employmentType": "Contractor",
"salary": { "raw": "50–80 an hour", "min": 50, "max": 80, "currency": "USD", "period": "hour" },
"isRemote": true,
"description": "1 Year Contract\nRemote Role\n\nSummary:\n• ...",
"descriptionIsPreview": false,
"highlights": [
{ "title": "Qualifications", "items": ["3+ years of Python", "Experience with deep learning codebases"] },
{ "title": "Responsibilities", "items": ["Work with research teams on training infrastructure"] }
],
"applyLinks": [
{ "source": "LinkedIn", "url": "https://www.linkedin.com/jobs/view/..." },
{ "source": "BeBee", "url": "https://bebee.com/us/jobs/..." }
],
"jobId": "jTCjYq3ePxHPx-HGAAAAAA==",
"googleJobUrl": "https://www.google.com/search?ibp=htl;jobs&q=software+engineer&htidocid=jTCjYq3ePxHPx-HGAAAAAA%3D%3D&hl=en-US",
"companyLogo": "https://encrypted-tbn0.gstatic.com/images?q=tbn:...",
"country": "us",
"language": "en",
"scrapedAt": "2026-09-29T05:37:07.951Z"
}

Data fields

FieldDescription
title, company, locationThe job and the hiring company as shown by Google
viaThe job board or site Google took the listing from (LinkedIn, Indeed, company careers site...)
postedAt.raw, postedAt.isoPosting age as shown ("3 days ago", "vor 5 Tagen") and the derived ISO date (date-time for hours/minutes), relative to scrapedAt
employmentTypeFull-time, Part-time, Contractor, Internship... (in the chosen language)
salaryraw text plus parsed min, max, currency (ISO code) and period (hour, day, week, month, year); null when Google shows no salary
isRemotetrue when Google marks the job as "Work from home" or the location/title says remote/anywhere
description, descriptionIsPreviewFull job description with line breaks. In EU markets Google only shows a short preview; then descriptionIsPreview is true
highlights[]Google's job highlights: { title, items[] }, e.g. Qualifications, Responsibilities, Benefits
applyLinks[]{ source, url } for every place you can apply, with the direct URL (not a Google redirect)
jobId, googleJobUrl, companyLogoGoogle Jobs document id, a link that opens the job on Google, company logo thumbnail
query, searchLocation, rank, country, language, scrapedAtSearch context

Queries that return no jobs produce one item with query and an error message. Those items are free.

How much does it cost to scrape Google Jobs?

This Actor uses pay-per-event pricing. You only pay for jobs you get:

EventPriceWhen
job$0.003per job returned ($3 per 1,000 jobs)

Platform usage is included in the price. Queries that return nothing are never charged, and the run stops cleanly when it reaches your maximum cost per run.

How does it get more than 10 jobs per query?

Google shows 10 jobs per results page and loads the rest through a browser session. Instead of a browser, the Actor walks Google's own filters for your query: job type (full-time, part-time, contract, internship), date posted, remote and no degree, plus their combinations, and removes duplicates by job id. Broad queries usually reach 100 to 300 unique jobs; very narrow ones stop when Google has nothing new. Results are in Google's relevance order within each filter, so rank is the order in which the Actor found the job.

Tips

  • Use maxResultsPerQuery to cap cost and run time.
  • Put the city in location (or in the query) to get local jobs; country alone sets the Google market.
  • Use datePosted: "today" in a daily schedule to collect only new postings.
  • In EU markets (e.g. country: "de" or "fr") Google shows only a short description preview and no highlights. If you need full descriptions for a European city, try country: "us" with location: "Berlin": the jobs are the same local postings, shown with their full text.

Limitations

  • Results are what Google shows to an anonymous visitor in the chosen market; they can differ from your personalized view.
  • Salary, highlights and employment type are only present when Google provides them for that listing.
  • Posting dates are relative ("3 days ago"), so postedAt.iso is approximate (±1 day; "30+ days ago" becomes 30 days).
  • Descriptions are scrubbed of email addresses and phone numbers. The Actor returns job and company data only.

FAQ

Is it legal to scrape Google Jobs? The Actor only collects publicly visible job listings and company information. It removes contact details from descriptions, doesn't collect personal data and doesn't log in. You're responsible for how you use the data: check the terms of the sites involved and the laws that apply to you.

Something is broken or missing? Please open an issue in the Issues tab with the input you used. We fix problems quickly.