Google Jobs Scraper avatar

Google Jobs Scraper

Pricing

Pay per usage

Go to Apify Store
Google Jobs Scraper

Google Jobs Scraper

Extract job listings from Google Jobs with job titles, companies, locations, salaries, descriptions, employment types, posting dates, and application links. Ideal for job market research, recruitment analytics, salary benchmarking, hiring trends, and job board datasets.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Security

Limited permissions

Share

What does Google Jobs Scraper do?

Google Jobs Scraper collects job listings from the Google Jobs search vertical. Enter a keyword, a location, or a Google Jobs search URL, and the Actor returns structured records with the job title, company, location, salary range, posting date, description, qualifications, source, and application links.

Google Jobs shows up to 10 listings for one search request. When you ask for more than 10 results, the Actor runs related search variations for the same role and location, removes duplicates, and keeps collecting until it reaches your limit or your request budget.

Why use Google Jobs Scraper?

  • One dataset across job boards. Google Jobs aggregates listings from company career sites, LinkedIn, Indeed, Glassdoor, ZipRecruiter, Monster, and other sources. The Actor keeps the original source label on each record.
  • Fields you can filter and analyze. Salary ranges, posting dates, job types, remote flags, qualifications, and apply links are separated, so the dataset is ready for spreadsheets, dashboards, or an applicant tracking workflow.
  • One request returns ten full listings. Each Google Jobs result page includes the description, qualifications, benefits, and apply links for all ten jobs on that page. The Actor does not open a separate detail page for every job.
  • Repeatable runs. Schedule the Actor to refresh a role, location, or market list, then export the same fields on every run.
  • Apify platform output. Results go to the default dataset, where you can download CSV, Excel, JSON, or XML, call the dataset API, or send records to another system with a webhook.

What data can you extract from Google Jobs?

FieldDescription
idGoogle Jobs document ID for the listing
titleJob title
companyHiring company, when Google shows it
locationCity, region, country, or Anywhere
salarySalary range from the listing, when published
job_typeFull time, part time, contract, internship, temporary, freelance, or per diem
date_postedEstimated posting date in ISO format
date_posted_textOriginal relative date such as 2 days ago
description_textJob description text
qualificationsQualifications section, when present
benefitsBenefits section, when present
is_remoteWhether the listing mentions remote work or work from home
apply_urlPrimary application link
apply_optionsAll application links with their source labels
sourceJob board or career site Google credits for the listing
urlGoogle Jobs link for the specific listing

How to use Google Jobs Scraper

  1. Open the Actor in Apify Console.
  2. Enter a keyword, or paste a Google Jobs search URL.
  3. Add a location if you want to narrow the search.
  4. Set the number of jobs and the search request budget.
  5. Run the Actor and open the dataset.
  6. Download the dataset or connect it to your workflow.

The default proxy configuration uses Apify's Google SERP proxy group, the group verified for this target. You can select another Apify group or provide custom proxy URLs instead. Google Jobs blocks direct requests from shared IPs, so keep a proxy enabled.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-Google Jobs search URL. Takes precedence over keyword and location.
keywordStringNosoftware engineerRole or search terms, such as data analyst or product manager.
locationStringNo-Location to include in the search, such as New York, NY, London, or Remote.
posted_dateStringNoanytimeKeep jobs from today, last3days, last7days, or last14days.
results_wantedIntegerNo20Stop after this many jobs have been saved.
max_pagesIntegerNo10Starting Google Jobs request budget. Each request returns up to 10 listings. If the budget is too low for results_wanted, the Actor raises it and logs the change.
proxyConfigurationObjectNoGoogle SERP proxyApify Proxy or custom proxy settings. The default uses the Google SERP group; you can select another group or provide custom URLs.

Output Data

FieldTypeDescription
idStringGoogle Jobs document ID
titleStringJob title
companyString or nullHiring company
locationString or nullJob location
salaryString or nullPublished salary range
job_typeString or nullEmployment type
employment_typeString or nullAlias of job_type
date_postedString or nullISO date estimated from the listing
date_posted_textString or nullOriginal posting date text
description_textStringDescription text
qualificationsString or nullQualifications section
benefitsString or nullBenefits section
is_remoteBooleanRemote-work signal
apply_urlString or nullPrimary application link
apply_optionsArrayApplication links with source labels
sourceStringJob board or career site credited by Google
urlStringGoogle Jobs listing URL

Usage Examples

Search by keyword

Collect software engineering jobs across the default market:

{
"keyword": "software engineer",
"results_wanted": 50,
"max_pages": 10
}

Search by keyword and location

Collect product management jobs in New York:

{
"keyword": "product manager",
"location": "New York, NY",
"results_wanted": 40,
"max_pages": 8
}

Start from a Google Jobs URL

Use a search URL you already built in Google:

{
"startUrl": "https://www.google.com/search?q=data+engineer&udm=8&hl=en&gl=us",
"results_wanted": 30,
"max_pages": 6
}

