Google Jobs Scraper

io.github.RalfIJPublished by GitHub account RalfIJv1.0.0Updated Nov 1, 2026

Google Jobs listings with parsed salaries and direct apply links, more than 10 per search.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowWeb Search & Scraping

Overview

AI-generated overview

Apify-hosted MCP server that lets an assistant search Google Jobs listings with parsed salaries and direct apply links.

What you can do
  • Search Google Jobs postings by role, location and country, returning more than 10 results per search.
  • Read per-job details: title, company, location, posting date, schedule type, description, highlights and tags.
  • Get salaries as text plus separate minimum, maximum, currency and period values.
  • Collect direct apply links to LinkedIn, Indeed and company career sites instead of Google redirects.
When to use it
Useful when you want an assistant to look up job postings, compare salaries for a role across cities, or track new listings over time without building your own scraper.
Requirements
A remote MCP endpoint at mcp.apify.com; no local install. An Apify account with OAuth sign-in, or an Apify API token sent as the Authorization header. Runs are billed to that Apify account.
Before you install
Runs are billed to your Apify account, priced per job, so searches spend credit. The Authorization header carries your Apify API token. Results come from scraping Google Jobs, which is not available in every country, and the author built the underlying scraper.

Installation

In SourceWeft

  1. Open Google Jobs Scraper in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.RalfIJ%2Fgoogle-jobs/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "google-jobs-scraper": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=ralfij/google-jobs-scraper"
    }
  }
}

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:
bash
pip install -r requirements.txtexport APIFY_TOKEN=your-token        # Windows: set APIFY_TOKEN=your-tokenpython examples/search_jobs.py
Data Analyst - Business Intelligence           DRW                        100K–130K a yearProgram Analyst (Data Analytics) - Federal Ac  GSA                        108,173–172,980 a yearEarly Careers - Enterprise Data Analyst Inter  Health Care Service Corpo  19.13–34.17 an hourData Analyst, Marketing Hybrid                 Rewards Network Establish  80K–95K a year...40 jobs foundSaved 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

Source: README.md at commit 82a6aa7

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.0LatestOct 10, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts