People search for billions of different keywords on Google daily. As the go-to search engine, Google offers many filtering options for its users to customize searches depending on their needs. In this article, I will explain the usage of such filters with SerpApi, and how to apply them to your API calls properly.
Extracting non-adult results with the
You can filter your results not to include adult content using the
safe parameter with
active value. This comes in handy when trying to extract family-friendly results, and you don't want to waste time going through your results manually to exclude those that don't meet the requirements. If such a filter is not applied, Google might warn you about the possibility of adult results appearing for your query:
Below are two queries with and without
Search query without the
Search query with the
Showing precise results with the
Perhaps you've tried to look for a specific word spelled incorrectly in Google's eyes. Unfortunately, Google tries to be smarter than the user, which in some cases is beneficial, while in the others it might be annoying.
We can bypass the default Google behavior with the
nfpr=1 parameter. This way, we get exactly what we are looking for, even when the word we searched for might seem incorrect.
Once again, here are two examples of results with and without the
nfpr parameters used:
Search query without the
Search query with the
Getting all results for your query with the
To show only the most relevant results, Google automatically excludes "Similar results" labeled as very similar to the ones displayed. This information can be found on the last page of your search results:
While in many cases, you'd like to get the most relevant results, in some situations, you might be interested in the exact number of results Google provides for your query. To do that, you can use the
filter=0 parameter for your query, which forces Google to display all the results, including the omitted ones. This can increase your output by even a couple of hundred results!
You can refer to the examples below to compare the same queries with and without
Search query without
Search query with
Advanced search parameters
On top of the above mentioned options, Google also allows for other filtering options with the appropriate value for
tbm parameter. Some values are common for both Google Search and Google News, while others are engine-specific.
Common Google Search and Google News
You can specify the time for your Google Search and Google News queries:
- Past hour - tbs=qdr:h
- Past 24 hours - tbs=qdr:d
- Past week - tbs=qdr:w
- Past month - tbs=qdr:m
- Past year - tbs=qdr:y
- Custom range - tbs=cdr:1,cd_min:x/x/x,cd_max:y/y/y, where x/x/x is start date and y/y/y is end date.
You can play with your time
tbs values to customize your searches even further. For example, you can search for results in the past 5 hours using tbs=qdr:h5, or you can get results from the past six months using tbs=qdr:m6.
Google Search and Google News specific
There are also a couple of
tbs values that are specific for each engine. They will only work with that engine, and using them with the other one has no results
For Google Search, you can set your query to display only results that match your search term verbatim. To do that, you need to add
tbs=li:1. You can find the example below:
Verbatim search in Google Search API
With Google News, you can add an additional time filter to get results from archives. This filter is
tbs=ar:1, and you can check the example below:
Archives search in Google News API
You can also sort your news by date. The default sorting is by relevance, and to change that to date sorting, add
tbs=sbd:1 to your parameters. You can use the below example as a guide:
Google News API results sorted by date
The final filter I want to discuss is the option to show duplicates in Google News API results. This works only when your results are sorted by date, and you won't be able to use this filter alone. The parameter that should be used is
tbs=sbd:1,nsd:1 and you can find the example below:
Google News API results sorted by date and including duplicates
Even though these parameters serve for pagination purposes, it's worth mentioning them as they are one of the most commonly used Google Search API parameters.
By default, Google serves ten results per page, and the same behavior is default for our Google Search and Google News APIs. However, you can increase the number of results in a single API call to 100 by adding
num=100 parameter. The examples with and without this parameter can be found below:
Google Search API returning ten results (default)
Google Search API returning 100 results
You might wonder how to extract additional results, as Google can serve more than 100. This is where the
start parameter comes in handy. To get results 101-200, you can use your previous query with
num=100 parameter and add an additional
start=100 parameter. To get the following results (201-300), increase your start parameter by 100, resulting in
start=200 value. You can refer to the examples below:
2nd page of Google Search API results (101-200)
3rd page of Google Search API results (201-300)
You can learn more about the pagination by checking the link below:
How does Google Pagination Work?
Google constantly changes, and at SerpApi, we are changing accordingly. Some filters previously available in Google are no longer available; on the other hand, some filters might be added in the future. We keep up with Google and add as many options for our users as possible. If you notice a filter not supported in our APIs, feel free to contact us at email@example.com. We will be more than happy to help you!
Check our Tips and Tricks blog post
Use the Playground to test our APIs
Join us on Twitter | YouTube