# Google Jobs Scraper (`igview-owner/google-jobs-scraper`) Actor

Search and scrape job listings from Google Jobs. Find jobs by query, location, and various filters with structured JSON output.

- **URL**: https://apify.com/igview-owner/google-jobs-scraper.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 428 total users, 40 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 1.27 out of 5 stars

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🔍 Google Jobs Scraper

**Scrape job listings from Google Jobs! Search for jobs by keyword, location, and filters. Extract comprehensive job data including title, company, salary, description, qualifications, benefits, responsibilities, and apply links from multiple platforms. Perfect for job market research, recruitment analytics, salary benchmarking, and career opportunities tracking!**

### 📋 Table of Contents

- [✨ Key Features](#-key-features)
- [📊 Input Parameters](#-input-parameters)
- [📤 Output Data Structure](#-output-data-structure)
- [💡 Usage Examples](#-usage-examples)
- [🎯 Use Cases](#-use-cases)
- [❓ Frequently Asked Questions](#-frequently-asked-questions)
- [💬 Support](#-support)
- [🏷️ Tags](#️-tags)

***

### ✨ Key Features

| Feature | Description |
|---------|-------------|
| 💼 **Job Listings** | Extract job title, company name, and job ID |
| 🏢 **Company Info** | Get employer name, website, logo, and publisher |
| 💰 **Salary Data** | Salary range, min/max salary, and payment period |
| 📍 **Location Details** | Full location, city, state, country, and coordinates |
| 🏠 **Remote Jobs** | Filter and identify remote/work-from-home positions |
| 📅 **Posting Date** | Job posted date and timestamp information |
| 📋 **Qualifications** | Required skills, experience, and education |
| 🎁 **Benefits** | Health insurance, PTO, retirement, and other perks |
| 📝 **Responsibilities** | Detailed job duties and responsibilities |
| 🔗 **Apply Links** | Multiple apply options from different platforms |
| 🔍 **Google Jobs Link** | Direct link to Google Jobs listing |
| ⏰ **Employment Type** | Full-time, part-time, contractor, intern |

***

### 📊 Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| **query** | String | ✅ Yes | - | Job search query (e.g., "software developer jobs in New York") |
| **page** | Integer | ❌ No | 1 | Starting page number (1-50) |
| **country** | String | ❌ No | us | Two-letter ISO country code (us, gb, de, in, etc.) |
| **language** | String | ❌ No | - | Two-letter ISO language code (en, de, es, etc.) |
| **datePosted** | Enum | ❌ No | all | Filter by posting date: all, today, 3days, week, month |
| **workFromHome** | Boolean | ❌ No | false | Show only remote/work-from-home jobs |
| **employmentTypes** | Array | ❌ No | - | Filter by type: FULLTIME, CONTRACTOR, PARTTIME, INTERN |
| **jobRequirements** | Array | ❌ No | - | Filter by experience: under_3_years_experience, more_than_3_years_experience, no_experience, no_degree |

#### Search Query Examples

```
✅ "software developer jobs in San Francisco"
✅ "data analyst jobs in US"
✅ "marketing manager in New York via LinkedIn"
✅ "remote python developer"
✅ "entry level data scientist"
```

#### Supported Countries

Use ISO 3166-1 alpha-2 country codes:

- `us` - United States
- `gb` - United Kingdom
- `de` - Germany
- `in` - India
- `ca` - Canada
- `au` - Australia
- `fr` - France
- And more...

***

### 📤 Output Data Structure

Each extracted job contains comprehensive information organized into categories:

#### Job Identifiers

| Field | Type | Description |
|-------|------|-------------|
| `index` | Number | Index number of the job in results |
| `jobId` | String | Unique job identifier |
| `jobTitle` | String | Job title/position name |

#### Employer Information

| Field | Type | Description |
|-------|------|-------------|
| `employerName` | String | Company/employer name |
| `employerLogo` | String | Company logo URL |
| `employerWebsite` | String | Company website URL |
| `jobPublisher` | String | Platform where job was posted (LinkedIn, Indeed, etc.) |

#### Job Details

| Field | Type | Description |
|-------|------|-------------|
| `jobDescription` | String | Full job description text |
| `jobDescriptionPreview` | String | First 500 characters of description |
| `employmentType` | String | Employment type (Full-time, Part-time, etc.) |
| `employmentTypes` | String | All employment types available |

#### Apply Information

| Field | Type | Description |
|-------|------|-------------|
| `jobApplyLink` | String | Primary application URL |
| `jobApplyIsDirect` | Boolean | Whether it's a direct apply link |
| `applyPlatforms` | String | Comma-separated list of platforms |
| `applyOptions` | Array | Array of apply options with platform, URL, and isDirect |

#### Location Information

| Field | Type | Description |
|-------|------|-------------|
| `jobLocation` | String | Full location string |
| `jobCity` | String | City name |
| `jobState` | String | State/Province |
| `jobCountry` | String | Country code |
| `latitude` | Number | GPS latitude coordinate |
| `longitude` | Number | GPS longitude coordinate |
| `isRemote` | Boolean | Remote work status |

#### Posting Date

| Field | Type | Description |
|-------|------|-------------|
| `jobPostedAt` | String | Human-readable posting date |
| `jobPostedAtTimestamp` | Number | Unix timestamp |
| `jobPostedAtDatetime` | String | ISO datetime (UTC) |

#### Salary Information

| Field | Type | Description |
|-------|------|-------------|
| `salary` | String | Formatted salary range |
| `minSalary` | Number | Minimum salary amount |
| `maxSalary` | Number | Maximum salary amount |
| `salaryPeriod` | String | Payment period (YEAR, MONTH, HOUR) |

#### Benefits

| Field | Type | Description |
|-------|------|-------------|
| `jobBenefits` | String | Comma-separated benefits |
| `benefitsList` | Array | Array of benefit categories |
| `benefits` | Array | Detailed benefits from highlights |
| `benefitsHighlightsText` | String | Benefits separated by bullets |

#### Job Highlights

| Field | Type | Description |
|-------|------|-------------|
| `qualifications` | Array | Required qualifications list |
| `qualificationsText` | String | Qualifications separated by bullets |
| `responsibilities` | Array | Job responsibilities list |
| `responsibilitiesText` | String | Responsibilities separated by bullets |

#### Additional Information

| Field | Type | Description |
|-------|------|-------------|
| `jobGoogleLink` | String | Google Jobs listing URL |
| `jobOnetSoc` | String | O*NET SOC code |
| `jobOnetJobZone` | String | O*NET job zone classification |

***

### 💡 Usage Examples

#### Example 1: Basic Job Search

Search for software developer jobs in the US:

```json
{
  "query": "software developer jobs in US",
  "page": 1,
  "country": "us"
}
```

#### Example 2: Remote Jobs Only

Find remote data analyst positions:

```json
{
  "query": "data analyst",
  "country": "us",
  "workFromHome": true,
  "datePosted": "week"
}
```

#### Example 3: Entry Level Jobs

Search for entry-level positions with no experience required:

```json
{
  "query": "marketing assistant jobs in New York",
  "country": "us",
  "jobRequirements": ["no_experience"],
  "employmentTypes": ["FULLTIME"]
}
```

#### Example 4: Recent Full-Time Jobs

Find full-time jobs posted in the last 3 days:

```json
{
  "query": "product manager jobs in San Francisco",
  "country": "us",
  "datePosted": "3days",
  "employmentTypes": ["FULLTIME"]
}
```

#### Example 5: International Job Search

Search for jobs in Germany:

```json
{
  "query": "software engineer jobs in Berlin",
  "country": "de",
  "language": "en"
}
```

***

### 🎯 Use Cases

#### 📊 Job Market Research

- **Salary Benchmarking** - Analyze salary ranges across positions and locations
- **Market Trends** - Track job posting volumes and requirements
- **Skills Analysis** - Identify in-demand skills and qualifications
- **Geographic Analysis** - Compare job markets across cities and countries

#### 📈 Recruitment Analytics

- **Competitor Intelligence** - Monitor competitor hiring activities
- **Talent Mapping** - Identify where target talent is located
- **Job Board Analysis** - Compare job postings across platforms
- **Hiring Trends** - Track employment type and benefit offerings

#### 💼 Career Planning

- **Job Hunting** - Find relevant job opportunities efficiently
- **Career Research** - Understand job requirements and expectations
- **Salary Research** - Know market rates for your skills
- **Location Planning** - Find jobs in desired locations

#### 🏢 Business Intelligence

- **Industry Analysis** - Study hiring patterns in specific industries
- **Economic Indicators** - Track job market health and growth
- **Skills Gap Analysis** - Identify training and education needs
- **Remote Work Trends** - Monitor remote job availability

#### 🤖 Automation & Integration

- **Job Alerts** - Build automated job notification systems
- **Job Aggregators** - Create job search platforms
- **Career Portals** - Power career advice and job matching sites
- **Data Analysis** - Feed ML models for job recommendations

***

### ❓ Frequently Asked Questions

#### General Questions

**Q: What is Google Jobs Scraper?**\
A: A powerful Apify actor that searches and extracts comprehensive job listing data from Google Jobs, including job details, company information, salary, qualifications, benefits, and apply links from multiple platforms.

**Q: How many jobs can I scrape at once?**\
A: Each page contains up to 10 jobs. You can fetch up to 50 pages (500 jobs) in a single run.

**Q: Is this scraper free to use?**\
A: The actor runs on Apify platform. You'll need an Apify account and will be charged based on platform usage (compute units).

**Q: What data format does it output?**\
A: Data is exported in JSON, CSV, Excel, HTML, or XML format through Apify's dataset storage.

#### Search Questions

**Q: How do I write effective search queries?**\
A: Include both job title and location for best results. Examples: "software developer jobs in New York", "marketing manager in Chicago".

**Q: Can I search for remote jobs only?**\
A: Yes! Set `workFromHome: true` to filter for remote/work-from-home positions only.

**Q: Can I filter by experience level?**\
A: Yes, use the `jobRequirements` parameter with values like "no_experience", "under_3_years_experience", etc.

**Q: How do I search for jobs in other countries?**\
A: Use the `country` parameter with the appropriate ISO country code (e.g., "gb" for UK, "de" for Germany).

#### Data Questions

**Q: What data fields are extracted?**\
A: Over 30 fields including job title, company, salary, location, coordinates, qualifications, benefits, responsibilities, and multiple apply links.

**Q: Do I get salary information?**\
A: Yes, when available. You get salary range, minimum/maximum salary, and payment period.

**Q: Are apply links included?**\
A: Yes! You get the primary apply link plus alternative apply options from different platforms (LinkedIn, Indeed, etc.).

**Q: Can I get coordinates for mapping?**\
A: Yes! Each job includes latitude and longitude coordinates when available.

#### Technical Questions

**Q: How long does it take to run?**\
A: Typically 5-10 seconds per page (10 jobs).

**Q: What if no jobs are found?**\
A: The scraper will return a record indicating no results were found for your search query.

**Q: Can I schedule regular runs?**\
A: Yes, use Apify's scheduler feature to run the actor at specific intervals (hourly, daily, weekly).

#### Export & Integration

**Q: What file formats are supported?**\
A: JSON, CSV, Excel (XLSX), HTML, XML, and RSS feed formats.

**Q: Can I integrate this with other tools?**\
A: Yes, use Apify's API or webhooks to integrate with your tools, CRMs, ATS, and workflows.

**Q: How do I download the extracted data?**\
A: Data is automatically saved to Apify dataset. You can download it from the platform or access via API.

***

### 💬 Support

#### Need Help?

- 📧 **Issues** - Report bugs through Apify platform
- 💡 **Feature Requests** - Submit enhancement suggestions
- 🤝 **Community** - Join Apify community for discussions

#### Troubleshooting

| Issue | Solution |
|-------|----------|
| "No jobs found" | Try broader search terms or different location |
| Rate limit errors | The actor automatically handles this with retry logic |
| Invalid country code | Use ISO 3166-1 alpha-2 codes (us, gb, de, etc.) |
| Empty dataset | Check if your search query is valid |

***

### 🏷️ Tags

`google jobs scraper`, `job scraper`, `job search api`, `google jobs api`, `job listings scraper`, `job data extractor`, `recruitment data`, `job market research`, `salary data scraper`, `career data`, `employment scraper`, `job board scraper`, `linkedin jobs`, `indeed jobs`, `job aggregator`, `job search automation`, `recruitment analytics`, `talent acquisition`, `job posting scraper`, `employment data`, `job description scraper`, `company jobs`, `remote jobs scraper`, `job benefits scraper`, `job qualifications`, `apply links scraper`, `job location data`, `salary benchmarking`, `job market analysis`, `career research`, `job hunting tool`, `employment trends`

***

### 📊 Dataset Views

The actor provides 8 organized table views for easy data analysis:

1. **💼 Jobs Overview** - Quick summary with title, company, location, salary, and posting date
2. **🏢 Company Details** - Employer information, website, logo, and apply links
3. **💰 Salary Information** - Salary ranges, min/max values, and benefits
4. **📍 Location Details** - Full location data with city, state, country, and coordinates
5. **📋 Qualifications** - Required skills, experience, and education
6. **🎁 Benefits & Perks** - Health insurance, PTO, retirement plans, and other benefits
7. **📝 Responsibilities** - Detailed job duties and responsibilities
8. **🔗 Apply Links** - Multiple apply options from different platforms

***

### 🚀 Get Started Now

**Ready to scrape Google Jobs data?**

1. 🔎 Enter your **search query** (e.g., "software developer jobs in New York")
2. ⚙️ Configure **filters** (location, date, remote, employment type)
3. ▶️ Click **Start** to run the actor
4. 📥 Download your job data in JSON, CSV, Excel, or HTML format
5. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor

**⭐ If this actor helps your workflow, please give it a star!**

***

**Made with ❤️ for Apify Platform** | **Built with ❤️ by Sachin**

**🔥 Start scraping Google Jobs data today!** | [View All Actors](https://apify.com/igview-owner)

# Actor input Schema

## `query` (type: `string`):

Enter your job search query. Include job title and location for best results (e.g., 'software developer jobs in New York' or 'marketing manager in Chicago').

## `page` (type: `integer`):

Page number to start from. Each page contains up to 10 job listings.

## `country` (type: `string`):

Two-letter ISO country code (e.g., 'us' for United States, 'gb' for UK, 'de' for Germany, 'in' for India). This filters jobs to the specified country.

## `language` (type: `string`):

Two-letter ISO language code for job postings (e.g., 'en' for English, 'de' for German). Leave empty to use the country's primary language.

## `datePosted` (type: `string`):

Filter jobs by when they were posted.

## `workFromHome` (type: `boolean`):

Enable to only show remote/work-from-home job opportunities.

## `employmentTypes` (type: `string`):

Filter by employment type (select one).

## `jobRequirements` (type: `string`):

Filter by experience level (select one).

## Actor input object example

```json
{
  "query": "data analyst jobs in US",
  "page": 1,
  "country": "us",
  "datePosted": "all",
  "workFromHome": false
}
```

# Actor output Schema

## `jobs_overview` (type: `string`):

Open the dataset view with all found Google jobs including titles, companies, salaries, and apply links.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "query": "data analyst jobs in US",
    "country": "us"
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/google-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "query": "data analyst jobs in US",
    "country": "us",
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/google-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "query": "data analyst jobs in US",
  "country": "us"
}' |
apify call igview-owner/google-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/google-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3xBUnHfC7C9sxtJgK/builds/Wq1vd35ZB0KwkbjI8/openapi.json
