Google Jobs Scraper avatar

Google Jobs Scraper

Pricing

from $0.42 / 1,000 google jobs listing saveds

Go to Apify Store
Google Jobs Scraper

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

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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?

FieldDescription
querySearch phrase that produced the listing
titleJob title
companyEmployer name when visible
locationJob location or remote/hybrid text
sourcePublisher shown by Google Jobs
postedAtVisible posted-date or freshness label
descriptionSnippetPublic snippet from the job card/detail panel
salarySalary text when Google displays it
employmentTypeFull-time, part-time, contract, internship, or similar label
jobUrlFirst normalized job/application URL
applyLinksAll visible application links collected from the listing
scrapedAtTimestamp 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.

EventWhat is chargedPrice
startOne-time fee charged when a run starts. Covers fixed startup cost.$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemCharged 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

  1. Add one or more job search queries.
  2. Enter a location such as New York, NY, London, or Remote.
  3. Set a small maxItems value for your first test.
  4. Run the actor.
  5. 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 keyLabelDescription
queriesJob search queriesOne or more job phrases to search.
locationLocationCity, region, country, or remote-work phrase appended to each query.
countryCountry / Google marketTwo-letter country code for Google market and proxy geotargeting.
languageLanguageLanguage code for visible labels.
maxItemsMaximum jobsMaximum number of listings to save across all queries.
datePostedDate postedOptional visible Google Jobs date filter.
employmentTypeEmployment typeOptional visible Google Jobs employment-type filter.
useProxyUse Apify ProxyKeep enabled for the most reliable Google access.
proxyGroupsProxy groupsProxy groups to use; RESIDENTIAL is the default.

Job search queries

Add the job phrases you want to search. Examples:

  • software engineer
  • registered nurse
  • warehouse manager
  • product marketing manager

Location

Use the same style you would type into Google Jobs. Examples:

  • Austin, TX
  • Berlin, Germany
  • Remote
  • United 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 maxItems 10–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 ApifyClient
import os
client = 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().items
print(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.

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.