Google Jobs Scraper & API ($4/1k) ๐Ÿ’ผ avatar

Google Jobs Scraper & API ($4/1k) ๐Ÿ’ผ

Pricing

from $4.00 / 1,000 job scrapeds

Go to Apify Store
Google Jobs Scraper & API ($4/1k) ๐Ÿ’ผ

Google Jobs Scraper & API ($4/1k) ๐Ÿ’ผ

โšก Fast & Cheap ($4/1k): Scrape Google Jobs listings, parsed salaries, full descriptions & direct ATS apply links. LinkedIn, Indeed, Greenhouse, Workday & Lever across 80+ countries. Excel/CSV or JSON.

Pricing

from $4.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

UnitBytes | Enterprise Web Data

UnitBytes | Enterprise Web Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

28 minutes ago

Last modified

Features

Limited permissions

Share


Try it for Free on Apify


๐Ÿ“– Overview

Google Jobs (Google for Jobs) is the world's largest real-time meta-aggregator of employment listings. Instead of scraping dozens of separate job boards and applicant tracking systems (ATS) one by one, a single Google Jobs query captures live postings indexed from LinkedIn, Indeed, Glassdoor, ZipRecruiter, Monster, Built In, Wellfound, Greenhouse, Workday, Lever, Ashby, SmartRecruiters, iCIMS, and direct company career portals across 80+ countries.

However, extracting structured job data from Google Jobs at scale has historically been a major challenge for engineering and recruiting teams:

  • Legacy scrapers fail with 0 results due to Google's modern verification checks or only return the first 10 results without working pagination.
  • Broken or missing company logos (returning 1ร—1 transparent pixels or generic gray building icons instead of the real employer logo URL).
  • Unparsed compensation badges ("$165Kโ€“$210K a year", "$45โ€“$60 an hour") that require complex regex normalizers before loading into SQL, Clay, or Excel.
  • Aggregator redirect traps instead of direct ATS application URLs (Greenhouse, Workday, Lever).
  • High per-request API fees ($15โ€“$25 per 1,000 jobs on Traditional SERP APIs) that charge you even when a search returns zero jobs.

Google Jobs Scraper by UnitBytes eliminates every one of these bottlenecks. It streams paginated Google Jobs results in seconds (~30 jobs in under 10 seconds) with transparent Pay-Per-Event billing (from $0.004/job, and $0.00 for empty searches or duplicates) โ€” delivering clean, spreadsheet-ready and AI-ready job intelligence into Excel, CSV, Google Sheets, Clay, n8n, Make, or your database with zero login or cookie setup required.

โšก UnitBytes ยท Google AI, Search, Jobs, Shopping, Travel, News, Trends & Maps Ecosystem
๐Ÿ’ผ Google Jobs Scraper
๐Ÿ“ You are here (From $4/1K)
Multi-board jobs, parsed salaries, logos & direct ATS links
โœจ Google AI Overviews & Mode
From $4/1K โ€ข AEO & AI Search
AI Overviews & Google AI Mode brand citation audits
๐Ÿ›๏ธ Google Shopping & News
From $1โ€“$2/1K โ€ข Retail & PR
Google Shopping offers & Google News direct URLs/full text
โœˆ๏ธ Google Flights & Hotels
From $2.50/1K โ€ข Travel Rates
Airfares & CO2 + Google Hotels & OTA Parity
๐Ÿ“ˆ Google Trends Suite
From $0.30/1K โ€ข Breakout Demand
5 endpoints, Trending Now & Shopping Trends
๐Ÿ“ Google Maps Suite
From $0.20/1K โ€ข B2B & Reviews
B2B Emails, 10K Reviews, ORM & Photos
๐Ÿ“ฆ UnitBytes ยท Global Marketplaces, Classifieds & B2B Sourcing Ecosystem
๐Ÿ‡จ๐Ÿ‡ณ 1688 Factory Direct
China Wholesale & FBA
Direct factory prices, SKU matrices & Amazon FBA specs
๐Ÿ“ธ 1688 Reverse Image Search
โœจ Photo-to-Factory
Upload any product photo or URL to find the exact 1688 factory
๐ŸŒ Alibaba Wholesale
Global B2B & MOQ
Verified suppliers, inspection audits & tiered pricing
๐Ÿ›๏ธ FB Marketplace
Deep Pagination
40+ data fields, vehicles, real estate & local listings
๐Ÿš— OfferUp Scraper
Local Deals & Items
Bargain finding, vehicles & seller catalogs
๐Ÿ“‹ Craigslist Scraper
Worldwide Leads
All cities, subareas, categories & lead contacts