Use a custom datacenter proxy

Provide your own datacenter proxy URLs instead of an Apify Proxy group:

{
"keyword": "software engineer",
"results_wanted": 100,
"proxyConfiguration": {
"useApifyProxy": false,
"proxyUrls": [
"http://user:password@datacenter-proxy.example.com:8080"
]
}
}

Replace the example proxy URL with your own. The Actor uses the proxy URLs exactly as supplied.

Recent jobs only

Keep listings from the last seven days:

{
"keyword": "software engineer",
"location": "United States",
"posted_date": "last7days",
"results_wanted": 25,
"max_pages": 5
}

Sample Output

{
"id": "wpX3mct44K74t8e8AAAAAA==",
"title": "Staff Software Engineer, Full Stack Jobs",
"company": "True Anomaly. Inc.",
"location": "Denver, CO",
"salary": "205K-315K a year",
"job_type": "Full time",
"employment_type": "Full time",
"date_posted": "2026-10-30T16:38:13.924Z",
"date_posted_text": "1 day ago",
"description_text": "You do not need to have experience building space ground systems or experience in aerospace. You design and champion unified patterns, drive their adoption across teams, and measure their impact on velocity and reliability.",
"qualifications": "12+ years of software development experience. Expert-level mastery of HTML/CSS and modern TypeScript/JavaScript. Experience with React, Elixir, and large-scale frontend systems.",
"benefits": "Dental insurance, health insurance, paid time off.",
"is_remote": false,
"apply_url": "https://www.google.com/goto?url=EXAMPLE_TOKEN",
"apply_options": [
{
"source": "Clearance Jobs",
"url": "https://www.google.com/goto?url=EXAMPLE_TOKEN"
}
],
"source": "Clearance Jobs",
"url": "https://www.google.com/search?ibp=htl;jobs&q=software+engineer&htidocid=EXAMPLE&hl=en&gl=us"
}

The apply_url and url values above are shortened examples. A real run returns the full Google redirect link and the full document ID.

Tips for Best Results

  • Use a role and a place in the keyword when you want a narrow search, such as backend engineer Austin.
  • Keep max_pages at 20 or higher when you request 100 jobs. Each request returns up to 10 listings, and related searches add overlap.
  • For 200 jobs, max_pages 40 is a good starting budget. If the budget is too low for the target, the Actor raises it and logs the change.
  • Start with 20 to 30 jobs for a test run, then raise results_wanted for the full collection.
  • posted_date filters only listings with a recognizable date. Listings without a date remain in the dataset.
  • If a company or salary is blank, Google did not publish that field for the listing.
  • Keep the default Google SERP proxy enabled. Direct requests are usually blocked. If that group is blocked for your account, switch to DATACENTER, RESIDENTIAL, or a custom proxy.
  • If a run returns fewer jobs than requested, raise max_pages or use a broader keyword.

Integrations

  • Google Sheets - Send the dataset to a spreadsheet for review or sharing.
  • Webhooks - Trigger a downstream workflow when a run finishes.
  • Make or Zapier - Connect job records to a CRM, ATS, or notification flow.
  • Apify API - Read datasets programmatically from your own application.
  • CSV, Excel, JSON, XML - Download the dataset in the format your tools accept.

Frequently Asked Questions

Does this Actor collect Google Careers jobs or Google Jobs results?

It collects Google Jobs results, the job listings shown in Google Search. It does not collect Google's internal Careers openings.

Does the Actor request every job detail page?

No. Each Google Jobs result page contains up to 10 full listings, including descriptions, qualifications, benefits, and apply links. The Actor parses all ten from the same response, so the request count follows the number of searches, not the number of jobs.

Why did the run stop before my target?

A low max_pages no longer stops the run early. The Actor raises the request budget when it is too low for results_wanted and logs the change. A run can still stop when the related searches run out or when Google blocks requests.

Why did I get fewer jobs than I requested?

Google Jobs returns up to 10 listings per search request. The Actor runs related searches to add more unique listings. If the role is narrow or the market has few postings, raise max_pages or use a broader keyword.

Why is a company, salary, or location missing?

Google does not publish every field for every listing. The Actor keeps the record and leaves the missing field empty instead of inventing a value.

Do I need a proxy?

Yes, for reliable results. Google Jobs blocks direct requests from shared IPs. The default uses Apify's Google SERP proxy group. If that group is blocked for your account, select DATACENTER, RESIDENTIAL, or a custom proxy.

Can I export the dataset to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

Can I run this Actor on a schedule?

Yes. Create a schedule in Apify Console and set the input you want to refresh, such as a role and location.

The application links go through a Google redirect and then to the source Google credits, such as a company career site or a job board. The source field names that source.

The listings are public. You are responsible for following applicable laws, the source site's terms, and your own data-use policies.

Support

For issues or feature requests, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor collects publicly available job listing data. Users are responsible for using the data lawfully and for complying with applicable website terms and privacy rules.