Google Jobs Scraper
Pricing
from $1.50 / 1,000 job listings
Google Jobs Scraper
Extract structured Google Jobs listings with stable IDs, employer, location, source, apply URLs, dates, salary, and job details when available. Direct-first with bounded browser fallback.
Pricing
from $1.50 / 1,000 job listings
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Search the public Google Jobs experience and return one structured dataset row per listing. The actor returns stable job IDs (Google htidocid), title, company, location, source board, the Google listing URL, posting date when shown, employment type when shown, and the apply channels offered for the listing.
Since 2026 Google requires JavaScript for
/search, so a plain HTTP request returns an "Enable JavaScript to use search" gate from any address; this is reported asJS_REQUIRED, not as a block, andenableProxyFallbackis on by default so the Google SERP lane can serve the job cards. Google also stopped putting apply links in the served HTML -applyUrlisnullon the HTTP transports,applyOptionslists the boards by name, andgoogleJobUrllinks to the listing page that carries the working apply buttons.
Input
| Field | Description |
|---|---|
query | Job title, skill, or keywords such as software engineer. |
location | Optional city, region, country, or remote location. |
country / language | Google regional and language settings. |
maxItems | 1-100 unique jobs, default 25. |
maxScrolls | Browser scroll rounds, 0-8, default 3. |
deadlineSeconds | Wall-clock limit, 20-180 seconds, default 90. |
enableProxyFallback | Disabled by default. Routes the browser fallback through rotating datacenter proxy addresses after direct access is blocked. |
proxyConfiguration | Optional. Your own servers in proxyUrls are used exactly as given. Metered per-gigabyte groups (RESIDENTIAL, GOOGLE_SERP) are not offered and are replaced with rotating datacenter addresses. |
Output
Each successful row has ok: true, jobId, title, company, location, source, applyUrl, and search metadata. datePosted, salary, description, and employmentType are nullable because Google does not display them for every listing. Rows are deduplicated by Google's ID when present, otherwise by a stable hash of title, employer, location, and URL.
Transport and proxy behavior
The actor first sends a direct HTTP request to Google. Google commonly returns a JavaScript shell without job data to non-browser HTTP clients, so the actor then renders the same public Jobs search with Playwright. Direct browser rendering is attempted without a proxy. If Google blocks that request and enableProxyFallback is enabled, the actor retries through a rotating datacenter proxy session within the request and wall-time bounds. Proxy use is never implicit.
Metered per-gigabyte proxy groups are not offered. A proxyConfiguration asking for RESIDENTIAL or GOOGLE_SERP is served with rotating datacenter addresses instead, and the substitution is written to the log, to the run status message, and to the proxyNotice field of any diagnostic row. If you need different exit addresses, put your own proxy servers in proxyConfiguration.proxyUrls; those are passed through untouched and take precedence over everything else.
Billing
$0.01 to start a run, then $0.0015 per job — $1.50 per 1,000 jobs.
One job event is charged only after a complete job row has been written. Empty input returns one uncharged _sample row, and empty results, blocks, rate limits, network errors and incomplete rows all produce uncharged diagnostics. A search that finds nothing therefore costs the start charge and nothing else.
Set country to match your location
country defaults to US. Asking for a location in another country while leaving it at the default is the one mistake that reliably returns nothing — "Berlin" on the US edition comes back empty, while "Berlin" with country: "DE" returns a full page of jobs. Set both together.
Confirmed working: US, GB, DE, FR, ES, CA. Australia and Ireland currently come back empty — Google answers those editions with its JavaScript gate instead of job cards, and there is nothing this actor can do about that from the server side. Try one search before you plan a large run against a country not on that list.
Example
{"query": "software engineer","location": "Toronto","country": "CA","maxItems": 25,"maxScrolls": 3,"deadlineSeconds": 90,"enableProxyFallback": false}
This actor does not use a Google API key, login, CAPTCHA solving, hidden-email access, or job-board credentials.