Skip to content

DataForSEO

Seo Labs Google Historical Serps

‌ This endpoint will provide you with Google SERPs collected within the specified time frame. You will also receive a complete overview of featured snippets and other extra elements that were present within the specified dates. The data will allow you to analyze the dynamics of keyword rankings over time for the specified keyword and location.

Usage based DataForSEOSEOdataforseo/dataforseo-labs-google-historical-serpsActive

Use this tool with your agent

Give this to your agent
Use my connected Agentik MCP server. I want to use the tool dataforseo/dataforseo-labs-google-historical-serps (Seo Labs Google Historical Serps). Call inspect_tool with {"tool_id": "dataforseo/dataforseo-labs-google-historical-serps"} first and tell me the price before anything runs. Ask me for the inputs it needs; never invent values, IDs or file URLs. When I confirm, call run_tool with tool_id "dataforseo/dataforseo-labs-google-historical-serps" and my inputs, follow it with get_run if it is still running, and give me the result and the price Agentik reports. If the tool is unavailable, say so and use discover_tools to propose an alternative.
Show the prompt

Paste it into Claude, ChatGPT or Codex: your agent takes it from there, and shows the price before it runs.

Parameters

NameTypeRequiredDescription
keywordstringYeskeyword required field you can specify up to 700 characters in the keyword field; all %## will be decoded (plus character ‘+’ will be decoded to a space character); if you need to use the “%” character for your keyword, please specify it as
date_fromstringNostarting date of the time range optional field if you don't specify this field, the API will return all SERPs collected for 365 days starting from the current datetime value; minimal possible value: 365 days from the current datetime value;
date_tostringNoending date of the time range optional field if you don't specify this field, the today's date will be used by default; date format: "yyyy-mm-dd"; example: "2021-09-01"
location_namestringNofull name of the location required field if you don't specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate
location_codeintegerNounique location identifier required field if you don't specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate
language_namestringNofull name of the language required field if you don't specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_name parameters by making
language_codestringNounique language identifier required field if you don't specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_code parameters by making
tagstringNouser-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response

How your agent calls it

First inspect_tool for the current schema and price, then run_tool with the published example after confirming your inputs:

{
  "tool_id": "dataforseo/dataforseo-labs-google-historical-serps",
  "input": {
    "keyword": "albert einstein",
    "location_code": 2840,
    "language_code": "en"
  }
}

Price and billing

Price
Usage based
Model
Usage based
Detail
Billed at the cost the provider reports for the call, never above $100. Your agent sees the maximum before running.
  • The provider’s price, 0% markup.
  • One prepaid balance for every provider; your agent sees the price before it runs.
  • Pay for measured usage; unused reservations are released.