๐ŸŒŸ Why Recruiting, RevOps & Data Teams Choose UnitBytes

Capability / MetricUnitBytes Google Jobs ScraperTraditional SERP APIs (Google Jobs API)Other Store Scrapers
โšก Extraction Speed (30 Jobs)~8โ€“10 Seconds (Multi-Page)โš ๏ธ Requires sequential paginated callsโŒ Slow (60โ€“180s browser overhead) or broken (0 jobs)
๐Ÿ’ฐ Price per 1,000 JobsFrom $4.00 ($0.004/job)$15.00 โ€“ $25.00 per 1K (~$0.015โ€“$0.025/page)$10.00 โ€“ $30.00 per 1K + high compute fees
๐Ÿ”„ True Deep Paginationโœ… Full Multi-Page Cursor Pagination (Up to ~185/query)โœ… Supported (10 jobs per paid request)โŒ Many stop at Page 1 (10 jobs) or fake queries
๐Ÿ–ผ๏ธ Company Logos (companyLogo)โœ… 100% Working gstatic.com Image URLsโš ๏ธ Often missing or raw thumbnailsโŒ Broken data:image base64 icons or 1ร—1 GIFs
๐Ÿ’ต Parsed Salary Numbersโœ… Numeric salaryMin, salaryMax, salaryCurrency, salaryIntervalโŒ Raw text snippet onlyโš ๏ธ Unparsed strings
๐Ÿ“‹ Structured Highlightsโœ… Separate qualifications, responsibilities, benefits arraysโš ๏ธ Nested raw arraysโŒ Merged into unstructured text
๐Ÿ”— Direct Employer Apply Linksโœ… Prioritized ATS (directApplyUrl) + full applyOptionsโš ๏ธ Google redirect URLsโš ๏ธ Single link or broken redirects
๐Ÿงฎ Multi-Query ร— Location Batchingโœ… Built-in Cartesian Batching + jobId DeduplicationโŒ Requires custom loop & dedup codeโŒ Single search per run
๐Ÿ›ก๏ธ Empty Search & Duplicate Billingโœ… $0.00 (Free โ€” Pay Only for Unique Jobs)โŒ Charged per API call even on 0 resultsโŒ Charged for browser startup & compute time
๐Ÿ“Š Export FormatsExcel (.xlsx), CSV, Google Sheets, JSON, Clay, n8nJSON onlyJSON / CSV

Try it for Free on Apify


๐Ÿ’ฐ Transparent Pay-Per-Event Pricing (From $4.00 / 1,000 Jobs)

This Actor uses Pay-Per-Event (PPE) billing with automatic plan-based volume discounts so you only pay for unique, verified job listings delivered to your dataset โ€” never for empty searches, duplicate listings, or pagination overhead.

Apify Plan TierEvent NamePrice per JobPrice per 1,000 JobsVolume Discount
Free Plan (FREE)job-scraped$0.0100$10.00 / 1,000 jobsBase rate (500 jobs/mo free with $5 credit)
Starter Plan (BRONZE)job-scraped$0.0050$5.00 / 1,000 jobs50% OFF
Scale Plan (SILVER)job-scraped$0.0045$4.50 / 1,000 jobs55% OFF
Business & Enterprise (GOLD+)job-scraped$0.0040$4.00 / 1,000 jobs60% OFF
Actor Run Startapify-actor-start$0.00005$0.05 / 1,000 runsMinimal one-time startup event per GB RAM
Empty Searches / Duplicatesโ€”$0.00$0.00 (Free)Zero charge on 0 results or deduplicated jobs

๐ŸŽ Apify Free Tier Included (500 Jobs / Month Free): Every Apify account receives $5.00 in free monthly platform usage credits, which covers 500 unique Google Jobs listings every month at $0.00 cost on the Free Plan (or up to 1,000โ€“1,250 jobs per $5 on paid plans).


