> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dataforseo Dataforseo Labs Google Historical Serps:

> This endpoint will provide you with Google SERPs collected within the specified time frame. Includes inputs, outputs, costs, and Deepline CLI examples.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=dataforseo_dataforseo_labs_google_historical_serps_live:{"keyword":"{{keyword}}"}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                    | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| ----------------------- | --------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `payload.keyword`       | `string`  | Yes      |         | keyword 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 “%25”; if you need to use the “+” character for your keyword , please specify it as “%2B”                                                                                                      |
| `payload.date_from`     | `string`  | No       |         | starting 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 format: "yyyy-mm-dd"                                                                                                                                                                       |
| `payload.date_to`       | `string`  | No       |         | ending 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"                                                                                                                                                                                                                                                                        |
| `payload.location_name` | `string`  | No       |         | full 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 request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: United Kingdom         |
| `payload.location_code` | `integer` | No       |         | unique 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 request to [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: 2840                  |
| `payload.language_name` | `string`  | No       |         | full 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 a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: English |
| `payload.language_code` | `string`  | No       |         | unique 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 a separate request to the [https://api.dataforseo.com/v3/dataforseo\_labs/locations\_and\_languages](https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages) example: en     |
| `payload.tag`           | `string`  | No       |         | user-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                                                                                                                                                                                                                     |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "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.",
    "properties": {
      "keyword": {
        "type": "string",
        "description": "keyword 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 “%25”; if you need to use the “+” character for your keyword , please specify it as “%2B”"
      },
      "date_from": {
        "type": "string",
        "description": "starting 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 format: \"yyyy-mm-dd\""
      },
      "date_to": {
        "type": "string",
        "description": "ending 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_name": {
        "type": "string",
        "description": "full 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 request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom"
      },
      "location_code": {
        "type": "integer",
        "description": "unique 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 request to https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840"
      },
      "language_name": {
        "type": "string",
        "description": "full 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 a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English"
      },
      "language_code": {
        "type": "string",
        "description": "unique 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 a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en"
      },
      "tag": {
        "type": "string",
        "description": "user-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"
      }
    },
    "required": [
      "keyword"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output Schema

| Name                    | Type      | Required | Default | Description                                                                                                                                                                             |
| ----------------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `result.version`        | `string`  | Yes      |         | the current version of the API                                                                                                                                                          |
| `result.status_code`    | `integer` | Yes      |         | general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions |
| `result.status_message` | `string`  | Yes      |         | general informational message you can find the full list of general informational messages here                                                                                         |
| `result.time`           | `string`  | Yes      |         | execution time, seconds                                                                                                                                                                 |
| `result.tasks_count`    | `integer` | Yes      |         | the number of tasks in the tasks array                                                                                                                                                  |
| `result.tasks_error`    | `integer` | Yes      |         | the number of tasks in the tasks array returned with an error                                                                                                                           |
| `result.tasks`          | `array`   | Yes      |         | array of tasks                                                                                                                                                                          |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Top-level response envelope for dataforseo_dataforseo_labs_google_historical_serps_live.",
    "properties": {
      "version": {
        "type": "string",
        "description": "the current version of the API"
      },
      "status_code": {
        "type": "integer",
        "description": "general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions"
      },
      "status_message": {
        "type": "string",
        "description": "general informational message you can find the full list of general informational messages here"
      },
      "time": {
        "type": "string",
        "description": "execution time, seconds"
      },
      "tasks_count": {
        "type": "integer",
        "description": "the number of tasks in the tasks array"
      },
      "tasks_error": {
        "type": "integer",
        "description": "the number of tasks in the tasks array returned with an error"
      },
      "tasks": {
        "type": "array",
        "description": "array of tasks",
        "items": {}
      }
    },
    "required": [
      "version",
      "status_code",
      "status_message",
      "time",
      "tasks_count",
      "tasks_error",
      "tasks"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute dataforseo_dataforseo_labs_google_historical_serps_live --payload '{
  "keyword": "string"
}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.02` per pricing unit.
* Billing mode: `post_deduct`.
