Google Jobs Scraper - Listings, Salary, Employer & Apply Links avatar

Google Jobs Scraper - Listings, Salary, Employer & Apply Links

Pricing

from $2.40 / 1,000 job results

Go to Apify Store
Google Jobs Scraper - Listings, Salary, Employer & Apply Links

Google Jobs Scraper - Listings, Salary, Employer & Apply Links

Scrape Google Jobs at scale: job title, employer, location, salary, contract type, posting date & source/apply links. Any role or city in 10 countries (US, UK, CA, AU, IN, DE, FR, ES, IT, JP). Clean JSON/CSV for job boards, recruiters & market research. No API keys.

Pricing

from $2.40 / 1,000 job results

Rating

0.0

(0)

Developer

Santhej Kallada

Santhej Kallada

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

3

Monthly active users

9 days ago

Last modified

Share

Google Jobs Scraper — Listings, Salary, Employer & Apply Links

Pull job listings from Google Jobs for any role and city — title, employer, location, salary with parsed min/max, employment type, posting date and the apply link — as clean structured data for job boards, recruiters and labor-market research.

Google Jobs aggregates listings from Indeed, LinkedIn, company career pages and hundreds of niche boards into one feed. This Actor turns a search into a downloadable, API-ready dataset — no proxies, no captchas, no browser to maintain.


What does Google Jobs Scraper do?

You enter job searches such as registered nurse london or data analyst; the Actor runs each one on Google Jobs in the country you choose and returns one row per listing. Salary text is parsed into numbers, currency and pay period, the relative posting age ("3 days ago") is converted into an approximate date, and optional filters narrow results to recent postings, specific employment types or remote roles.

What you get per job

FieldDescriptionHow often it is filled
titleJob titleAlways
employer_nameHiring companyAlways
locationCity / region, or Anywhere for remote rolesAlways
source_nameWhere the listing is published, e.g. via Indeed, via Xcel Energy CareersAlways
source_urlLink to the listing / apply pageAlways
contract_typeEmployment type as Google shows it, e.g. Full-time, Part-time, Contractor, Internship, Full-time and ContractorAlmost always
postedRelative posting age, e.g. 1 day agoWhen Google shows it (about half to most listings)
posted_atApproximate posting date (YYYY-MM-DD), derived from posted at scrape timeSame as posted
salarySalary exactly as displayed, e.g. $85K–$125K a yearWhen the listing shows pay (roughly 25–50% of listings)
salary_min, salary_maxParsed numbers (85K becomes 85000)With salary
salary_currencyUSD, GBP, EUR, INR or JPY, from the symbol or codeWith salary
salary_periodhour, day, week, month or yearWith salary
job_idGoogle's job identifier — use it to deduplicate across runsAlways
rankPosition in the Google Jobs resultsAlways
queryThe search that returned the jobAlways

employer_url and employer_image_url are kept in the schema for compatibility but are usually empty, because Google Jobs no longer exposes them in search results. Posting date, salary and employment type are read from Google's English labels, so they are filled for languageCode: "en".

A run summary (queries and job counts) is saved to the key-value store as OUTPUT.

Use cases

  • Job boards and aggregators — fill a niche board with fresh listings and apply links.
  • Recruiting and staffing — monitor who is hiring for the roles you place, by city.
  • Salary benchmarking — compare advertised pay ranges by role and region.
  • Sales prospecting — companies that are hiring have budget and growth; use hiring as a buying signal.
  • Labor-market research — track demand for a skill over time.
  • AI agents — structured job data for n8n, Make, Zapier or MCP workflows.

How to use Google Jobs Scraper

  1. Enter one or more job search queries — a role plus a location works best (registered nurse london).
  2. Pick the country and how many results per query to fetch.
  3. Optionally set Date posted, Employment type or Remote only.
  4. Click Start, then download the dataset as JSON, CSV or Excel, or read it through the Apify API.

Example input

{
"queries": ["registered nurse london"],
"resultsDepth": 30,
"locationCode": "2826",
"languageCode": "en",
"datePosted": "all",
"employmentType": ["FULLTIME"],
"workFromHome": false
}

Input configuration

FieldTypeDefaultDescription
queriesarray of strings— (required)Job searches, 1–100 per run.
resultsDepthinteger20Listings to fetch per query, 10–100.
locationCodestring"2840"Country: 2840 US, 2826 UK, 2124 Canada, 2036 Australia, 2356 India, 2276 Germany, 2250 France, 2724 Spain, 2380 Italy, 2392 Japan.
languageCodestring"en"Language of the results. Salary, posting date and employment type are parsed from English results.
datePostedstring"all"all, today, 3days, week or month. Keeps only jobs whose posting age falls in the window; jobs that show no posting date are left out while a window is set.
employmentTypearrayall typesAny of FULLTIME, PARTTIME, CONTRACTOR, INTERN. Keeps only jobs whose listing shows one of the selected types.
workFromHomebooleanfalseRemote only: adds remote to each search so Google Jobs returns work-from-home listings.

The Date posted and Employment type filters are applied after the listings are fetched, so a filtered query can return fewer rows than resultsDepth. Removed listings are never charged, and the log says how many were removed.

Example output

A real row from a data analyst search with Remote only, Past week and Full-time selected:

{
"query": "data analyst",
"title": "HR Data Analyst - Remote",
"employer_name": "Jobsultant Solutions",
"employer_url": null,
"employer_image_url": null,
"location": "Anywhere",
"salary": "$85K–$125K a year",
"salary_min": 85000,
"salary_max": 125000,
"salary_currency": "USD",
"salary_period": "year",
"contract_type": "Full-time",
"source_name": "via Learn4Good",
"source_url": "https://www.learn4good.com/jobs/online_remote/info_technology/5485989272/e/",
"posted": "1 day ago",
"posted_at": "2026-09-22",
"job_id": "tlPNwZ8O9Ukbga3eAAAAAA==",
"rank": 11
}

How much does it cost to scrape Google Jobs?

Pay per event — no monthly fee, no minimum. You pay for the listings you receive.

EventPrice (Free & Bronze plans)
Actor start$0.001 per run
Job listing returned$0.003 per job ($3 per 1,000)

Apify Silver plans get 10% off and Gold plans 20% off these prices.

Worked examples:

RunJobs returnedCost
1 query, 30 results, no filters30$0.091
5 queries × 20 results100$0.301
1 query, 20 fetched, Past week + Full-time + Remote only6$0.019

FAQ

Where do the jobs come from? From Google Jobs, which aggregates Indeed, LinkedIn, company career sites and many niche boards. source_name tells you which one each listing came from.

Is salary always available? No — only when the listing shows pay. In test runs 27–52% of listings carried a salary; the rest have salary: null.

How accurate is posted_at? It is calculated from Google's relative age ("3 days ago") at the moment of the run, so it is accurate to the day, not the minute.

Why did I get fewer jobs than resultsDepth? Either Google had fewer listings for the query, or your Date posted / Employment type filters removed some. Removed listings are not charged.

Which countries are supported? The ten countries in the input list above.

Can I use this with an AI agent? Yes — the output is flat JSON, ready for MCP servers, n8n, Make and custom LLM agents.


Tags: google jobs scraper, jobs scraper, job listings api, indeed alternative, linkedin jobs, job board data, salary data, recruiting, hiring leads, labor market, jobs api, remote jobs.