โœจ Key Features

  • โšก Lightning-Fast Multi-Page Extraction: Collect 30+ full job postings across multiple pages in ~8โ€“10 seconds with minimal memory footprint.
  • ๐ŸŒ One Scraper for Every Major Job Board & ATS: Simultaneously capture listings indexed from LinkedIn, Indeed, Glassdoor, ZipRecruiter, Monster, Built In, Wellfound, Greenhouse, Workday, Lever, Ashby, SmartRecruiters, and corporate career portals across 80+ countries.
  • ๐Ÿ–ผ๏ธ Verified Public Company Logos (companyLogo): Automatically resolves deferred employer logos to clean, public https://encrypted-tbn0.gstatic.com/... URLs and filters out generic placeholder icons so your job board UI, Airtable, or Clay table looks crisp.
  • ๐Ÿ’ต Normalized Compensation Intelligence: Parses raw salary badges ("$160Kโ€“$210K a year", "$45โ€“$60 an hour", "ยฃ65,000โ€“ยฃ85,000 a year", "55.000 โ‚ฌ pro Jahr", "โ‚น7Lโ€“โ‚น17L a year") into numeric salaryMin, salaryMax, ISO salaryCurrency (USD, EUR, GBP, INR, BRL, CAD, AUD), and standardized salaryInterval (year, hour, month, week, day).
  • ๐Ÿ“‹ Complete Descriptions & Structured Highlights: Extracts the full, untruncated plain-text job description alongside structured bullet arrays for qualifications, responsibilities, and benefits.
  • ๐Ÿ”— Direct Employer & ATS Application Links: Captures every portal link in applyOptions and automatically prioritizes direct ATS/employer URLs (directApplyUrl โ€” e.g., boards.greenhouse.io, myworkdayjobs.com, jobs.lever.co) ahead of third-party aggregators.
  • ๐ŸŽฏ Precision Native Filters: Filter server-side by datePosted (today, 3days, week, month), employmentTypes (FULLTIME, PARTTIME, CONTRACTOR, INTERN), remoteOnly (true/false), and 80+ country markets (country).
  • ๐Ÿง  Cross-Search Deduplication Engine: Batch dozens of queries and locations in a single run โ€” overlapping jobs are automatically deduplicated by Google's unique jobId so you never pay twice for the same posting.

๐Ÿ’ก Practical Business Use Cases

1. ๐ŸŽฏ B2B Sales Intent & Hiring Signal Lead Generation (Clay / Apollo / Outbound)

When a company posts a job for a "Snowflake Data Engineer", "HubSpot Administrator", "SOC 2 Compliance Manager", or "VP of Sales", they are publicly broadcasting their tech stack, budget approval, and immediate pain points. Feed daily Google Jobs postings directly into Clay, n8n, or Make to trigger high-converting outbound campaigns within hours of a job going live.

2. ๐ŸŒ Niche & Vertical Job Board Aggregation

Power specialized job boards (AI & Machine Learning Jobs, Remote FinTech Careers, Climate Tech Jobs, Healthcare Staffing, Web3 Engineering) with fresh daily job listings, verified employer logos, structured bullet highlights, and direct ATS application links.

3. ๐Ÿ“Š Real-Time Compensation & Salary Benchmarking

Analyze live salaryMin, salaryMax, salaryCurrency, and salaryInterval distributions across US states, European tech hubs, seniority tiers, and remote vs. on-site arrangements for HR compensation studies and market intelligence.

4. ๐Ÿค– AI Recruiting Co-Pilots & Automated Candidate Matching

Connect this Actor via MCP, LangChain, CrewAI, or n8n to automatically discover newly posted roles (datePosted: "today"), score job qualifications against candidate resumes, and deliver tailored application packages.

5. ๐Ÿข Competitor Headcount & Expansion Tracking

Monitor competitor company names in queries to track which departments, regional offices, and R&D initiatives your competitors are actively scaling.


๐Ÿšจ 24/7 Hiring Signal & Job Alert Watchdog (Automated Daily Schedules)

Turn manual job searching into an automated 24/7 hiring intelligence pipeline running on a background schedule.

โฐ Ready-to-Use Scheduled Automation Templates

ObjectiveFrequency / CronTarget InputAutomated Action / Destination
๐Ÿ”ฅ Daily B2B Buying Intent RadarDaily at 07:00 AM UTC
0 7 * * *
queries: ["Snowflake Engineer", "HubSpot Admin", "Datadog"], datePosted: "today"Auto-enriches hiring companies in Clay / HubSpot / Apollo and alerts sales reps in Slack.
๐ŸŒ Automated Niche Job Board SyncEvery 6 hours
0 */6 * * *
queries: ["AI Engineer", "LLM Engineer", "MLOps"], remoteOnly: true, datePosted: "today"Appends new verified jobs with logos & ATS links to Airtable / Supabase / Webflow CMS.
๐Ÿ’ผ Executive & Competitor Hiring WatchEvery Monday at 08:00 AM UTC
0 8 * * 1
queries: ["VP of Engineering", "Head of AI"], locations: ["San Francisco, CA", "New York, NY"], datePosted: "week"Delivers weekly executive hiring digest to Google Sheets or email.

