🚀 Google Jobs Scraper
Pricing
from $3.99 / 1,000 results
🚀 Google Jobs Scraper
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapePilot
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
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
| Feature | Description |
|---|---|
| 🌐 Bulk URLs | Paste many Google Jobs URLs at once |
| 🔍 Keyword + Location mode | Skip URLs and just give us what to search for |
| 🏢 Company filter | Keep only jobs from a target company |
| 💼 Job type filter | Full-time, Part-time, Contractor, Internship |
| 📅 Date filter | Today, 3 days, week, month, or any |
| 📄 Pagination | Walk N pages of results per query |
| 🎁 Hard cap | Limit total rows pushed to the dataset |
| 🛡️ Proxy fallback | Auto-escalates on block |
| 📊 Two dataset views | Overview + 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'sglparameter.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— iftrue, 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)
- Log in at https://console.apify.com → Actors.
- Open this actor (
google-jobs-scraper). - Choose either:
- Paste one or more Google Jobs URLs into Google Jobs URLs, OR
- Fill in Include keywords + Location + Country.
- Tweak Job type, Date posted, Pages to fetch, Maximum results as needed.
- (Optional) Set Proxy configuration — by default the actor decides on its own.
- Click Start.
- Watch the Logs tab — each scraped job is announced in real time.
- Open the Storage → Dataset tab to inspect the Overview and Full Details views.
- 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.
⚖️ Cautions / Legal
- 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.