Google Careers Scraper
Pricing
from $3.99 / 1,000 results
Google Careers Scraper
Extract public Google Careers job postings with structured qualifications, responsibilities, compensation, work arrangement, and application details when published.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Google API
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Extract public job listings from Google Careers. Search records include job identity, aliases, locations, experience labels, description and qualification text, responsibilities, skills explicitly mentioned in the posting, and public job/application links. Optional detail-page enrichment adds source-published compensation, benefits, and interview details when available.
The Actor uses bounded direct HTTPS requests and the page's public serialized job data plus rendered job-card metadata. It does not sign in, submit applications, solve CAPTCHAs, or bypass access controls.
Use cases
- Build a lightweight public Google job feed for recruiting research.
- Track public job titles and locations for a bounded set of queries.
- Export qualification and detail-page links for manual review.
Quick start
- Open the Actor input tab.
- Add queries, locations, or approved startUrls.
- Set maxItems and, if needed, maxPages.
- Run the Actor and review the dataset and run summary.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Input
Custom startUrls (or the sourceUrls, urls, or url aliases) take precedence over generated URLs. Without a custom URL, each query/location/company combination is converted into a public results URL. If no source inputs are supplied, the default Google Careers results page is used.
| Input | Description |
|---|---|
| queries | Array of job-title or keyword phrases. query and searchQuery are aliases. |
| locations | Array of location phrases used in generated URLs and row filtering. location is an alias. |
| companies | Array of company phrases used in generated URLs and row filtering. company is an alias. |
| startUrls | Approved https://www.google.com/about/careers/applications/jobs/results/... URLs. |
| maxItems | Global normal-row limit, 1–500; default 20. |
| maxPages | Maximum public result pages per source, 1–20; default 1. |
| startPage | One-based starting page, 1–100; default 1. |
| keyword | Case-insensitive row filter across public job text. |
| experienceLevel | Case-insensitive filter such as Early, Mid, or Advanced. |
| sortBy | recommended, title_asc, or location_asc. |
| includeDescription | Keep full public description text and sanitized HTML; default true. |
| includeQualifications | Keep public qualification/responsibility arrays; default true. |
| includeApplyUrl | Keep the public application route; default true. |
| includeDetails / maxDetailItems | Optionally enrich a bounded number of public detail pages; detail fetching is disabled by default. |
| proxyConfiguration | Accepted for compatibility but direct fetch remains in use; credentials are never logged. |
| page | Compatibility alias for startPage. |
maxItems is global across all input sources. maxPages applies per source. A positive maxDetailItems requires includeDetails=true.
Dataset fields
Each dataset record contains source-backed job-posting data. Depending on what the public posting contains, it can include:
| Group | Fields |
|---|---|
| Identity | jobId, title, jobTitle, company, companyName, employerName |
| Locations and role | location, jobLocation, locations, experienceLevel, seniorityLevel, experienceYears, employmentType, workArrangement, workArrangementText |
| Full posting | description, descriptionText, descriptionHtml, descriptionSections, minimumQualifications, minimumQualificationsText, preferredQualifications, preferredQualificationsText, responsibilities, responsibilitiesText, skills, educationRequirements, requiredLanguages |
| Compensation | salary, salaryText, salaryMin, salaryMax, salaryValue, salaryCurrency, salaryPeriod, salaryType, bonusText, bonusPercent, equityIncluded, benefitsIncluded, benefitsUrl |
| Application window, interview, and links | applicationWindowText, applicationWindowOpenThroughDate, applicationWindowDateQualifier, interviewRequirement, interviewRequirementText, detailUrl, jobUrl, applyUrl, applicationUrl, applicationType, applyOptions, isActive |
Optional values are omitted when the source does not provide them; unknown booleans are not coerced to false. Salary bounds and work/interview classifications are populated only from explicit public wording. Application-window dates are extracted only from the detail-page statement; the original wording and qualifiers such as “at least” are retained so a lower-bound date is not presented as a guaranteed closing deadline.
descriptionHtml preserves full source prose and paragraph/list/emphasis markup, removing active content, attributes, and expansion controls. experienceYears summarizes minimum qualifications only: its lower bound is the lowest mentioned specialist or alternative requirement, not necessarily the overall career-experience requirement; retain the accompanying text for context.
Blocked, empty, invalid, and failed requests do not create job records. Check the run summary and logs for the collection status.
Example input
{"queries": ["data engineer", "technical program manager"],"locations": ["New York", "Dublin"],"maxItems": 10,"maxPages": 2,"sortBy": "title_asc"}
Example output
The values below illustrate the shape and aliases; optional fields are only present when the live posting publishes supporting content.
{"jobId": "123456789","title": "Senior Data Engineer","jobTitle": "Senior Data Engineer","company": "Google","companyName": "Google","employerName": "Google","location": "Mountain View, CA, USA","jobLocation": "Mountain View, CA, USA","locations": ["Mountain View, CA, USA", "Sunnyvale, CA, USA"],"experienceLevel": "Mid","seniorityLevel": "Mid","experienceYears": { "min": 2, "max": null, "text": "2 years of experience with software development." },"workArrangement": "remote","workArrangementText": "Remote eligible","description": "Build reliable data systems that help teams work with information at scale.","descriptionText": "Build reliable data systems that help teams work with information at scale.","descriptionSections": [{ "title": "Responsibilities", "text": "Build and operate reliable data pipelines.", "items": ["Build and operate reliable data pipelines."] }],"minimumQualifications": ["Bachelor's degree or equivalent practical experience."],"minimumQualificationsText": "Bachelor's degree or equivalent practical experience.","preferredQualifications": ["Experience designing distributed systems."],"preferredQualificationsText": "Experience designing distributed systems.","responsibilities": ["Build and operate reliable data pipelines."],"responsibilitiesText": "Build and operate reliable data pipelines.","skills": ["Python", "Distributed Systems"],"educationRequirements": ["Bachelor's degree or equivalent practical experience."],"salary": "US: $120000 - $160000 (USD) + 15% bonus target + equity + benefits","salaryText": "US: $120000 - $160000 (USD) + 15% bonus target + equity + benefits","salaryMin": 120000,"salaryMax": 160000,"salaryValue": 140000,"salaryCurrency": "USD","salaryType": "employer_stated","bonusText": "15% bonus target","bonusPercent": 15,"equityIncluded": true,"benefitsIncluded": true,"benefitsUrl": "https://www.google.com/about/careers/applications/benefits/","interviewRequirement": "in_person_interviews","interviewRequirementText": "In most instances, this position requires in-person interviews as part of the hiring process.","applicationWindowText": "The application window will be open until at least October 12, 2026. This opportunity will remain online based on business needs which may be before or after the specified date.","applicationWindowOpenThroughDate": "2026-10-12","applicationWindowDateQualifier": "at_least","detailUrl": "https://www.google.com/about/careers/applications/jobs/results/123456789-senior-data-engineer","jobUrl": "https://www.google.com/about/careers/applications/jobs/results/123456789-senior-data-engineer","applyUrl": "https://www.google.com/about/careers/applications/apply?jobId=opaque","applicationUrl": "https://www.google.com/about/careers/applications/apply?jobId=opaque","applicationType": "Google Careers","applyOptions": [{ "platform": "Google Careers", "originalUrl": "https://www.google.com/about/careers/applications/apply?jobId=opaque", "resolvedUrl": "https://www.google.com/about/careers/applications/apply?jobId=opaque", "destinationDomain": "www.google.com", "isEmployerSite": true, "directApply": true }],"isActive": true}
Run totals and source issues are available separately from job records in the Output tab.
Cost and limits
The Actor collects a bounded number of public results pages and can make additional detail requests when enrichment is enabled. Keep maxItems, maxPages, and maxDetailItems small for exploratory runs. Public pages can rate-limit automated requests; check the run summary and logs if a run stops early.
FAQ
Does this submit an application?
No. applyUrl is a public link for manual follow-up only.
Can I use a custom filtered results URL?
Yes. Pass an approved Google Careers results URL in startUrls. URLs with credentials or non-Careers hosts are rejected.
Why is a run empty or blocked?
Check the run summary and logs for access limits or source availability. Also confirm that your query, location, company, and filters match the public jobs you expect.
Disclaimer
Google Careers content, availability, job descriptions, locations, and application links can change. Confirm current details on the public Google Careers page before relying on a record.