๐Ÿš€ How to Set Up an Automated Daily Schedule in 3 Clicks (No Coding Required)

  1. Step 1: Save Your Search Input as a Task
  2. Step 2: Add a Schedule
    • In the left sidebar of the Apify Console, go to Schedules โž” click Create schedule.
    • Select your saved Google Jobs Task and pick your schedule (e.g., Daily at 7:00 AM or 0 7 * * *).
  3. Step 3: Connect to Google Sheets, Clay, n8n, Make, or Slack
    • In your Task settings, navigate to the Integrations tab:
      • Google Sheets: Automatically append newly posted jobs, salaries, and apply links daily.
      • Webhook (Clay / n8n / Make / Zapier / Slack): Trigger an instant workflow as soon as the run finishes (RUN.SUCCEEDED).

๐Ÿ”— No-Code Integrations: Clay, n8n, Make, Zapier & Google Sheets

DestinationIntegration MethodUse Case
ClayApify Actor Integration / WebhookEnrich hiring companies with decision-maker emails and trigger automated outbound sequences based on tech-stack job postings.
n8n / Make / ZapierApify Node / RUN.SUCCEEDED WebhookFilter jobs by salaryMin >= 150000, summarize with OpenAI/Claude, and post instant alerts to Slack or Discord.
Google SheetsApify Google Sheets IntegrationMaintain a live, collaborative spreadsheet of open roles, salary benchmarks, and direct ATS links.
Airtable / Webflow / SupabaseWebhook / REST APIAuto-publish fresh daily roles to your niche job board with working companyLogo URLs and directApplyUrl buttons.

๐Ÿ”“ Deep Pagination Beyond Standard Display Caps (Collect 1,000โ€“5,000+ Jobs)

Google Jobs enforces a hard upstream server-side limit of ~150 to 190 jobs for any single query + location search stream. No scraper or API can retrieve beyond ~185 listings for a single query because Google Jobs caps each individual search feed at that depth.

To collect 500, 1,000, or 5,000+ unique jobs in a single run, use this Actor's built-in Multi-Query ร— Multi-Location Batching and Time-Window Slicing. The scraper automatically iterates through every combination and deduplicates overlapping results by jobId so you never pay twice for the same job:

Strategy 1: Expand Role Synonyms & Seniority Levels (queries)

Split a broad role into specific job title variations, tech stacks, or seniority tiers:

{
"queries": [
"Software Engineer",
"Senior Software Engineer",
"Backend Developer",
"Full Stack Engineer",
"Python Developer",
"Go Engineer",
"Platform Engineer",
"Distributed Systems Engineer"
],
"locations": ["United States"],
"country": "us",
"maxJobs": 1200
}

(8 queries ร— ~180 jobs/query = up to 1,440 unique jobs in one run)

Strategy 2: Slice by Metro Area or State (locations)

Instead of searching an entire country with one location string, pass major hiring hubs in locations:

{
"queries": ["Data Scientist", "Machine Learning Engineer"],
"locations": [
"New York, NY",
"San Francisco, CA",
"Seattle, WA",
"Austin, TX",
"Boston, MA",
"Chicago, IL",
"Los Angeles, CA",
"Remote"
],
"country": "us",
"maxJobs": 2000
}

(2 queries ร— 8 locations = 16 search streams = up to 2,800+ unique jobs in one run)

Strategy 3: High-Frequency Daily Delta Runs (datePosted: "today")

For continuous job board ingestion or recruiting alerts, schedule the Actor to run daily with "datePosted": "today" (or every 3 days with "datePosted": "3days"). Because daily volume per city/role stays well below the ~185-job ceiling, you capture 100% of newly published jobs with zero pagination truncation.


๐Ÿ› ๏ธ How to Use via API (Python, Node.js & cURL)

You can trigger runs directly in the Apify Console or integrate programmatically into your Python, Node.js, or cURL pipeline.

๐Ÿ Python Example

