Google Jobs Scraper: Salary, Remote, Internship Tags avatar

Google Jobs Scraper: Salary, Remote, Internship Tags

Pricing

$3.00 / 1,000 job results

Go to Apify Store
Google Jobs Scraper: Salary, Remote, Internship Tags

Google Jobs Scraper: Salary, Remote, Internship Tags

Scrape Google Jobs listings with clean fields: parsed salary, remote flag, internship/entry/senior tag, ISO posted date, apply links, deduped.

Pricing

$3.00 / 1,000 job results

Rating

0.0

(0)

Developer

Night Shift Data

Night Shift Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Google Jobs Scraper: clean salary, remote and internship data

Search Google Jobs (the jobs panel in Google Search) and get one tidy row per job. No raw nested blobs. Ask for 100 or 500 jobs and auto-expand finds them across nearby cities and similar titles. Salary, remote flag, job level and posted date are parsed for you, and duplicates are removed. No browser: plain HTTP, so runs are fast and cheap.

What you get

  • Core fields: title, company, location, via (the job board Google got it from), employmentType, postedText, salaryText, tags (benefits and other chips Google shows).
  • Level tag: internship, entry, mid, senior or unknown, guessed from the title, job type and description.
  • Parsed salary: salaryMin, salaryMax, salaryCurrency, salaryPeriod (hour, day, week, month, year) when the posting shows a salary.
  • Remote flag: isRemote is true when the location, title or tags say remote or work from home.
  • Posted date as ISO 8601: postedAt, calculated from Google's relative text such as "3 days ago".
  • Apply links: every board Google lists, with a direct flag, plus a primary applyUrl. These are Google redirect links (https://www.google.com/goto?url=...) that forward to the employer or board.
  • Description: full description text, a 300 character descriptionSnippet, and highlights (qualifications, responsibilities, benefits) when Google shows them.
  • Stable id and share link: jobId (Google's own id) and shareUrl.
  • No duplicates: the same job listed by several boards, or found by several searches, is returned once.
  • Which search found it: searchedQuery and searchedLocation.

How many jobs you get: auto-expand

Google shows only about 10 jobs per search, and there is no page 2 over plain HTTP. We handle this for you with auto-expand: set maxResults (default 100) and the actor keeps running close variants of your search until it has that many unique jobs.

  • Nearby locations: suburbs and neighbor cities. About 300 large US metros are bundled (Chicago also searches Naperville, Evanston, Schaumburg and so on, then the whole state). For Canada, the UK, India, Australia and Germany it adds the country's biggest cities. Elsewhere, only title variants are used.
  • Similar job titles: synonyms (registered nurse, RN, staff nurse), intern/internship, senior/sr, and a "remote" version.
  • Rings outward: your exact search first, then the closest variants, then further out.
  • Duplicates removed across all searches by Google's job id (title + company + location as a backup), so you never pay twice for the same job.
  • Stops early when it reaches maxResults, runs out of variants, or three searches in a row bring fewer than 2 new jobs.
  • Search cap: at most maxResults / 5 + 5 searches per run (100 jobs = up to 25 searches), so cost stays predictable. The log shows how many searches ran.
  • Every job has searchedQuery and searchedLocation so you can see which variant found it.

Auto-expand finds more jobs, not unlimited jobs. A small town or a rare title may run out of variants before maxResults; you only pay for the jobs you get. Set autoExpand to false to run exactly the queries and locations you entered (about 10 jobs each), and use expandBy to allow only locations or only titles.

How to use

  1. Add one or more search queries (for example registered nurse).
  2. Add one or more locations (for example Chicago, IL). If empty, the Google country is used (default: United States). Google shows no jobs for searches without a place.
  3. Set maxResults (for example 100). Leave auto-expand on.
  4. For remote jobs, put the word remote in the query (for example data analyst remote).
  5. Leave the default proxy (Apify Proxy group GOOGLE_SERP) and run.

Example input

{ "queries": ["registered nurse"], "locations": ["Chicago, IL"], "maxResults": 100, "autoExpand": true }

Example output (shortened)

{
"jobId": "t_17Wy_ye5djHz6QAAAAAA==",
"title": "AI Software Engineer Intern",
"company": "IBM",
"location": "New York, NY",
"isRemote": false,
"level": "internship",
"employmentType": "Internship",
"postedText": "4 days ago",
"postedAt": "2026-10-14T12:00:00.000Z",
"salaryMin": 75600,
"salaryMax": 166320,
"salaryCurrency": null,
"salaryPeriod": "year",
"salaryText": "75,600–166,320 a year",
"via": "LinkedIn",
"tags": ["Health insurance"],
"applyUrl": "https://www.google.com/goto?url=...",
"applyLinks": [{ "source": "LinkedIn", "direct": false, "url": "https://www.google.com/goto?url=..." }],
"searchedQuery": "software developer intern",
"searchedLocation": "Jersey City, NJ",
"searchQuery": "software engineer intern",
"searchLocation": "New York, NY"
}

Pricing

Launch pricing (pay per event): $3.00 per 1,000 jobs ($0.003 per unique job returned), plus Apify's standard tiny run-start fee. You pay only for jobs saved to the dataset: duplicates, blocked searches and empty searches are not charged. Example: a 100-job run costs about $0.30. Proxy and compute are included in that price.

Notes

  • Google Jobs is not available in every country; those searches return nothing.
  • The query filters (date posted, job type) are not exposed: Google ignored them in our tests on this route.
  • salaryCurrency is only filled when the posting shows a currency symbol or code.
  • Relative dates like "3 days ago" are converted to an approximate timestamp.
  • Salary, description and highlights are only present when the posting publishes them.
  • Only publicly visible job posting data is collected.