Google Jobs Scraper — Listings, Salaries & Apply Links avatar

Google Jobs Scraper — Listings, Salaries & Apply Links

Pricing

from $5.50 / 1,000 job scrapeds

Go to Apify Store
Google Jobs Scraper — Listings, Salaries & Apply Links

Google Jobs Scraper — Listings, Salaries & Apply Links

Returns Google Jobs listings for any search term, location and country: title, company, location, via (source site), salary with min/max/period, job type, posted date, full description, highlights, benefits and apply links resolved to publisher URLs.

Pricing

from $5.50 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Scrape the job listings that Google Jobs collects from LinkedIn, Indeed, ZipRecruiter, Glassdoor, company career sites and hundreds of other boards. Enter a search term, a location and a country, and get every job with its title, company, location, the site it came from ("via LinkedIn"), salary as shown and as numbers, job type, posted date, the full job description, Google's job highlights (qualifications, benefits, responsibilities) and all apply links, resolved to the publisher's own URL.

Filters work like on Google: date posted (past day, 3 days, week, month), job type (full-time, part-time, contractor, internship) and remote. Any Google country (google.com, google.co.uk, google.de, google.co.in, ...) and interface language.

Export to JSON, CSV or Excel, or pull the jobs through the API into Google Sheets, your ATS, a job board, a BI tool or an LLM pipeline. No Google account and no browser needed.

What data does Google Jobs Scraper extract?

FieldDescription
jobIdGoogle Jobs id of the posting (stable across searches and runs)
titleJob title
companyName, companyLogoHiring company and its logo / thumbnail (when Google shows one)
locationLocation as Google shows it, e.g. "New York, NY"
viaWhere Google found the job, e.g. "LinkedIn", "Indeed", "Intuit Careers"
postedAgo, postedAtGoogle's label ("6 days ago", "19 hours ago") and the approximate date it means (UTC, ISO 8601)
scheduleType, jobTypesJob type as shown ("Full-time", "Full-time and Part-time") and as a list
salaryTextSalary as Google shows it, e.g. "$32–$67 an hour", "$130K–$180K a year"
salaryMin, salaryMax, salaryPeriod, salaryCurrencyParsed salary: numbers, hour / day / week / month / year, ISO currency
isRemoteWork-from-home / remote job
benefitsBenefit badges: "Health insurance", "Dental insurance", "Paid time off"
qualificationNoteDegree badge, e.g. "No degree mentioned"
extensionsAll badges exactly as shown on the job card
description, descriptionIsPreviewFull job description text (in EU countries Google shows only a preview; then the flag is true)
highlightsGoogle's job highlights: [{"title": "Qualifications", "items": [...]}, {"title": "Benefits", ...}, {"title": "Responsibilities", ...}]
applyOptionsEvery "Apply on ..." button: publisher, url (publisher URL), domain
applyUrlFirst apply link (usually the original posting)
urlGoogle Jobs share link that opens this job on Google
position, searchQuery, searchLocation, searchVariant, country, language, scrapedAtWhere the job appeared and which search found it

