Google Jobs Scaper
Pricing
from $3.00 / 1,000 results
Google Jobs Scaper
Search Google Jobs by job title, keyword, and location. This actor returns structured job listings with titles, companies, locations, salaries, descriptions, job types, apply links, and stable job IDs.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ToolsAPI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Jobs API & Job Scraper
Extract Google Jobs search results using a job query and location. This Apify Actor is designed as a reusable jobs-data API that returns clean, structured JSON for recruiting tools, job boards, lead generation workflows, hiring research, labor market analysis, and automation pipelines.
Google Jobs is powerful because it brings together job listings from many different job platforms, company career pages, staffing sites, and job boards into one search experience. Instead of checking each hiring platform one by one, this actor helps you collect Google Jobs results in a structured dataset that can be used in your own apps, dashboards, spreadsheets, and workflows.
This actor helps you collect job titles, company names, locations, salaries when available, posting age, job descriptions, job types, apply links, source URLs, work mode, and stable job IDs in a structured Apify dataset.
π What does this actor do?
This Google Jobs scraper automates job search data collection and delivers normalized job records including:
- Cross-Platform Job Discovery: Google Jobs surfaces listings from many job boards, employer career pages, staffing sites, and hiring platforms in one place
- Job Details: Job title, company, location, and description
- Compensation Data: Salary or pay range when shown in Google Jobs results
- Posting Data: Posted date or relative posting age when available
- Job Type: Full-time, part-time, contract, internship, remote, hybrid, or on-site indicators when available
- Work Mode: Remote, hybrid, or on-site when detected
- Apply Links: Application URLs and source names when available
- Stable IDs: A generated
jobIdfor deduplication and integrations - CSV and JSON Export: Saves structured results to the Apify dataset and key-value store
- API Access: Use Apify API endpoints to call the actor from other apps
- Debug Output: Saves debug files when Google blocks or returns no extractable results
π‘ Use Cases
- Recruiting Research: Find active job postings by role and location
- Job Board Enrichment: Pull job listings into your own platform or database
- Lead Generation: Discover companies hiring for specific roles
- Market Research: Track demand for skills, titles, and roles across regions
- Salary Research: Compare visible pay ranges across jobs and markets
- Hiring Intelligence: Monitor competitor hiring activity
- Cross-Platform Job Search: Use Google Jobs as a discovery layer across many job boards and employer websites
- Automation Workflows: Send job data to Google Sheets, Airtable, CRMs, dashboards, or internal tools
- API Products: Use Apify as the hosted backend for a jobs-data API
π Input Configuration
Required Fields
- Query: The job title, keyword, skill, or search phrase to search for, such as
software engineer,business analyst,warehouse associate, orsales manager - Location: The city, region, state, province, or country to search in, such as
Toronto Canada,Austin TX,London UK, orNew York NY
Optional Fields
- Max Pages: Maximum number of Google Jobs result pages to process
- Language: Google interface language, such as
en - Country: Google country code, such as
ca,us,gb, orau - Proxy Option: Residential proxy, auto/default Apify proxy, or no proxy
- Retries per Page: Number of retry attempts if Google blocks a page
- Request Delay: Delay between page loads to reduce blocking risk
- Include Raw Data: Include raw extracted data for debugging
- Save Debug Files: Save screenshots, HTML, and debug JSON when blocked or no results are found
π₯ Example Input
{"query": "business analyst","location": "Toronto Canada","maxPages": 1,"country": "ca","language": "en","proxyGroup": "residential","maxRetriesPerPage": 3,"requestDelayMs": 12000,"saveDebugFiles": true}
π€ Output Data
The actor returns structured records with the following fields:
| Field | Description |
|---|---|
title | Job title |
company | Company or employer name |
location | Job location shown in the result |
salary | Salary, hourly rate, or pay range when available |
postedAt | Posting age, such as 3 days ago, when available |
description | Job description or visible job text |
jobType | Job type or work arrangement when available |
workMode | Remote, hybrid, or on-site when detected |
applyLinks | List of application links with source names and URLs |
sourceUrl | First visible source URL when available |
jobId | Stable generated job identifier |
searchQuery | Original query used for the run |
searchLocation | Original location used for the run |
country | Google country code used |
language | Google language used |
scrapedAt | Timestamp when the result was collected |
π¦ Example Output
{"title": "Business Analyst","company": "Example Company","location": "Toronto, ON","salary": "$75K - $95K a year","postedAt": "3 days ago","description": "We are looking for a Business Analyst to join our team...","jobType": "Full-time","workMode": "Hybrid","applyLinks": [{"source": "Company website","url": "https://example.com/jobs/123"}],"sourceUrl": "https://example.com/jobs/123","jobId": "google_jobs_abc123","searchQuery": "business analyst","searchLocation": "Toronto Canada","country": "ca","language": "en","scrapedAt": "2026-06-03T14:00:00.000Z"}
π API Usage
After deploying this Actor to Apify, other apps can call it through the Apify API.
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~google-jobs-api/run-sync-get-dataset-items?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"query": "business analyst","location": "Toronto Canada","maxPages": 1,"country": "ca","language": "en","proxyGroup": "residential","requestDelayMs": 12000}'
The response is a JSON array of normalized job listings.
π Downloading Results
Results are saved to the default Apify dataset.
From Apify Console, you can export the dataset as:
- JSON
- CSV
- Excel
- XML
- HTML
- RSS
When results are found, the actor also saves these files to the key-value store:
jobs.csvjobs.jsonOUTPUT
If Google blocks the run or no jobs are extracted, debug files may be saved:
debug-*.htmldebug-*.pngdebug-*.json
β οΈ Proxy and Blocking Notice
Google may block automated traffic, especially from datacenter, free, shared, or heavily used proxy IPs. If Google returns a reCAPTCHA or unusual traffic page, the actor will return a clear blocked status and save debug files instead of returning incorrect data.
For best results, use:
- Low
maxPages, starting with1 - Slow request delays, such as
12000milliseconds or higher maxConcurrencyset to1- Residential proxies if available on your Apify plan
- Fewer repeated searches in a short period of time
Free/default proxy access may not be enough for Google Jobs. Residential proxies may improve reliability, but they do not guarantee success. Google controls access to its pages and may still block automated requests.
π§ͺ Run Statuses
The actor saves a run summary to the key-value store as OUTPUT.
Possible statuses:
| Status | Meaning |
|---|---|
succeeded | Jobs were found and saved |
blocked | Google returned a reCAPTCHA or unusual traffic page |
no_results | The page loaded, but no jobs were extracted |
Example blocked output:
{"query": "business analyst","location": "Toronto Canada","maxPages": 1,"country": "ca","language": "en","proxyGroup": "residential","totalSaved": 0,"status": "blocked","reason": "Google returned a reCAPTCHA or unusual traffic page after retries.","blockedAttempts": 4,"datasetItems": 0,"csvFile": null,"jsonFile": null,"debugFilesPattern": "debug-*.html, debug-*.png, debug-*.json"}
π Popular Searches
- Business analyst
- Software engineer
- Data analyst
- Product manager
- Warehouse associate
- Sales representative
- Customer service representative
- Registered nurse
- Delivery driver
- Project manager
- Marketing manager
- Accountant
- Electrician
- Plumber
- Administrative assistant
- Remote customer support
β Best Practices
Use specific job queries instead of overly broad searches.
Good examples:
business analyst financesoftware engineer reactregistered nurse night shiftwarehouse associate forkliftsales development representative remoteproject manager construction
Avoid vague searches like:
jobworkhiringanything remotebest jobs
For better results, include the role, seniority, skill, industry, or work mode in the query and use a clear location.
βοΈ Recommended Settings
For testing, start with:
{"query": "business analyst","location": "Toronto Canada","maxPages": 1,"country": "ca","language": "en","proxyGroup": "residential","maxRetriesPerPage": 3,"requestDelayMs": 12000}
For larger searches, use:
{"query": "business analyst finance","location": "Canada","maxPages": 2,"country": "ca","language": "en","proxyGroup": "residential","maxRetriesPerPage": 3,"requestDelayMs": 15000}
Avoid running very broad searches with high page limits. Specific queries usually return cleaner and more useful data.
β FAQ
What can I use this actor for?
You can use it for recruiting research, job board enrichment, hiring intelligence, salary research, company lead generation, and automated jobs-data workflows.
Why use Google Jobs instead of scraping only one job board?
Google Jobs is useful because it can surface job listings from many different sources, including job boards, company career pages, staffing sites, and hiring platforms. This gives you a broader view of available jobs without needing to check each platform separately.
Does this actor work on the Apify Free plan?
The actor can run on the Apify Free plan, but Google may block free/default proxy traffic. For Google Jobs, residential proxies are recommended when available. Even with residential proxies, successful extraction is not guaranteed because Google may still return a reCAPTCHA or unusual traffic page.
Do paid Apify users get guaranteed results?
No. Paid users with residential proxy access are more likely to get results than free/default proxy users, but Google may still block automated requests. The actor includes session handling, retries, block detection, and debug files, but it does not guarantee Google will serve job results every time.
What should I do if the run is blocked?
Try:
- Lowering
maxPagesto1 - Increasing
requestDelayMs - Using residential proxies if available
- Running fewer searches back-to-back
- Trying again later
- Checking the saved debug files
Does it return apply links?
Yes, when apply links are visible and extractable from the loaded results. Some listings may not expose complete apply links directly.
Can I call it as an API?
Yes. Once deployed on Apify, you can call it through Apify API endpoints and receive JSON results from the default dataset.
Can I export the results?
Yes. Results are saved to the Apify dataset, which can be downloaded as JSON, CSV, Excel, XML, RSS, or HTML from Apify. The actor also saves jobs.csv and jobs.json to the key-value store when results are found.
Why did I get zero results?
There are three common reasons:
- Google returned a reCAPTCHA or unusual traffic page.
- Google returned a page layout the actor could not extract yet.
- There were no visible job listings for the query and location.
Check OUTPUT and the debug files to see what happened.
π§βπ» Developer Notes
This actor is designed to work as both an Apify Console tool and an API backend.
It uses:
- PlaywrightCrawler
- Apify Proxy configuration
- Crawlee SessionPool
- Cookie persistence per session
- Block detection
- Session retirement on block
- Retry handling
- Dataset output
- CSV and JSON key-value store output
- Debug HTML, screenshot, and JSON files
The default dataset is the main API output. Use Apifyβs run-sync-get-dataset-items endpoint when you want another app to call the actor and receive job listings directly as JSON.
Common integration targets include:
- Google Sheets
- Airtable
- Zapier
- Make
- CRMs
- job boards
- recruiting dashboards
- internal lead generation tools
- custom backend services
π οΈ Need a Custom Scraper?
Need different fields, another job board, or a custom Apify Actor for your workflow?
I build custom scraping and automation tools for job data, ecommerce research, supplier discovery, lead generation, price monitoring, and marketplace data extraction.
Contact: jcustombussiness@gmail.com
Please include:
- Website URL
- Data fields you need
- Example search or listing pages
- Desired output format, such as CSV, JSON, Excel, or API
- How often you want the scraper to run
Custom scraper availability depends on website access, data availability, and technical feasibility.
π Summary
Google Jobs API & Job Scraper turns a job query and location into structured job listings that can be used in apps, dashboards, spreadsheets, recruiting workflows, and data products.
The main advantage of Google Jobs is that it brings together job listings from many platforms, job boards, staffing sites, and employer career pages. This actor helps you access that broad job discovery layer through a clean Apify-powered API.
Use it to search jobs faster, collect hiring data, monitor markets, discover companies that are hiring, and connect Google Jobs results to your own tools through Apify.
Disclaimer
Use this actor responsibly and in compliance with Googleβs terms of service and all applicable laws. Google may block automated access, and successful extraction is not guaranteed.