Google Jobs Scraper - Reliable avatar

Google Jobs Scraper - Reliable

Pricing

from $3.00 / 1,000 job scrapeds

Go to Apify Store
Google Jobs Scraper - Reliable

Google Jobs Scraper - Reliable

Scrape Google Jobs (Google for Jobs) listings: title, company, location, source, posted date, salary, job type, full description, highlights and direct apply links. Filters for date posted, job type, remote, any country and language. Pay only per job.

Pricing

from $3.00 / 1,000 job scrapeds

Rating

0.0

(0)

Developer

Christian Machon

Christian Machon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Google Jobs Scraper & API - Reliable

Scrape Google Jobs (the "Google for Jobs" panel in Google Search) by keyword, location, country and language, with Google's own filters for date posted, job type (full-time, part-time, contract, internship) and remote. Each job comes with title, company, location, the job board it was found on, posted date, salary (parsed into min / max / currency / period), job type, qualifications, benefits, the description, highlights and every "Apply on ..." link with the direct URL to the employer or job board.

It uses Apify's Google SERP proxy (included in the price), so there are no CAPTCHAs and no blocked runs. When Google returns a page without the jobs panel, the Actor retries it automatically on a new connection.

What can you use it for?

  • Job market research: who is hiring for a role in a city, how many postings there are, which job boards carry them, and how fresh they are.
  • Salary benchmarks: Google shows a salary on many postings. You get it as text and as numbers (min, max, currency, hour/year).
  • Lead generation for recruiters and staffing agencies: companies that are hiring right now, with links to their postings.
  • Job boards and aggregators: feed fresh postings, with direct apply URLs, into your own site or alerts.
  • Monitoring: schedule a daily run with Date posted = Since yesterday to get only new jobs.

How to use it

  1. Enter one or more search queries (a job title or keywords, e.g. nurse, data analyst, barista part time). Each query is a separate search.
  2. Add a location (city, region or country) and set the country (us, gb, de, in ...) and language (en, de, fr, es ...).
  3. Optionally pick date posted, job type and remote only.
  4. Set max jobs per query.
  5. Run. Jobs go to the dataset, and a per-query summary goes to the OUTPUT record in the key-value store.

You can also paste Google Jobs / Google Search URLs. The q= search text is used.

How many jobs can I get?

Google Jobs shows only about 10 jobs per search and has no "next page" for automated clients. To get more, the Actor runs the related searches that Google itself offers (date and job-type slices, remote, "no degree", employers it found, seniority levels). It removes duplicates and keeps the ones that still match your filters. Broad searches in large cities typically reach 100-300 unique jobs (in our tests, registered nurse in Houston gave 200 of 200 requested from 33 Google pages). Narrow searches (a niche title plus several filters) may find only 10-30. In that case the run stops once new searches stop finding new jobs, and OUTPUT says how many it found. You only pay for unique jobs saved.

Input examples

Simple search:

{
"queries": ["software engineer"],
"location": "New York, NY",
"maxResults": 50
}

Fresh part-time jobs posted in the last week:

{
"queries": ["barista", "cashier"],
"location": "Seattle, WA",
"datePosted": "week",
"jobType": "part-time",
"maxResults": 30
}

Germany, in German, full-time, remote:

{
"queries": ["Softwareentwickler"],
"location": "München",
"country": "de",
"language": "de",
"jobType": "full-time",
"remoteOnly": true
}

What data you get

Fill rates are measured on 672 jobs from our final test runs (652 with description and apply links enabled), across 13 countries and 7 languages.

FieldWhat it isFilled
jobIdGoogle job ID (stable, used for de-duplication)100%
titleJob title100%
companyNameEmployer100%
locationLocation as Google shows it100%
viaJob board / site Google found it on ("LinkedIn", "Indeed", employer site ...)100%
postedText / postedAtRelative date as shown ("3 days ago") and calculated date (YYYY-MM-DD)85%
jobTypeFull-time, Part-time, Contractor, Internship ...99%
salarySalary as shown ("$120K–$150K a year")38%
salaryMin / salaryMax / salaryCurrency / salaryPeriodParsed salary numbers, ISO currency, hour/day/week/month/year38%
qualificatione.g. "No degree mentioned", "Bachelor's degree"47%
benefitse.g. "Health insurance", "Paid time off"35%
descriptionJob description (full text, or a preview where Google only shows one, see descriptionIsPreview)100%
highlightsSections such as Qualifications / Responsibilities / Benefits with bullet points57%
applyUrlFirst "Apply on ..." URL (direct link to the job board or employer)100%
applyLinksAll apply options: source, url, domain (avg 3.7 per job)100%
shareLinkGoogle Jobs link to this exact job100%
companyLogoUrlEmployer logo67%
searchQuery / googleQuery / positionYour query, the exact Google search that found the job, and its order100%
country / language / scrapedAtSettings used and scrape time100%

