Google Jobs aggregates job postings from across the web into a unified search experience. JobSpy’s Google scraper works globally and does not require any country or location parameter beyond what you include in the google_search_term.
Google Jobs requires very specific query syntax. If you use an incorrect query format, you will get zero results. Read the usage instructions carefully before searching.
Basic usage
Set site_name to "google" and use the google_search_term parameter — not search_term:
from jobspy import scrape_jobs
jobs = scrape_jobs(
site_name="google",
google_search_term="software engineer jobs near San Francisco, CA since yesterday",
results_wanted=20,
)
print(f"Found {len(jobs)} jobs")
print(jobs.head())
Supported parameters
| Parameter | Type | Description |
|---|
google_search_term | str | The full search query for Google Jobs (see below) |
results_wanted | int | Number of results to return |
offset | int | Start results from this position |
Google Jobs does not use the search_term, location, hours_old, job_type, or country_indeed parameters. All filtering must be encoded in google_search_term.
Getting the right query syntax
Google Jobs search queries must match the exact format Google expects. The easiest and most reliable way to get a working query is:
- Open Google in your browser and search for jobs (e.g.,
software engineer jobs San Francisco).
- Click on the Jobs tab in the search results to open Google Jobs.
- Apply any filters you want (location, date posted, job type, etc.).
- Copy the exact text from the Google Jobs search box.
- Use that string as your
google_search_term.
The query text in the Google Jobs search box after applying filters is exactly what you need. For example, after filtering by location and recency, the box might show:software engineer jobs near San Francisco, CA since yesterdayCopy that string verbatim.
Query syntax examples
# Jobs posted in the last 3 days near a city
google_search_term="data analyst jobs near Austin, TX in the last 3 days"
# Remote jobs in a specific field
google_search_term="remote machine learning engineer jobs"
# Jobs from the last week in a specific country
google_search_term="product manager jobs near London, United Kingdom in the last week"
# Full-time internship filter
google_search_term="software engineering internship Full time jobs near Seattle, WA since yesterday"
Time filter keywords
Google Jobs recognizes these natural-language time phrases:
| Phrase | Equivalent hours |
|---|
since yesterday | Last 24 hours |
in the last 3 days | Last 72 hours |
in the last week | Last 7 days |
in the last month | Last 30 days |
JobSpy maps hours_old to these phrases when building a query automatically, but when using google_search_term directly you must include the phrase yourself.
Geographic coverage
Google Jobs searches globally. Specify the location directly in google_search_term using natural language such as near [City, Country].
Notes
- If your query returns zero results, the query syntax is most likely incorrect. Try copying the query directly from a browser Google Jobs search.
- Google Jobs results are capped at approximately 1,000 per query.
- The
google_search_term parameter overrides any automatic query constructed from search_term, location, or hours_old when both are provided.