How to scrape Google Jobs

  1. Enter one or more Search terms (e.g. software engineer, registered nurse, barista) and a Location (New York, NY, London, Remote...). You can also paste Google Jobs URLs (https://www.google.com/search?q=...&udm=8).
  2. Pick the Country and Language, and optionally Date posted, Job type and Remote only.
  3. Set Max jobs to cap the run and the cost.
  4. Click Start. Jobs appear in the Output tab; download them or use the API.

Input example

{
"queries": ["registered nurse", "nurse practitioner"],
"location": "Chicago, IL",
"country": "us",
"language": "en",
"datePosted": "week",
"jobType": "any",
"remoteOnly": false,
"maxItems": 100,
"maxPagesPerQuery": 10,
"resolveApplyLinks": true
}

Output example

{
"jobId": "y9TDXmLevxEZ_wZLAAAAAA==",
"title": "UI Health - Staff Nurse I-5NW CDU",
"companyName": "UI Health",
"location": "Chicago, IL",
"via": "LinkedIn",
"postedAgo": "19 hours ago",
"postedAt": "2026-10-11T01:00:00Z",
"scheduleType": "Full-time",
"jobTypes": ["Full-time"],
"salaryText": "$32–$67 an hour",
"salaryMin": 32,
"salaryMax": 67,
"salaryPeriod": "hour",
"salaryCurrency": "USD",
"isRemote": false,
"benefits": ["Health insurance", "Paid time off", "Dental insurance"],
"extensions": ["19 hours ago", "$32–$67 an hour", "Full-time", "Health insurance", "Paid time off", "Dental insurance"],
"description": "Hiring Department: 5NW CDU-Hosp Observ Unit\n\nLocation: Chicago, IL USA\n\nRequisition ID: 1042519 ...",
"descriptionIsPreview": false,
"highlights": [
{"title": "Qualifications", "items": ["Eligibility for licensure as a Registered Professional Nurse with the Illinois Department of Financial and Professional Regulation ...", "Graduated from a Registered Nurse program"]},
{"title": "Benefits", "items": ["Work Schedule: 7am-7pm every other weekend", "..."]},
{"title": "Responsibilities", "items": ["Shift: Flex Days", "..."]}
],
"applyOptions": [
{"publisher": "LinkedIn", "url": "https://www.linkedin.com/jobs/view/ui-health-staff-nurse-i-5nw-cdu-at-ui-health-4478089416?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic", "domain": "linkedin.com"},
{"publisher": "Monster", "url": "https://www.monster.com/job-openings/ui-health-staff-nurse-i-orthopedics-chicago-il--fce83a99-...", "domain": "monster.com"}
],
"applyUrl": "https://www.linkedin.com/jobs/view/ui-health-staff-nurse-i-5nw-cdu-at-ui-health-4478089416?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic",
"companyLogo": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSOwsUnEWRCrN6l13IrkY76Cm3s45OZeVEd_8Bs&s=0",
"url": "https://www.google.com/search?ibp=htl;jobs&q=registered+nurse+Chicago,+IL&htidocid=y9TDXmLevxEZ_wZLAAAAAA%3D%3D&hl=en-US",
"position": 1,
"searchQuery": "registered nurse",
"searchLocation": "Chicago, IL",
"searchVariant": "registered nurse Chicago, IL",
"country": "us",
"language": "en",
"scrapedAt": "2026-10-11T20:33:04Z"
}

Google shows 10 jobs per search page, and its "more jobs" scrolling only works inside a real browser session. To go further, the actor runs narrower sub-searches of your search: past day, past 3 days, past week, each job type, remote, and combinations. Each one returns its own top 10, and jobs found twice are saved once. Max Google pages per search term (default 10, up to 40) caps how many sub-searches run; the actor stops earlier when sub-searches stop finding new jobs or when Google has fewer than 10 jobs for the search. In our test, 6 pages gave 47 different jobs for "software engineer" in "New York, NY" (60 found, 13 duplicates). For more, add more search terms or locations (e.g. one per city or job title). Sub-searches need English (en); in other languages each search term gives up to 10 jobs.

Monitor changes on a schedule

Turn on Only new or changed items and save the input as a task with a Schedule (Apify Console -> Schedules), for example every morning with Date posted = Past day. Each run remembers the jobs earlier runs of the same search returned and outputs only jobs it has not seen before; known jobs are not output and not charged (and their apply links are not resolved). New jobs get changeType: "new". With monitoring on, Max jobs is the number of jobs checked per run. Use Monitoring key to keep several schedules on the same search apart.

Does it work without a Google account or browser?

Yes. The actor reads the public Google Jobs results page over plain HTTP through Apify's GOOGLE_SERP proxy, which is built for Google Search pages. No login, cookies or browser are needed, which keeps runs fast and cheap.

Pricing

Pay per event, no subscription:

  • $0.0055 per job saved, with every field above (full description, highlights and resolved apply links included).

Apify also bills the GOOGLE_SERP proxy to your account as platform usage: about $0.0025 per Google page of up to 10 jobs (roughly $0.25-0.40 per 1,000 jobs), plus a little compute (about $0.05-0.10 per 1,000 jobs). 1,000 jobs cost about $5.50 + $0.30-0.50 usage. Monitoring runs only charge for new jobs.

Proxy note

Since 2025 Google answers plain requests from datacenter and residential IPs with a JavaScript wall or an "unusual traffic" page. Apify's GOOGLE_SERP proxy group returns the real results page, so the actor always uses it (whatever is set in the Proxy field). A Google page takes 3-30 seconds through it, sometimes up to 2 minutes; the actor loads up to 4 pages at a time. Apply links are resolved by reading Google's redirect only (one light request per link, the publisher's page is never opened).

Integrations and API

Use the results in Make, Zapier, n8n, Google Sheets or Airtable, or call the actor from Python / Node.js with the Apify client (see the API tab). A Schedule plus Only new or changed items gives you a daily feed of new jobs for a search term and city.

The actor reads only what Google shows publicly without login: job postings, company names, salary ranges and the links to the original postings. It does not log in and collects no job seeker data. Job descriptions belong to the employers and job boards that published them; you are responsible for how you use the data and for complying with Google's terms and applicable law (for example the GDPR or CCPA).

Support

Found a bug or need a field? Open an issue in the Issues tab; it is usually answered within a day.