postedAt is calculated from Google's relative date ("3 days ago") at scrape time, so it is accurate to about a day. Turning off Include job description or Include apply links drops those fields. The price is the same.

Output example (shortened)

{
"jobId": "_QNkGauliwHHe4OMAAAAAA==",
"title": "Software Engineer (Mid-Level)",
"companyName": "Brean Capital, LLC",
"location": "New York, NY",
"via": "Indeed",
"postedText": "5 days ago",
"postedAt": "2026-10-22",
"jobType": "Full-time",
"salary": "$110K–$130K a year",
"salaryMin": 110000,
"salaryMax": 130000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"qualification": "No degree mentioned",
"benefits": [
"Dental insurance",
"Health insurance"
],
"description": "Software Engineer (Mid-Level)\nCompany: Brean Capital, LLC\nLocation: New York, NY (Midtown Manhattan)\nJob Type: Full-time\nWork Model: Hybrid (3 days per week in the office)\nExperience Level: Mid-level\nTo apply, please ema...",
"descriptionIsPreview": false,
"highlights": [
{
"title": "Qualifications",
"items": [
"Core Technical Stack: 3+ years of professional experience working with C# and ASP",
"NET Core"
]
},
{
"title": "Benefits",
"items": [
"Work Model: Hybrid (3 days per week in the office)",
"Competitive base salary commensurate with experience"
]
}
],
"applyUrl": "https://www.indeed.com/viewjob?jk=2f463a74d9025996",
"applyLinks": [
{
"source": "Indeed",
"url": "https://www.indeed.com/viewjob?jk=2f463a74d9025996",
"domain": "indeed.com"
},
{
"source": "Glassdoor",
"url": "https://www.glassdoor.com/job-listing/jv?jl=1010303874324",
"domain": "glassdoor.com"
}
],
"shareLink": "https://www.google.com/search?ibp=htl;jobs&q=software+engineer+jobs+in+New+York,+NY&htidocid=_QNkGauliwHHe4OMAAAAAA%3D%3D&hl=en-US",
"companyLogoUrl": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTNJW40BuQ3ypPeYHMVsz8qIOWAfHTmoAm0MM1_&s=0",
"searchQuery": "software engineer",
"googleQuery": "software engineer jobs in New York, NY",
"position": 1,
"country": "us",
"language": "en",
"scrapedAt": "2026-10-27T07:54:05.863Z"
}

Run summary (OUTPUT record)

Each query gets one status: SUCCEEDED, PARTIAL, NO_DATA (Google Jobs has no results) or FAILED. The summary also includes the job count, the number of Google pages used, how many jobs your filters removed, a note when fewer jobs exist than you asked for, and network statistics. If every query fails, the run is marked as failed, so you never get an empty "successful" run.

Pricing

Pay per event, no subscription. The Google SERP proxy is included:

EventPriceWhen
Actor start$0.005 per GB of memory ($0.005 at the default 512 MB)Once per run
Job$0.003Every unique job saved to the dataset

That is $3 per 1,000 jobs, plus the start fee. Duplicates are never charged. A query with no results costs only the start fee. Apify's "Maximum cost per run" is respected, and the scraper stops cleanly when it is reached.

Examples: 50 jobs ≈ $0.155 in about 1 minute. 200 jobs for one query ≈ $0.605 in about 3 minutes.

FAQ

Do I need a Google account, cookies or my own proxy? No. Keep the default proxy setting (Google SERP proxy). It is included in the price.

Can I scrape other countries and languages? Yes. Set country and language. Filters are translated using Google's own localized filter chips. Results then come in that language, e.g. postedText: "vor 3 Tagen".

Why is description sometimes marked descriptionIsPreview: true? For some postings (mostly outside English-speaking countries), Google shows only a short preview of the description. We return what Google shows and flag it.

Why do apply URLs sometimes point to job boards instead of the employer? They are exactly the "Apply on ..." options Google lists, in Google's order. The first one is in applyUrl.

Limits and honest caveats

  • About 10 jobs per Google search. Larger result sets come from related searches (see above). Very narrow searches cannot reach a high maxResults.
  • Filters are Google's filters. Date and job-type filters are also checked again on the parsed data (English job types; posting dates in any language). The remote filter relies on Google's "Remote" chip.
  • Salary and qualification appear only when Google shows them. Many postings have none (see fill rates).
  • Speed: about 2-6 seconds per Google page. One query with 10-20 jobs takes about 15-40 seconds, and 200 jobs take about 3 minutes.
  • Test results: In our final test, 32 of 32 runs passed (672 jobs, 13 countries, 7 languages, filters, URL input, empty and invalid input). The median run took 20 seconds. All 2,438 apply links were direct links to the job board or employer, with no Google redirects.