Google Jobs Scraper - Listings, Salary, Employer & Apply Links
Pricing
from $2.40 / 1,000 job results
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
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
3
Monthly active users
9 days ago
Last modified
Categories
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
| Field | Description | How often it is filled |
|---|---|---|
title | Job title | Always |
employer_name | Hiring company | Always |
location | City / region, or Anywhere for remote roles | Always |
source_name | Where the listing is published, e.g. via Indeed, via Xcel Energy Careers | Always |
source_url | Link to the listing / apply page | Always |
contract_type | Employment type as Google shows it, e.g. Full-time, Part-time, Contractor, Internship, Full-time and Contractor | Almost always |
posted | Relative posting age, e.g. 1 day ago | When Google shows it (about half to most listings) |
posted_at | Approximate posting date (YYYY-MM-DD), derived from posted at scrape time | Same as posted |
salary | Salary exactly as displayed, e.g. $85K–$125K a year | When the listing shows pay (roughly 25–50% of listings) |
salary_min, salary_max | Parsed numbers (85K becomes 85000) | With salary |
salary_currency | USD, GBP, EUR, INR or JPY, from the symbol or code | With salary |
salary_period | hour, day, week, month or year | With salary |
job_id | Google's job identifier — use it to deduplicate across runs | Always |
rank | Position in the Google Jobs results | Always |
query | The search that returned the job | Always |
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
- Enter one or more job search queries — a role plus a location works best (
registered nurse london). - Pick the country and how many results per query to fetch.
- Optionally set Date posted, Employment type or Remote only.
- 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
| Field | Type | Default | Description |
|---|---|---|---|
queries | array of strings | — (required) | Job searches, 1–100 per run. |
resultsDepth | integer | 20 | Listings to fetch per query, 10–100. |
locationCode | string | "2840" | Country: 2840 US, 2826 UK, 2124 Canada, 2036 Australia, 2356 India, 2276 Germany, 2250 France, 2724 Spain, 2380 Italy, 2392 Japan. |
languageCode | string | "en" | Language of the results. Salary, posting date and employment type are parsed from English results. |
datePosted | string | "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. |
employmentType | array | all types | Any of FULLTIME, PARTTIME, CONTRACTOR, INTERN. Keeps only jobs whose listing shows one of the selected types. |
workFromHome | boolean | false | Remote 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.
| Event | Price (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:
| Run | Jobs returned | Cost |
|---|---|---|
| 1 query, 30 results, no filters | 30 | $0.091 |
| 5 queries × 20 results | 100 | $0.301 |
| 1 query, 20 fetched, Past week + Full-time + Remote only | 6 | $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.