๐Ÿš€ Google Jobs Scraper avatar

๐Ÿš€ Google Jobs Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
๐Ÿš€ Google Jobs Scraper

๐Ÿš€ Google Jobs Scraper

Google Jobs Scraper Extract job listings from Google Jobs with titles, companies, locations, salaries, job types, posting dates, descriptions, and apply links. Export clean data to JSON, CSV, Excel, or XML for recruitment, lead generation, market research, and job analytics.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

3 days ago

Last modified

Share

Scrape Google Jobs at scale โ€” titles, companies, locations, descriptions, salaries, schedule types, posting dates, apply links, logos, and rich highlights โ€” with a built-in smart proxy fallback that adapts to Google's block walls so you do not have to.


๐ŸŒŸ Why Choose Us?

  • ๐Ÿ›ก๏ธ Smart 3-tier proxy fallback โ€” starts direct, escalates to datacenter, then residential (3 retries). One block does not kill the run.
  • ๐ŸŒ Bulk URL support โ€” drop in many Google Jobs search URLs in a single run.
  • ๐Ÿง  Two ways to query โ€” paste search URLs or just supply keywords + location.
  • ๐Ÿ“ฆ Rich payload โ€” full descriptions, qualifications, benefits, responsibilities, salary, schedule type, posted-at, multiple apply links, logos.
  • ๐Ÿ”ด Live streaming โ€” every job is pushed to the dataset the moment it is parsed. A crash mid-run still leaves you with the rows already scraped.
  • ๐ŸŒ Multi-language friendly โ€” date / salary / schedule detection works across English, Spanish, Portuguese, Indonesian, Italian, French, German and more.

๐Ÿ”‘ Key Features

FeatureDescription
๐ŸŒ Bulk URLsPaste many Google Jobs URLs at once
๐Ÿ” Keyword + Location modeSkip URLs and just give us what to search for
๐Ÿข Company filterKeep only jobs from a target company
๐Ÿ’ผ Job type filterFull-time, Part-time, Contractor, Internship
๐Ÿ“… Date filterToday, 3 days, week, month, or any
๐Ÿ“„ PaginationWalk N pages of results per query
๐ŸŽ Hard capLimit total rows pushed to the dataset
๐Ÿ›ก๏ธ Proxy fallbackAuto-escalates on block
๐Ÿ“Š Two dataset viewsOverview + Full Details, both with emoji column labels

๐Ÿ“ฅ Input

{
"startUrls": [
{ "url": "https://www.google.com/search?q=Software+Engineer+jobs&ibp=htl;jobs" }
],
"includeKeyword": "software engineer, python",
"locationName": "New York, NY",
"countryName": "United States",
"companyName": "",
"jobType": "FULLTIME",
"datePosted": "week",
"pagesToFetch": 5,
"maxItems": 100,
"includeUnfilteredResults": false,
"requestDelay": 1.5,
"proxyConfiguration": { "useApifyProxy": false }
}

Field reference

  • startUrls โ€” array of Google Jobs URLs. If empty, the actor builds one from the keyword + location fields.
  • includeKeyword โ€” comma-separated keywords used both to build the query and to filter results.
  • locationName โ€” focus location (city / region / country).
  • countryName โ€” country name used to set Google's gl parameter.
  • companyName โ€” keep only jobs whose company contains this substring.
  • jobType โ€” empty (any), FULLTIME, PARTTIME, CONTRACTOR, INTERN.
  • datePosted โ€” all, today, 3days, week, month.
  • pagesToFetch โ€” pages of results to walk per URL (~10 jobs / page).
  • maxItems โ€” hard cap on total rows pushed.
  • includeUnfilteredResults โ€” if true, keep jobs missing a title or company.
  • requestDelay โ€” polite seconds between requests; random jitter added.
  • proxyConfiguration โ€” Apify proxy editor. Defaults to no proxy so the actor uses its own ladder.

๐Ÿ“ค Output

Each pushed item:

{
"title": "Senior Android Engineer",
"companyName": "1001",
"location": "Erbil",
"via": "Built In",
"description": "Job Description: 1001 is seeking โ€ฆ",
"jobHighlights": [
{ "title": "Qualifications", "items": ["6+ years Android dev", "Strong Kotlin", "TDD experience"] },
{ "title": "Benefits", "items": [] },
{ "title": "Responsibilities","items": ["Design and build features", "Code reviews", "Mentor juniors"] }
],
"metadata": {
"postedAt": "6 days ago",
"scheduleType": "Full-time",
"salary": ""
},
"extras": ["6 days ago", "Full-time"],
"applyLink": [
{ "title": "Apply on Built In", "link": "https://builtin.com/job/โ€ฆ" }
],
"logo": "https://encrypted-tbn0.gstatic.com/images?q=tbn:โ€ฆ",
"_id": "7rxg7R41fZScxVBtAAAAAA=="
}

๐Ÿš€ How to Use (Apify Console)

  1. Log in at https://console.apify.com โ†’ Actors.
  2. Open this actor (google-jobs-scraper).
  3. Choose either:
    • Paste one or more Google Jobs URLs into Google Jobs URLs, OR
    • Fill in Include keywords + Location + Country.
  4. Tweak Job type, Date posted, Pages to fetch, Maximum results as needed.
  5. (Optional) Set Proxy configuration โ€” by default the actor decides on its own.
  6. Click Start.
  7. Watch the Logs tab โ€” each scraped job is announced in real time.
  8. Open the Storage โ†’ Dataset tab to inspect the Overview and Full Details views.
  9. Export to JSON / CSV / XLSX.

๐Ÿค– Use via API

curl -X POST "https://api.apify.com/v2/acts/<USER>~google-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startUrls": [{ "url": "https://www.google.com/search?q=React+Developer+jobs&ibp=htl;jobs" }],
"maxItems": 100,
"pagesToFetch": 5,
"datePosted": "week"
}'

๐Ÿ›ก๏ธ Smart proxy fallback

DIRECT โ”€โ–บ DATACENTER โ”€โ–บ RESIDENTIAL (ร—3 retries)
  • The run starts without a proxy.
  • On a Google block (HTTP 403/429/503, captcha page, "unusual traffic"), the actor switches to DATACENTER.
  • If that also blocks, the actor switches to RESIDENTIAL and will try up to 3 times with fresh residential sessions.
  • Once a tier succeeds, the actor locks to that tier for the rest of the run.
  • Every transition is logged with a ๐Ÿ›‘/๐Ÿ”’/๐ŸŒ marker for full traceability.

If you set a custom proxy in Proxy configuration, that takes precedence โ€” but if it fails, the actor still drops down to the fallback ladder.


โญ Best Use Cases

  • ๐Ÿ“ˆ Job-market analytics and dashboards
  • ๐Ÿค Lead generation for recruitment agencies
  • ๐Ÿ› ๏ธ Building niche job-board aggregators
  • ๐Ÿงช Competitive-intelligence around hiring signals
  • ๐Ÿค– Feeding AI workflows that need fresh hiring data

๐Ÿ’ฐ Pricing

Pay-per-Result. The actor uses Apify's synthetic apify-default-dataset-item event โ€” you are charged per job row pushed to the default dataset. No charge for failed runs, no fixed monthly fee.

The Apify Store page shows the live per-item price.


โ“ Frequently Asked Questions

Q: Do I need a proxy? A: No. The actor tries direct first and only spins up paid proxies if Google blocks the direct request.

Q: What if my custom proxy fails? A: The actor logs the failure and drops down to its own fallback ladder so the run keeps going.

Q: Why are some jobs missing salary / posted date? A: Google does not always render those chips. The actor falls back to language-aware regex over the full card text, but if Google omits the data entirely there is nothing to recover.

Q: How fresh are the results? A: As fresh as Google's Jobs vertical itself โ€” usually within hours of being posted.

Q: Can I scrape only a specific company? A: Yes โ€” fill in Filter by company.


๐Ÿ“ฌ Support & Feedback

Found a bug or want a new feature? Open an issue on the Actor's GitHub or message us via the Apify Console.


  • Data is collected only from publicly available Google Jobs search results.
  • You are responsible for compliance with GDPR, CCPA, anti-spam laws, and Google's Terms of Service.
  • Respect target sites' rate limits and robots.txt.