$pip install apify-client
from apify_client import ApifyClient
# Initialize the client with your Apify API token
client = ApifyClient("YOUR_APIFY_API_TOKEN")
# Configure search parameters
run_input = {
"queries": ["Software Engineer", "Backend Engineer"],
"locations": ["New York, NY", "San Francisco, CA"],
"country": "us",
"datePosted": "week",
"employmentTypes": ["FULLTIME"],
"remoteOnly": False,
"maxJobs": 100,
}
# Run the Actor and wait for completion
print("๐Ÿš€ Launching Google Jobs Scraper...")
run = client.actor("unitbytes/google-jobs-scraper").call(run_input=run_input)
# Fetch scraped job postings from the dataset
dataset_items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"โœ… Successfully extracted {len(dataset_items)} unique jobs from Google Jobs!")
for job in dataset_items[:3]:
print(f"\nTitle: {job.get('title')} at {job.get('company')}")
print(f"Location: {job.get('location')} ({job.get('workplaceType')})")
print(f"Salary: {job.get('salary') or 'Unlisted'} (Min: {job.get('salaryMin')}, Max: {job.get('salaryMax')} {job.get('salaryCurrency')})")
print(f"Logo: {job.get('companyLogo')}")
print(f"Direct Apply URL: {job.get('directApplyUrl')}")

๐ŸŸจ JavaScript / Node.js Example

$npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: 'YOUR_APIFY_API_TOKEN',
});
const runInput = {
queries: ['DevOps Engineer', 'Site Reliability Engineer'],
locations: ['Remote'],
country: 'us',
datePosted: '3days',
remoteOnly: true,
maxJobs: 100,
};
console.log('๐Ÿš€ Starting Google Jobs Scraper...');
const run = await client.actor('unitbytes/google-jobs-scraper').call(runInput);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`โœ… Extracted ${items.length} unique jobs!`);
items.slice(0, 3).forEach((job) => {
console.log(`โ€ข ${job.title} at ${job.company} (${job.salary || 'N/A'}) โ€” ${job.directApplyUrl}`);
});

๐ŸŒ cURL Example

curl -X POST "https://api.apify.com/v2/acts/unitbytes~google-jobs-scraper/runs?token=YOUR_APIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": ["Product Manager"],
"locations": ["New York, NY"],
"country": "us",
"datePosted": "week",
"maxJobs": 50
}'

๐Ÿ“ค Sample Output Data & Complete Schema

Each item in the output dataset is a flat, structured JSON object containing all 29 extracted job attributes ready for immediate use in databases, spreadsheets, or AI agents.

Realistic JSON Output Example

{
"jobId": "gjobs_fplVD6NzqcGb_8U",
"title": "Senior Backend Software Engineer",
"company": "Stripe",
"companyLogo": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9_stripe_logo&s",
"location": "New York, NY",
"via": "Greenhouse",
"description": "Stripe is looking for a Senior Backend Software Engineer to help design, build, and scale our global financial infrastructure...",
"postedAt": "1 day ago",
"postedDate": "2026-10-18",
"employmentType": "Full-time",
"workplaceType": "Hybrid",
"degreeRequirement": "Bachelor's degree",
"salary": "$175Kโ€“$235K a year",
"salaryMin": 175000.0,
"salaryMax": 235000.0,
"salaryCurrency": "USD",
"salaryInterval": "year",
"isRemote": false,
"benefits": [
"Health insurance",
"Dental insurance",
"Vision insurance",
"401(k) matching",
"Paid time off"
],
"qualifications": [
"5+ years of production backend engineering experience in Java, Go, Ruby, or Python",
"Experience designing distributed systems with strict reliability and latency requirements",
"BS/MS in Computer Science or equivalent practical experience"
],
"responsibilities": [
"Design, build, and maintain core payment APIs serving millions of businesses globally",
"Collaborate across product and infrastructure teams to improve latency and uptime",
"Mentor junior engineers and lead architectural reviews"
],
"extensions": [
"1 day ago",
"$175Kโ€“$235K a year",
"Full-time",
"Hybrid"
],
"applyUrl": "https://boards.greenhouse.io/stripe/jobs/6192837",
"directApplyUrl": "https://boards.greenhouse.io/stripe/jobs/6192837",
"applyOptions": [
{
"title": "Apply on Greenhouse",
"link": "https://boards.greenhouse.io/stripe/jobs/6192837"
},
{
"title": "Apply on LinkedIn",
"link": "https://www.linkedin.com/jobs/view/senior-backend-software-engineer-at-stripe-398172635"
}
],
"googleJobsUrl": "https://www.google.com/search?q=Software+Engineer+in+New+York%2C+NY&udm=8&gl=us#htidocid=gjobs_fplVD6NzqcGb_8U",
"searchQuery": "Software Engineer",
"searchLocation": "New York, NY",
"country": "us",
"scrapedAt": "2026-10-19T12:00:00+00:00"
}

