cURL php NodeJS Python cSharp

Google SERP API: Overview

Google SERP API provides search results based on the selected search engine type. The following is the list of available search engine types:

Google SERP API can indicate rankings of search results in two different ways:

Ranking sequence. SERP API makes use of rank_group and rank_absolute parameters that show search engine result’s position among the group of elements or across all the elements in SERP respectively. It works for all Google search engine types. Learn more about the difference between rank absolute and rank group in our help article.
Pixel ranking. This novel approach to rank tracking refers to the distance between the result snippet and the top of the SERP page. You can get this data by incorporating the calculate_rectangles parameter into your POST requests in Google Organic SERP Advanced. Learn more about pixel ranking in our help article.

The returned results are specific to the indicated keyword, search engine, language and location parameters. We emulate set location and search engine with the highest accuracy so that the results you receive will match the actual search results for the specified parameters at the time of task setting. You can always check the returned results accessing the check_url in the Incognito mode to make sure the received data is entirely relevant. Note that user preferences, search history, and other personalized search factors are ignored by our system and thus would not be reflected in the returned SERP results.

You can indicate the following device and OS types that you would like to receive SERP results for when setting a task:

  • Mobile. Available OS types: iOS, Android;
  • Desktop. Available OS types: Windows, macOS.

Note: Google News/Images are currently available for desktop only. You can indicate the following OS that you would like to receive SERP results for when setting a task: Windows, macOS.

Google SERP functions

Google SERP API provides search engine results with three functions: Regular, Advanced and HTML.

The Regular function is supported in Google Organic SERP only and provides top 100 organic and paid search results for the specified keyword, search engine, and location. Note that this endpoint does not provide a complete overview of featured snippets and other extra elements of SERPs. Please, use the Advanced function if your project requires a detailed depiction of SERPs or Google Maps/News/Images data.

The Advanced function is supported across all Google SERP API search engine types and provides a complete overview of search results.

The HTML function provides a raw SERP HTML page for the specified keyword, search engine, and location. It is supported in all Google SERP API search engine types (except Google Maps, Events, Search by Image).


The cost of using Google SERP endpoints depends on the selected method and priority of task execution. Available methods and priorities are described below.

DataForSEO has two main methods to deliver SERP results: Standard and Live.

If your system requires delivering instant results, the Live method is the best solution for you. Unlike the Standard method, this method doesn’t require making separate POST and GET requests to the corresponding endpoints.

If you don’t need to receive data in real-time, you can use the Standard method of data retrieval. This method requires making separate POST and GET requests, but it’s more affordable. Using this method, you can retrieve the results after our system collects them.

‌Alternatively, you can specify pingback_url or postback_url when setting a task, and we will notify you on completion of tasks or send the results to you respectively. Note that if you use the postback_url field, you should also indicate the function that will be applied for data retrieval: regular, advanced or html.

If you use the Standard method without specifying pingback_url or postback_url, you can receive the list of id for all completed tasks using the ‘Tasks Ready’ endpoint. It is designed to provide you with the list of completed tasks, which haven’t been collected yet. Then, you can retrieve the results using the ‘Task GET’ endpoint.

You can send up to 2000 POST and GET API calls per minute in total, with each POST call containing no more than 100 tasks. Contact us if you would like to raise the limit. ‌

Visit DataForSEO Help Center to get practical tips for request handling depending on your SERP API payload volume.

Priorities and cost

The Live method delivers results in real-time, and accordingly, the cost of requests made using this method will be the highest.

The Standard method has two different priorities that stand for the relative speed of task execution and have different prices:

1. Normal priority;
2. High priority.

Note: there are several paid parameters that increase the cost of the task:

  • calculate_rectangles
  • search operators in keyword‘allinanchor:’, ‘allintext:’, ‘allintitle:’, ‘allinurl:’, ‘define:’, ‘filetype:’, ‘id:’, ‘inanchor:’, ‘info:’, ‘intext:’, ‘intitle:’, ‘inurl:’, ‘link:’, ‘related:’, ‘site:’
  • depth above the default value

If you use paid parameters, the final cost of the task for the selected method and priority will be multiplied by the product of prices of all paid parameters you used. In short, the final cost of the task is calculated based on the formula below.

cost= B * C * K * (D/default value)

B=base price of the selected method and priority
C=2, if "calculate_rectangles": true
K=5, if keyword contains additional search operators
D=depth value rounded up

The cost can be calculated on the Pricing page. To learn more about the cost of all SERP API methods, priorities, and additional parameters, please refer to this help article.

You can test Google SERP API for free using DataForSEO Sandbox.