mcpField
G
Google Jobs Scraper

Google Jobs Scraper

Remote
apify.comBusiness & Marketing0Updated 3w ago

About Google Jobs Scraper

Google Jobs Scraper collects Google Jobs listings for Python users and MCP clients. It parses salaries into numeric fields and resolves direct application links, with examples for salary reports and new-job alerts.

Key features

  1. 01Job titles, companies, and locations
  2. 02Parsed salary ranges and periods
  3. 03Direct application URLs
  4. 04Descriptions and posting dates
  5. 05Deduplicated search results

Use cases

  1. 01Review job listings in a location
  2. 02Compare salaries across cities
  3. 03Find newly posted jobs

MCP support

Provides a hosted MCP server URL that lets MCP clients search Google Jobs. Authentication uses Apify sign-in or an API token, and runs are billed to the Apify account.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://mcp.apify.com/?tools=ralfij/google-jobs-scraper
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://mcp.apify.com/?tools=ralfij/google-jobs-scraperAuth required

Tools

Details

From the project README

Google Jobs API for Python

Get job listings from Google Jobs into Python: title, company, location, salary as numbers, posting date, job type, the full description and direct apply links (LinkedIn, Indeed, company career sites). Google Jobs collects postings from hundreds of job boards, so one search covers a large part of the market.

Google doesn't offer an API for Google Jobs results. These examples use a hosted scraper instead, the Google Jobs Scraper on Apify, through the official Python client.

Data analyst salaries in six US cities

Example output: data analyst salaries in six US cities, from postings on Google Jobs in September and October 2026 (14 to 20 posted salaries per city, so treat it as a rough picture). Made with examples/salary_report.py.

Quick start

  1. Create a free Apify account. The free plan includes $5 of credit every month, which covers more than 1,000 jobs. No credit card needed.
  2. Copy your API token from Settings > API & Integrations in Apify Console.
  3. Run an example:
pip install -r requirements.txt
export APIFY_TOKEN=your-token        # Windows: set APIFY_TOKEN=your-token
python examples/search_jobs.py
Data Analyst - Business Intelligence           DRW                        100K–130K a year
Program Analyst (Data Analytics) - Federal Ac  GSA                        108,173–172,980 a year
Early Careers - Enterprise Data Analyst Inter  Health Care Service Corpo  19.13–34.17 an hour
Data Analyst, Marketing Hybrid                 Rewards Network Establish  80K–95K a year
...
40 jobs found
Saved jobs.csv

Examples

FileWhat it does
examples/search_jobs.pyOne search, printed as a table and saved as CSV with salaries and apply links
examples/salary_report.pySalaries for one role in several cities, with the chart above
examples/new_jobs_alert.pyOnly the jobs you haven't seen yet, optionally posted to Slack. Run it every morning.

sample-output/data-analyst-chicago-2026-10.csv shows the CSV from search_jobs.py.

What you get per job

  • title, companyName, location, via (the site Google found the posting on)
  • postedAt ("3 days ago") and postedDate (2026-10-07)
  • scheduleType, such as "Full-time", "Part-time", "Contractor" or "Full-time and Part-time"
  • salary as Google shows it ("65K–70K a year"), plus salaryMin, salaryMax, salaryCurrency and salaryPeriod as separate values
  • applyOptions: every place to apply, with direct URLs instead of Google redirects
  • description and highlights (qualifications, benefits, responsibilities)
  • tags such as "Health insurance" or "No Degree Mentioned"
  • jobId, to recognize the same job in later runs

Why Google Jobs is tricky to scrape

  • Google Search mostly needs JavaScript now. Plain HTTP requests get a captcha or an "enable JavaScript" page, so you need a way around that first.
  • One search shows about 10 jobs, with no next page. The scraper widens each search with recent date windows and common refinements (remote, full time, senior, entry level and so on), then removes duplicates. That's how one search can return 50 or more jobs.
  • Apply links are Google redirects. The scraper follows them to the real job pages.
  • Salaries are text in many formats, such as "65K–70K a year" or "€4.274,92 a month". The scraper turns them into numbers, a currency and a period.

Other options

  • SerpApi has a Google Jobs endpoint, with a monthly subscription.
  • Job board APIs such as Adzuna's give you their own listings rather than Google's, some with a free tier.

Use it from AI assistants (MCP)

To let Claude, Cursor, VS Code or another MCP client search Google Jobs for you, add this MCP server URL: https://mcp.apify.com/?tools=ralfij/google-jobs-scraper. Sign in to Apify when the client asks, or send your Apify API token as Authorization: Bearer <token>. Runs are billed to your own Apify account.

Notes

  • I built the Google Jobs Scraper used in these examples, so keep that in mind.
  • Pricing is per job with no subscription; see the actor page. There are ready-made searches on its example tasks, such as nurse jobs in Texas.
  • Google Jobs isn't available in every country. The Netherlands, for example, returns no results. For local jobs elsewhere, write the search in the local language and set the country input, for example pflegefachkraft berlin with de.
  • Recruiter e-mail addresses and phone numbers are removed from descriptions by default.
  • Not affiliated with, endorsed by or sponsored by Google. Google Jobs is a trademark of Google LLC.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.