Complete Output Fields Reference

FieldTypeDescription
jobIdstringUnique Google Jobs posting identifier used for cross-search deduplication.
titlestringJob posting title (e.g., "Senior Backend Software Engineer").
companystringHiring employer / company name (e.g., "Stripe").
companyLogostring | nullPublic https://encrypted-tbn0.gstatic.com/... URL to the employer's logo image, if available.
locationstringJob location string as listed on Google Jobs (e.g., "New York, NY", "Anywhere").
viastringSource job board or ATS where the listing was indexed from (e.g., "Greenhouse", "LinkedIn", "Indeed").
postedAtstringRelative publication timestamp reported by Google (e.g., "13 hours ago", "2 days ago").
postedDatestring | nullNormalized ISO 8601 publication date (YYYY-MM-DD, e.g., "2026-10-18").
employmentTypestring | nullSchedule / contract classification ("Full-time", "Part-time", "Contractor", "Internship").
workplaceTypestringWorkplace arrangement classification ("Remote", "Hybrid", or "On-site").
isRemotebooleanWork-from-home boolean flag (true if remote/telecommute, otherwise false).
degreeRequirementstring | nullExtracted education or degree requirement badge, if specified (e.g., "Bachelor's degree").
salarystring | nullRaw formatted compensation text (e.g., "$175Kโ€“$235K a year", "$45โ€“$60 an hour").
salaryMinnumber | nullParsed minimum numeric salary value (e.g., 175000.0).
salaryMaxnumber | nullParsed maximum numeric salary value (e.g., 235000.0).
salaryCurrencystring | nullISO currency code parsed from the salary string (e.g., "USD", "EUR", "GBP", "CAD").
salaryIntervalstring | nullCompensation period ("year", "month", "week", "day", "hour").
descriptionstringComplete, untruncated plain-text job description.
qualificationsarray (string)Bullet list of required skills, experience, and qualifications extracted from Google Jobs highlights.
responsibilitiesarray (string)Bullet list of core role duties and day-to-day responsibilities.
benefitsarray (string)Extracted compensation perks and benefits (e.g., "Health insurance", "401(k)", "Paid time off").
extensionsarray (string)Raw metadata badges displayed on the Google Jobs card (posting age, salary badge, schedule, workplace type).
applyUrlstring | nullPrimary application URL for the job listing.
directApplyUrlstring | nullBest direct employer career page or ATS link (Greenhouse, Workday, Lever, Ashby, etc.), prioritized over third-party aggregators.
applyOptionsarray (object)Complete list of all available application portals ([{"title": "Apply on ...", "link": "https://..."}]).
googleJobsUrlstringDirect shareable URL to open the specific job inside the Google Jobs viewer.
searchQuerystringExact search query from queries that discovered this job.
searchLocationstringExact location string from locations that discovered this job.
countrystringTwo-letter ISO country code used for the search ("us", "gb", "de", etc.).
scrapedAtstringUTC ISO 8601 timestamp indicating when the job listing was extracted.

โš™๏ธ Input Parameters Reference

ParameterTypeDefaultDescription
queriesarray["Software Engineer"]Job titles, roles, skills, company keywords, or direct google.com/search?...&udm=8 URLs (auto-extracts q, gl/ccTLD, hl, and tbs date filters). Supports multi-query batching in a single run with automatic cross-search deduplication.
locationsarray[] (Console prefill: ["New York, NY"])Cities, states, regions, or "Remote" to search within (e.g., ["New York, NY", "San Francisco, CA", "London", "Berlin"]). Runs every queries ร— locations combination.
countrystring"us"Two-letter ISO country code for Google Jobs localization (us, gb, ca, de, nl, fr, es, it, in, sg, ae, sa, br, mx, za, etc.). Common aliases like "USA" or "UK" are auto-normalized.
languagestring""Optional interface language code (en, de, es, fr). Recommended: leave empty so Google uses the native language of the selected country for maximum local listing coverage.
datePostedstring"any"Filter listings by publication recency: "any" (any time), "today" (past 24 hours), "3days" (past 3 days), "week" (past 7 days), or "month" (past 30 days).
employmentTypesarray[]Filter by schedule type. Accepted values: "FULLTIME", "PARTTIME", "CONTRACTOR", "INTERN". Leave empty to include all schedule types.
remoteOnlybooleanfalseWhen true, restricts results strictly to remote / work-from-home positions.
maxJobsinteger50Maximum number of unique job listings to collect across the entire run (1 โ€“ 5000). Scraping stops immediately once this budget cap is reached.
resolveApplyLinksbooleanfalseWhen true, resolves redirect links to their final destination employer or ATS URL (Greenhouse, Workday, Lever, LinkedIn, Indeed).

