Google Jobs Scraper
Pricing
from $0.42 / 1,000 google jobs listing saveds
Google Jobs Scraper
Extract public Google Jobs listings by query and location. Export titles, companies, locations, source sites, dates, snippets, salaries, and apply links.
Pricing
from $0.42 / 1,000 google jobs listing saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Find public job listings from Google Jobs by keyword and location, then export clean rows to Apify datasets, CSV, JSON, Excel, Google Sheets, or your own API workflow.
What does Google Jobs Scraper do?
Google Jobs Scraper searches the public Google Jobs experience for the job phrases and locations you provide. It returns structured job listing records with the title, company, location, source, posted date, salary text when visible, employment type, description snippet, and application links.
Use it when you need repeatable job-market data without manually opening Google, copying cards, and cleaning spreadsheets.
Who is it for?
- π§βπΌ Recruiters tracking hiring demand across cities or job families.
- π Labor-market analysts monitoring public job-posting trends.
- π§² Sales teams building account lists from companies that are actively hiring.
- π° Job-board operators checking what roles are visible for target searches.
- π§ͺ Researchers collecting public job snippets for market studies.
Why use this actor?
Google Jobs is a useful discovery layer because it aggregates public job listings from many sites. This actor helps you turn that search surface into structured data with consistent field names.
What data can I extract?
| Field | Description |
|---|---|
query | Search phrase that produced the listing |
title | Job title |
company | Employer name when visible |
location | Job location or remote/hybrid text |
source | Publisher shown by Google Jobs |
postedAt | Visible posted-date or freshness label |
descriptionSnippet | Public snippet from the job card/detail panel |
salary | Salary text when Google displays it |
employmentType | Full-time, part-time, contract, internship, or similar label |
jobUrl | First normalized job/application URL |
applyLinks | All visible application links collected from the listing |
scrapedAt | Timestamp when the row was saved |
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Price |
|---|---|---|
start | One-time fee charged when a run starts. Covers fixed startup cost. | $0.005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
item | Charged per Google Jobs listing saved to the dataset. | $0.28209 / 1,000 | $0.2453 / 1,000 | $0.19133 / 1,000 | $0.14718 / 1,000 | $0.09812 / 1,000 | $0.06868 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
Quick start
- Add one or more job search queries.
- Enter a location such as
New York, NY,London, orRemote. - Set a small
maxItemsvalue for your first test. - Run the actor.
- Open the dataset and export the results.
Input example
{"queries": ["software engineer", "data analyst"],"location": "New York, NY","country": "US","language": "en","maxItems": 20,"datePosted": "any","employmentType": "any","useProxy": true,"proxyGroups": ["RESIDENTIAL"]}
Input fields
| JSON key | Label | Description |
|---|---|---|
queries | Job search queries | One or more job phrases to search. |
location | Location | City, region, country, or remote-work phrase appended to each query. |
country | Country / Google market | Two-letter country code for Google market and proxy geotargeting. |
language | Language | Language code for visible labels. |
maxItems | Maximum jobs | Maximum number of listings to save across all queries. |
datePosted | Date posted | Optional visible Google Jobs date filter. |
employmentType | Employment type | Optional visible Google Jobs employment-type filter. |
useProxy | Use Apify Proxy | Keep enabled for the most reliable Google access. |
proxyGroups | Proxy groups | Proxy groups to use; RESIDENTIAL is the default. |
Job search queries
Add the job phrases you want to search. Examples:
software engineerregistered nursewarehouse managerproduct marketing manager
Location
Use the same style you would type into Google Jobs. Examples:
Austin, TXBerlin, GermanyRemoteUnited Kingdom
Country and language
Country controls the Google market and proxy geotargeting. Language controls visible labels where Google supports it.
Maximum jobs
Use a low number for testing. Increase it once your query returns the expected kind of listings.
Optional filters
The actor can attempt visible Google Jobs filters for date posted and employment type. Availability may vary by country, language, and Google layout.
Output example
{"query": "software engineer","title": "Software Engineer","company": "Example Company","location": "New York, NY","source": "LinkedIn","postedAt": "3 days ago","descriptionSnippet": "Build and maintain production services...","salary": "$120Kβ$160K a year","employmentType": "Full-time","jobUrl": "https://example.com/jobs/123","applyLinks": [{ "label": "Apply on LinkedIn", "url": "https://example.com/jobs/123" }],"scrapedAt": "2026-06-29T08:00:00.000Z"}
Tips for better results
- π― Use specific job titles instead of very broad terms.
- πΊοΈ Include a clear location for local hiring searches.
- π Run multiple focused queries instead of one huge vague query.
- π§ͺ Start with
maxItems10β20 before scaling. - π Keep proxy enabled for the most reliable Google access.
Common use cases
Recruiting market maps
Track how many public jobs appear for target roles across several cities.
Sales prospecting
Find companies hiring for technologies or departments that match your product.
Job board monitoring
Compare job visibility for your niche across Google Jobs searches.
Labor-market research
Collect snapshots of public listing text for recurring demand analysis.
Integrations
You can connect the dataset to:
- Google Sheets for lightweight monitoring.
- Make or Zapier for alerts when new listings appear.
- A CRM enrichment workflow for hiring-signal prospecting.
- A data warehouse for longer-term job-market trend analysis.
- Apify webhooks for post-run automation.
API usage
The examples below show Node.js, Python, and cURL ways to run the actor.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/google-jobs-scraper').call({queries: ['software engineer'],location: 'New York, NY',maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/google-jobs-scraper').call(run_input={'queries': ['software engineer'],'location': 'New York, NY','maxItems': 20,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-jobs-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"queries":["software engineer"],"location":"New York, NY","maxItems":20}'
MCP usage
Use the Apify MCP server to run this actor from Claude Code, Claude Desktop, or another MCP-compatible agent.
MCP URL pattern:
https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper
Add it in Claude Code:
$claude mcp add apify-google-jobs "https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper"
Claude Desktop JSON config example:
{"mcpServers": {"apify-google-jobs": {"url": "https://mcp.apify.com/?tools=fetch_cat/google-jobs-scraper"}}}
Example prompts:
- βRun Google Jobs Scraper for data analyst jobs in Chicago and summarize the companies.β
- βFind 20 remote product manager roles and export the dataset fields.β
- βCompare software engineer listings in Austin and Denver.β
Scheduling
Schedule recurring runs to monitor the same query weekly or daily. Keep maxItems aligned with how many rows you need for each snapshot.
Data freshness
Google Jobs results change frequently. Each run captures the public results visible during that run. Use scrapedAt to separate snapshots.
Limits and caveats
Google may vary the visible layout by country, language, query, and traffic conditions. Some listings may not show salary, employment type, or direct application links. Fields that are not visible are returned as null or an empty list.
Proxy guidance
Google can rate-limit automated access. The actor supports Apify Proxy and defaults to a reliable proxy setup. For small tests, keep the prefilled settings. For larger production runs, use conservative limits and schedule runs instead of sending very large batches at once.
FAQ
Can I use this actor as a Google Jobs API?
Yes. Run it through the Apify API, SDKs, webhooks, or MCP server and export the resulting dataset as JSON, CSV, Excel, or through an integration.
Does it require a Google account?
No. The actor is designed for public Google Jobs results and does not need your Google login.
Can I schedule recurring monitoring?
Yes. Use Apify schedules to run the same query and location daily or weekly, then compare rows by title, company, location, and scrapedAt.
Troubleshooting
Why did my run return fewer jobs than requested?
Google may show fewer public jobs for a query/location combination, or the page may expose fewer unique listings than your limit. Try a broader query or a different location.
Why are salary or employment type missing?
Those fields are only returned when Google displays them publicly for the listing.
Why did Google block the run?
Reduce request volume, keep proxy enabled, and try a smaller batch. Google anti-bot behavior can vary by region and time.
Legality and responsible use
This actor is intended for public job-listing information. Make sure your use case complies with applicable laws, platform terms, privacy rules, and internal policies. Do not use extracted data for spam, discrimination, or prohibited employment decisions.
Related scrapers
You may also use these actors from the same account for recruiting and search workflows:
Version notes
v0.1 focuses on public Google Jobs listing rows by query and location. Future versions may add stronger filter coverage, richer detail extraction, and additional output normalization after reliability testing.
Support
If a run fails or a query returns unexpected data, share enough detail to reproduce it:
- the Apify run URL,
- the exact input JSON,
- the expected output,
- the actual output you received,
- and a reproducible public URL or Google Jobs query/location example.
Field glossary
source is the site label shown by Google Jobs, often a job board or employer career site. applyLinks contains visible outbound links associated with a listing. descriptionSnippet is not guaranteed to be the full job description.
Best practices
Run targeted searches, deduplicate downstream by title/company/location, and store recurring snapshots if you need trends over time.
Export formats
Apify datasets can be exported as JSON, CSV, Excel, XML, RSS, and HTML table views from the run page or API.
Automation patterns
- Daily alert for new remote jobs matching a niche keyword.
- Weekly city-by-city hiring report.
- CRM enrichment based on companies hiring for target roles.
- Competitive hiring watch for specific job families.
Privacy note
The actor does not require your Google account and does not scrape private account-only data.
Final checklist for users
- Choose focused queries.
- Set a clear location.
- Keep the first run small.
- Review the dataset sample.
- Scale gradually.
Privacy and data handling
This Actor only requests the permissions needed to run the input you provide. It uses your input (such as URLs, search terms, identifiers, filters, and limits) only to fetch the requested public data from the relevant source site or API for this Actor, then writes results to your Apify dataset/key-value store.
Data may pass through Apify platform services and Apify Proxy during the run, and requests are sent only to the target site or public data provider required for this Actor's results. FetchCat does not send your inputs or outputs to advertising networks, data brokers, or model-training services, and does not retain run data outside Apify storage after the run except when you explicitly share run details for transient support debugging.
You are responsible for using this Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs. Review the output before storing, sharing, or combining it with other data.