Apify Store
AS
Apify Store
/johnvc/Google-Jobs-Scraper

Google Jobs Scraper

The most advanced Google Jobs Scraper available! Built with enterprise-grade flexibility, lightning-fast performance, and comprehensive customization options. Extract detailed job data, application li

liveasyncunknown~30s typical
jobslead generationnewsgoogle
$0.188
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.15 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /johnvc/Google-Jobs-Scraper for me.

Input

FieldTypeDescription
query*stringThe job search query (e.g., 'Software Engineer', 'Data Scientist', 'Marketing Manager')
locationstringJob location (city, state, or country). We recommend specifying a location at the city level for best results. If left empty and a Country Code is selected, the country name is used as the location automatically. If Google returns no results for a location-targeted search, the actor automatically retries with the location merged into the query.
countrystring (None | dz | as | ai | ag | ar)Country the search targets - this is what drives regional results (Google's gl parameter), and when Job Location is empty the country's name is used as the location automatically. If unset, it is derived from the Google Domain (e.g. google.nl -> nl) and the actor logs a warning. Only countries where Google Jobs actually serves listings are selectable; a run targeting an unsupported country stops immediately with a clear message and charges no page fee. default "None"
languagestring (None | en | es | fr | de | it)Interface language for the search (Google's hl parameter). Optional and usually best left unset: Google then uses the language that matches the country, which is required in many non-English markets - explicitly setting English (en) makes countries such as the Netherlands, Germany, Spain, Brazil, or Japan return zero results. Set it only when you specifically need a given interface language. default "None"
google_domainstring (google.com | google.co.uk | google.ca | google.de | google.fr | google.com.au)Google domain to use for search. Also determines the default country when the Country Code input is unset (e.g. google.de -> de). Domains of countries where Google Jobs is unavailable stop the run with a clear message and no page fee. default "google.com"
posted_withinstring (any | 24h | 3d | 7d | 30d)Only return jobs posted within this window. Great for daily scheduled runs: set 'Last 24 hours' to avoid re-collecting listings you already scraped. Default 'Any time' applies no date filter (existing runs and tasks are unaffected). default "any"
num_resultsintegerMaximum number of job results to return default 100
max_paginationintegerMaximum number of pages to fetch (each page has ~10 results). Set to 0 for unlimited pagination (fetch all available pages). default 0
include_lradbooleanWhether to include location radius filtering default false
lrad_valuestringLocation radius value in km (e.g., '2', '5', '10'). Only used when include_lrad is true.
max_delayintegerDelay between API requests in seconds (to avoid rate limiting) default 1
output_filestringCustom filename for saving results. Leave empty for auto-generated filename.

Call it

curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
  -H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
  -d '{"provider":"apify","endpoint":"/johnvc/Google-Jobs-Scraper","input":{"query":"Software Engineer","location":"San Francisco, CA","lrad_value":"5","output_file":"google_jobs_results.json"},"wait":false}'
poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."
cli
npx cracked-ai run -p apify -e /johnvc/Google-Jobs-Scraper -i '{"query":"Software Engineer","location":"San Francisco, CA","lrad_value":"5","output_file":"google_jobs_results.json"}' -w 120
mcp
run_tool({ provider: "apify", endpoint: "/johnvc/Google-Jobs-Scraper", input: {"query":"Software Engineer","location":"San Francisco, CA","lrad_value":"5","output_file":"google_jobs_results.json"}, wait: false })

Try it

Runs against your signed-in workspace balance. Sign in if you have not.