๐Ÿ“‹ Copy-and-Paste Directive for AI Coding Assistants (Cursor, Windsurf & Claude Code)

Give this direct prompt instruction to your AI assistant:

"Use the unitbytes/google-jobs-scraper Actor on Apify to extract Google Jobs listings, parsed salaries (salaryMin, salaryMax), company logos, qualifications, and direct ATS apply links (directApplyUrl). Example call: client.actor('unitbytes/google-jobs-scraper').call(run_input={'queries': ['Software Engineer'], 'locations': ['New York, NY'], 'country': 'us', 'maxJobs': 50})"


๐Ÿ”Œ MCP Server Setup: Claude Code, Cursor & AI Agents

Connect this scraper directly to Claude Code, Claude Desktop, Cursor, or any MCP-compatible AI agent via the hosted Apify MCP server:

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

No manual API token required in configuration if your client supports Apify OAuth sign-in. Alternatively, pass your Apify API Token in the authorization header.


๐ŸŒ The Complete UnitBytes Scraping Portfolio

Power your entire data intelligence stack with UnitBytes production-grade scrapers โ€” engineered for maximum speed, 99.9% uptime, and the best value on the Apify Store:

ActorPurpose & SuperpowersPricing
Google Jobs Scraper (๐Ÿ“ You are here)Multi-board job postings (LinkedIn, Indeed, Glassdoor, Greenhouse, Workday), parsed salaries, logos & direct apply linksFrom $4.00 / 1K
Google AI Overviews ScraperSERP AI Overviews in clean GFM Markdown, unwrapped citations, brandCitationAudit, Page 1 organic ranks & PAAFrom $4.00 / 1K
Google AI Mode ScraperFull conversational Google AI Mode answers, cited web sources, follow-up prompts & GEO brand auditsFrom $4.00 / 1K
Google Shopping ScraperLive retail product prices, discounts, exact review counts, multi-seller offers & unwrapped store checkout URLsFrom $2.00 / 1K
Google Flights ScraperReal-time airfares, carriers, flight numbers, nonstop/cabin filters, aircraft, legroom & CO2 emissionsFrom $2.50 / 1K
Google Hotels ScraperNightly & total hotel/rental rates, multi-OTA price parity (Booking.com, Expedia), ratings, GPS & HD photosFrom $2.50 / 1K
Google News ScraperDirect unwrapped publisher URLs, recency/domain filters, curated topic feeds & optional clean full-article textFrom $1.00 / 1K
Google Trends ScraperAll-in-one search demand, viral keywords, related queries & geographic breakdowns across 5 endpointsFrom $0.30 / 1K
Google Shopping Trends ScraperRising e-commerce product demand, +5,000% breakout searches & buyer regionsFrom $0.30 / 1K
Google Maps Email & Leads ScraperVerified B2B business emails, phones, WhatsApp, social links, CMS/pixels & agency opportunity flagsFrom $1.00 / 1K
Google Maps Reviews ScraperBulk extraction of up to 10,000 customer reviews per business with keyword & rating filtersFrom $0.25 / 1K
Google Maps Reviews TrackerMonitor reputation changes: detect new, removed, or edited customer reviews across runsPay-Per-Event
Google Maps Photos ScraperOriginal full-resolution (=s0) business photos, menus, videos & Local Guide portfoliosFrom $0.20 / 1K
Google Maps Contributor ScraperPublic Local Guide levels, badges & contributor review historiesPay-Per-Event

๐Ÿ‡จ๐Ÿ‡ณ Chinese E-Commerce, Sourcing & Social Commerce

