๐Ÿš€ Google Jobs Scraper avatar

๐Ÿš€ Google Jobs Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
๐Ÿš€ Google Jobs Scraper

๐Ÿš€ Google Jobs Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Scraply

Scraply

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

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.