Google Jobs Scraper avatar

Google Jobs Scraper

Pricing

from $1.50 / 1,000 job listings

Go to Apify Store
Google Jobs Scraper

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

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

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 as JS_REQUIRED, not as a block, and enableProxyFallback is on by default so the Google SERP lane can serve the job cards. Google also stopped putting apply links in the served HTML - applyUrl is null on the HTTP transports, applyOptions lists the boards by name, and googleJobUrl links to the listing page that carries the working apply buttons.

Input

FieldDescription
queryJob title, skill, or keywords such as software engineer.
locationOptional city, region, country, or remote location.
country / languageGoogle regional and language settings.
maxItems1-100 unique jobs, default 25.
maxScrollsBrowser scroll rounds, 0-8, default 3.
deadlineSecondsWall-clock limit, 20-180 seconds, default 90.
enableProxyFallbackDisabled by default. Routes the browser fallback through rotating datacenter proxy addresses after direct access is blocked.
proxyConfigurationOptional. 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.