ActorPurpose & SuperpowersPricing
1688 Factory Direct ScraperDirect manufacturer sourcing, true factory prices, full SKU matrices & Amazon FBA packaging specsFrom $0.0015 / item
1688 Reverse Image Search (Photo-to-Factory)Visual product search (ไปฅๅ›พๆœๆฌพ / ๆ‹็ซ‹ๆท˜): upload any product photo or URL to find the exact 1688 factoryFrom $0.0015 / item
Alibaba Wholesale ScraperGlobal B2B product catalog, MOQ brackets, volume tiers & verified factory audit reportsFrom $0.0015 / item
Taobao & Tmall ScraperChina's premier consumer marketplace, retail trends, flagship brand stores & pricingPay-Per-Event
RedNote / Xiaohongshu Search & TrendsChina's Instagram/Pinterest: viral lifestyle trends, consumer search intent & watermark-free HD mediaPay-Per-Event
RedNote / Xiaohongshu Creators & PostsInfluencer portfolios, KOL engagement metrics, bio contact info & viral note feedsPay-Per-Event
RedNote / Xiaohongshu Comments ScraperAuthentic buyer feedback, customer sentiment, product reviews & full reply threadsPay-Per-Event
Goofish / Xianyu Products & DealsAlibaba's C2C resale market: liquidation deals, secondhand arbitrage & price comparisonsPay-Per-Event
Goofish / Xianyu Sellers & ReputationMerchant due diligence, Zhima credit ratings, transaction histories & buyer feedbackPay-Per-Event

๐Ÿท๏ธ Global Classifieds, Resale & Community Intelligence

ActorPurpose & SuperpowersPricing
Facebook Marketplace ScraperDeep regional pagination across cars, real estate, electronics & 40+ structured attributesPay-Per-Event
OfferUp ScraperLocal pickup deals, nationwide shipping listings, vehicle specs & seller profilesFrom $0.80 / run
Craigslist Worldwide ScraperWorldwide cities, subareas, categories, direct contact leads & localized postingsFrom $0.50 / run
Reddit Posts & Search ScraperSubreddit discussions, keyword mentions, sentiment analysis & viral thread discoveryFrom $0.50 / run

โ“ Frequently Asked Questions (FAQ)

Do I need a Google account, proxies, or cookies to use this scraper?

No. The Actor works out of the box with zero configuration, zero login accounts, and zero external proxy setup required.

Why did a single query stop around 150โ€“190 jobs?

Google Jobs enforces a server-side ceiling of ~150โ€“190 listings per individual query + location stream. When any single search reaches Google's ceiling before your maxJobs cap, the Actor's terminal status message clearly reports which search stream was exhausted. To collect 500 to 5,000+ jobs in a single run, pass multiple role variations in queries or multiple cities in locations (see Deep Pagination Beyond Standard Display Caps).

How does cross-search deduplication work?

When you batch multiple queries and locations, overlapping listings are automatically deduplicated in memory using Google's unique jobId. Each unique job is pushed to your dataset only once and billed only once.

Why should I leave language empty for non-English countries?

In markets like Germany (de), the Netherlands (nl), France (fr), or Spain (es), forcing language: "en" causes Google Search to filter out local-language job postings. Leaving language empty ("") lets Google serve full localized results for the target country.

What happens if my search matches 0 jobs or my budget cap is reached?

If a query returns zero matching jobs, the run finishes cleanly with exit code 0 and $0.00 in job-scraped charges. If your Apify run spending limit (maxTotalChargeUsd) or maxJobs limit is reached mid-run, the Actor immediately halts pagination and saves all charged jobs cleanly.


โš–๏ธ Compliance & Privacy

This Actor extracts strictly publicly available job postings indexed by Google Jobs. It does not access private user accounts, candidate profiles, resumes, or personally identifiable information (PII). Personal data is protected by regulations such as GDPR and CCPAโ€”see Apify's guide on the legality of web scraping and ensure your usage complies with applicable laws.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC or any of its subsidiaries.


๐Ÿ” Keywords & Search Tags

google-jobs-scraper โ€ข google-for-jobs-api โ€ข google-jobs-api โ€ข scrape-google-jobs โ€ข job-board-scraper โ€ข linkedin-jobs-alternative โ€ข indeed-scraper-alternative โ€ข glassdoor-jobs-scraper โ€ข ziprecruiter-scraper โ€ข greenhouse-jobs-scraper โ€ข workday-jobs-scraper โ€ข lever-jobs-scraper โ€ข ashby-jobs-scraper โ€ข b2b-hiring-signals โ€ข clay-hiring-intent โ€ข salary-benchmarking-api โ€ข recruitment-automation โ€ข ats-job-aggregator โ€ข remote-jobs-scraper โ€ข apify-actor


๐Ÿ’ฌ Support & Feedback

Found an edge case, regional format question, or feature request?