Introduction

In today's fast-paced digital world, the job market is increasingly dynamic, and staying updated with the latest opportunities is crucial. One of the richest sources of job listings is Google Jobs, a comprehensive aggregator that compiles openings from various websites and platforms. In this blog post, we delve into the world of scraping Google Jobs and filtering the results.

Dynamic vs Static Filter Values

When navigating the wealth of job listings on Google Jobs, the ability to filter results becomes essential. The platform's filtering mechanism is distinguished by two types of filter values: dynamic and static. Understanding the differences between these values is key to filtering the results effectively.

Dynamic Values

Dynamic filter values are designed to adapt based on the search keyword, providing a customized set of filtering options that directly relate to the search query. This adaptability ensures that the filter values are relevant to the specific job titles, locations, company types, and employers that emerge from a search. For instance, if a user searches for "Engineer" positions, the filters using dynamic values will offer options relevant to engineering roles, such as specific job titles (e.g., System engineer, Reliability engineer) and related companies. This flexibility makes dynamic filter values particularly valuable when you have specific criteria in mind.

Static Values

In contrast to the fluid nature of the dynamic filter values, static filter values provide a consistent set of options that remain unchanged regardless of the search keyword. Filters that use such values include criteria such as the date a job was posted, job requirements (e.g., experience level, education), and type of employment (e.g., full-time, part-time). These filters are crucial when looking to refine the job search based on general criteria that apply across different job categories.

Finding Available Values

There are two ways to find the available values that the different filters can be used with. One option is the chips array returned in the response from the Google Jobs API. The other one is performing a search in the actual Google Jobs engine and extracting the values from the URL. Let's explore both of these options.

Discovering Values through the Google Jobs API

One of the most direct paths to accessing a comprehensive set of filter options is via the Google Jobs API. The API returns all available filters and the values they can be used with inside the chips array.

Each element within this array represents a filter category, ranging from job titles to locations, company types, and more, and includes the following essential fields:

  • type: A human-readable label describing the filter category, aiding users in understanding the context of the options.
  • param: The parameter name used in API requests, which corresponds to the specific filter being applied.
  • options: A list of available values within each category. This includes a text description for user-friendly display and a value that is used in the API request to apply the filter.

This method allows programmatically retrieving and utilizing the full spectrum of filtering options available based on their search criteria directly from the API's response, making it a powerful tool for integrating Google Jobs search functionality into an application.

Extracting Filter Values from the Google Jobs Engine

Another practical approach to identifying available filter values involves interacting with the Google Jobs search engine itself. When you apply filters through the Google Jobs interface, the selected options are reflected in the URL's htichips parameter. This URL-encoded string contains the applied filters and their values.

To leverage this information, we need to decode the htichips parameter value. An online decoding tool like URL Decoder for example, can be used for this. This process reveals the filter names and their corresponding values as they are represented in the Google Jobs search queries.

Available Filters

By effectively understanding and applying the different types of filters, you can refine your search to match specific criteria, enhancing the relevance of search results. Below, we'll explore in detail the variety of filters available and how each can be utilized to optimize the job search process.

Some of these filters, like Search Radius and Work From Home, have separate parameters (lrad and ltype) that you can use in your requests to apply them. The rest of the filters are applied by specifying them inside the chips parameter.

Title

The Title filter is a dynamic tool that tailors job search results based on specific job titles relevant to the search keyword. It presents roles that exactly match or closely relate to the desired position, such as "Software Engineer", "Reliability engineer", or "Systems engineer" in case of an "Engineer" keyword search for example.

Filtering for "Reliability engineer" and "Systems engineer" job titles using chips=job_family_1:reliability engineer,job_family_1:systems engineer

Location and Radius

Based on the locations of the jobs returned in the response, the "type": "Location" entry will contain the available values to filter by these locations. It can also be combined with the lrad parameter to limit the search's radius. It is important to note that the lrad parameter does not strictly limit the radius.

Date posted

The date_posted param allows for searching for jobs from a specific time period. date_posted is used with the chips parameter to apply this filter. Available values are today, 3days, week and month. These values are static and don't depend on the search keyword.

Type

The Type filter distinguishes job opportunities based on the nature of employment, offering categories such as Full-time, Part-time, Contractor, and Internship. employment_type is used with the chips parameter to apply this filter. Its values are always the same and don't depend on the search keyword.

Company Type

The Company Type filter allows for selecting specific industries or sectors. This means that you can receive results only within specific fields, such as technology, healthcare, finance, or education. The filter is applied by using industry.id with the chips parameter. The values that can be used with this filter depend on the search keywords and the results returned in the response.

Filter for Finance companies using chips=industry.id:/business/naics2007/52

Requirements

Job results can be filtered out by their requirement using the requirements param. These values are static and don't depend on the search keyword.

Employer

To filter jobs from a specific company, we can use organization_mid. The Employer filter is a direct route to finding all available positions from selected organizations. This allows one to track and stay updated on new openings from specific companies. The available values that can be used with organization_mid change depending on the search keyword.

Filtering for jobs from Apple using chips=organization_mid:/m/0k8z

Finding Remote Opportunities

In today's job market, the demand for flexibility and work-life balance has led to a significant increase in the search for remote work opportunities. The "Work from home" filter is designed to cater to this growing need, allowing job seekers to specifically target listings that offer the option to work from home, either full-time or under a hybrid model.

The inclusion of the "Work from home" filter reflects the evolving nature of the workplace and supports the modern worker's desire for a more adaptable work environment. We can use the ltype parameter to apply this filter.

Using ltype=1 to filter for remote Engineering jobs

Combining Multiple Filters

Leveraging the full potential of Google Jobs requires more than just understanding individual filters - it's about combining them strategically to refine the job search to the finest detail. Using multiple filters transforms a broad search into a targeted exploration, pinpointing job listings that meet a precise set of criteria. You can harness the power of combining multiple filters by separating them with a comma.

Filter for "Software engineer" and "Solution engineer" jobs from Apple in New York that have been posted in the last week - chips=organization_mid:/m/0k8z,job_family_1:software engineer,job_family_1:ios engineer,city:Owg_06VPwoli_nfhBo8LyA==,date_posted:week

Final Words

Understanding and skillfully combining the different filters, from job titles and locations to company sectors and work arrangements, enables conducting highly targeted searches.

Thankfully, navigating the complexities of the job market has become significantly more manageable with the filtering capabilities that the Google Jobs platform provides. All of these are available with our Google Jobs API as well.

If you have any questions or want to discuss any issues or matters, don't hesitate to contact our team at contact@serpapi.com. We'll be more than happy to assist you and answer your questions!