# Setting Live ‘Keywords For Site’ Tasks

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/keywords_data/google_ads/keywords_for_site/live`

**Tags:** DataForSEO

The Google Ads keywords a whole site ranks or bids for, from a `target` domain, each with `keyword`, `location_code`, `language_code`, `search_partners`, `competition`, `competition_index`, `search_volume`, `low_top_of_page_bid`, `high_top_of_page_bid`, `cpc` and `monthly_searches`. `target_type` selects the page or the domain. Wrapped in DataForSEO's envelope: data in `tasks[0].result`, outcome in `tasks[0].status_code` - a rejected request still returns HTTP 200. The submit and fetch twins of this endpoint do the same work asynchronously, at the same price, for batches too large to wait on.

### Pricing reference

- Metering: Reported response cost.
- Reference request estimate: USD 0.09.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.

Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **no**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": [
      "object",
      "null"
    ],
    "oneOf": [
      {
        "type": "object",
        "properties": {
          "target": {
            "type": "string",
            "description": "<em>domain or page</em><br><strong>required field</strong><br>the domain name of the target website or the url of the target page;<br><strong>note:</strong> to obtain keywords for the target website, use the <code>target_type</code> parameter"
          },
          "target_type": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>search keywords for site or for url</em><br>optional field<br>possible values: <code>site</code>, <code>page</code>;<br>default value: <code>page</code>;<br>if set to <code>site</code>, keywords will be provided for the entire site;<br>if set to <code>page</code>, keywords will be provided for the specified webpage"
          },
          "location_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>full name of search engine location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_code</code> or <code>location_coordinate</code></strong><br>you can receive the list of available locations of the search engine with their <code>location_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">London,England,United Kingdom</code>"
          },
          "location_code": {
            "type": [
              "integer",
              "null"
            ],
            "description": "<em>search engine location code</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_coordinate</code></strong>;<br>you can receive the list of available locations of the search engines with their <code>location_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/locations</code><br>example:<br><code class=\"long-string\">2840</code>"
          },
          "location_coordinate": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>GPS coordinates of a location</em><br>optional field<br>if you do not indicate the location, you will receive worldwide results, i.e., for all available locations;<br><strong>if you use this field, you don't need to specify <code>location_name</code> or <code>location_code</code></strong>;<br><code>location_coordinate</code> parameter should be specified in the <em>\"latitude,longitude\"</em> format;<br><strong>the data will be provided for the country the specified coordinates belong to</strong>;<br>example:<br><code class=\"long-string\">52.6178549,-155.352142</code>"
          },
          "language_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>full name of search engine language</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_name</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">English</code>"
          },
          "language_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>search engine language code</em><br>optional field<br>you can receive the list of available languages of the search engine with their <code>language_code</code> by making a separate request to <code>https://api.dataforseo.com/v3/keywords_data/google_ads/languages</code><br>example:<br><code class=\"long-string\">en</code>"
          },
          "search_partners": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>include Google search partners</em><br>optional field<br>if you specify <code class=\"prettyprint\">true</code>, the results will be delivered for owned, operated, and syndicated networks across <a href=\"https://support.google.com/google-ads/answer/1722047?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google and partner sites</a> that host Google search;<br>default value: <code>false</code> - results are returned for Google search sites"
          },
          "date_from": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>starting date of the time range</em><br>optional field<br>date format: <code>\"yyyy-mm-dd\"</code><br>minimal value: 4 years from the current date<br>by default, data is returned for the past 12 months;<br><strong>Note</strong>: the indicated date cannot be greater than that specified in <code>date_to</code> and/or yesterday's date;if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>false</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the month before last and prior;<br>if <a href=\"/v3/keywords_data/google_ads/status/\" target=\"_blank\" rel=\"noopener noreferrer\">Status endpoint</a> returns <code>true</code> in the <code>actual_data</code> field, <code>date_from</code> can be set to the last month and prior"
          },
          "date_to": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>ending date of the time range</em><br>optional field<br><strong>Note:</strong> the indicated date cannot be greater than yesterday's date;<br>if you don't specify this field, yesterday's date will be used by default<br>date format: <code>\"yyyy-mm-dd\"</code><br>example:<br><code>\"2022-11-30\"</code>"
          },
          "include_adult_keywords": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "<em>include keywords associated with adult content</em><br>optional field<br>if set to <code>true</code>, adult keywords will be included in the response<br>default value: <code>false</code><br><strong>note</strong> that the API may return no data for such keywords due to <a href=\"https://support.google.com/adspolicy/answer/6008942?hl=en\" target=\"_blank\" rel=\"noopener noreferrer\">Google Ads restrictions</a>"
          },
          "sort_by": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>results sorting parameters</em><br>optional field<br>Use these parameters to sort the results by <code>relevance</code>, <code>search_volume</code>, <code>competition_index</code>, <code>low_top_of_page_bid</code>, or <code>high_top_of_page_bid</code> in descending order<br>default value: <code>relevance</code>"
          },
          "tag": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response"
          }
        },
        "example": [
          {
            "location_code": 2840,
            "target": "dataforseo.com"
          }
        ]
      }
    ]
  },
  "example": [
    {
      "location_code": 2840,
      "target": "dataforseo.com"
    }
  ]
}
```

## Responses

### 200 — Successful operation

Headers:
- `X-Request-Id` (string) — Request identifier to include when contacting Felo support.

**application/json**

Schema: object | null

```json
{
  "type": [
    "object",
    "null"
  ],
  "oneOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResponseInfo"
    }
  ]
}
```

### 400 — The request could not be processed. Check the request parameters.

### 401 — A valid Felo API key is required.

### 402 — The request cannot proceed because a billing requirement is not met.

### 403 — The account is not permitted to perform this operation.

### 429 — A request or spending limit has been reached.

### 502 — The service could not complete the request.

### 503 — The API or billing service is temporarily unavailable.

### 504 — The service timed out while processing the request.

### default — Error response; upstream passthrough responses may use provider formats

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response36Afe1097B20_BaseResponseInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseInfo`

```json
{
  "properties": {
    "version": {
      "type": [
        "string",
        "null"
      ],
      "description": "the current version of the API"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "general status code\nyou can find the full list of the response codes here"
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "general informational message\nyou can find the full list of general informational messages here"
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "total execution time, seconds"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "total tasks cost, USD",
      "format": "double"
    },
    "tasks_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the number of tasks in the tasks array",
      "format": "int64"
    },
    "tasks_error": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the number of tasks in the tasks array returned with an error",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_BaseResponseTaskInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo`

```json
{
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "task identifier\nunique task identifier in our system in the UUID format"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "status code of the task\ngenerated by DataForSEO, can be within the following range: 10000-60000\nyou can find the full list of the response codes here"
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "informational message of the task\nyou can find the full list of general informational messages here"
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "execution time, seconds"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "total tasks cost, USD",
      "format": "double"
    },
    "result_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "number of elements in the result array",
      "format": "int64"
    },
    "path": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "URL path"
    },
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "object",
          "null"
        ]
      },
      "description": "contains the same parameters that you specified in the POST request"
    }
  }
}
```

### Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResponseInfo

`#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResponseInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseInfo"
    },
    {
      "type": "object",
      "properties": {
        "tasks": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveTaskInfo"
              }
            ]
          },
          "description": "<em>array of tasks</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResultInfo

`#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResultInfo`

```json
{
  "type": "object",
  "properties": {
    "keyword": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>keyword in a POST array</em>"
    },
    "spell": {
      "type": [
        "string",
        "null"
      ]
    },
    "location_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>location code in a POST array</em><br>if there is no data, the value is_<code>null</code>n"
    },
    "language_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>language code in a POST array</em><br>if there is no data, the value is_<code>null</code>n"
    },
    "search_partners": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "<em>include Google search partners</em><br>the value you specified when setting the task<br>if <code class=\"prettyprint\">true</code>, the results are returned for owned, operated, and syndicated networks across Google and partner sites that host Google search;<br>if <code>false</code>, the results are returned for Google search sites only"
    },
    "competition": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>competition</em><br>represents the relative level of competition associated with the given keyword in paid SERP only<br>possible values: <code>LOW</code>, <code>MEDIUM</code>, <code>HIGH</code><br>if competition level is unknown, the value is <code>null</code>;<br>learn more about the metric in <a href=\"https://dataforseo.com/help-center/what-is-competition\" target=\"_blank\" rel=\"noopener noreferrer\">this help center article</a>"
    },
    "competition_index": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>competition index</em><br>the competition index for the query indicating how competitive ad placement is for the keyword<br>can take values from 0 to 100<br>the level of competition from 0 to 100 is determined by the number of ad slots filled divided by the total number of ad slots available<br>if not enough data is available, the value is <code>null</code>;<br>learn more about the metric in <a href=\"https://dataforseo.com/help-center/what-is-competition\" target=\"_blank\" rel=\"noopener noreferrer\">this help center article</a>"
    },
    "search_volume": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>monthly average search volume rate</em><br>represents the (approximate) number of searches for the given keyword idea either on google.com or google.com and partners, depending on the user’s targeting<br>if there is no data, the value is <code>null</code>",
      "format": "int64"
    },
    "low_top_of_page_bid": {
      "type": [
        "number",
        "null"
      ],
      "description": "<em>minimum bid for the ad to be displayed at the top of the first page</em><br>indicates the value greater than about 20% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)<br>the value may differ depending on the location specified in a POST request"
    },
    "high_top_of_page_bid": {
      "type": [
        "number",
        "null"
      ],
      "description": "<em>maximum bid for the ad to be displayed at the top of the first page</em><br>indicates the value greater than about 80% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)<br>the value may differ depending on the location specified in a POST request"
    },
    "cpc": {
      "type": [
        "number",
        "null"
      ],
      "description": "<em>cost per click</em><br>indicates the amount paid (USD) for each click on the ad displayed for a given keyword"
    },
    "monthly_searches": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_MonthlySearchesInfo"
          }
        ]
      },
      "description": "<em>monthly searches</em><br>represents the (approximate) number of searches on this keyword idea (as available for the past twelve months), targeted to the specified geographic locations<br>if there is no data, the value is <code>null</code>"
    }
  }
}
```

### Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveTaskInfo

`#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveTaskInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo"
    },
    {
      "type": "object",
      "properties": {
        "result": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_KeywordsDataGoogleAdsKeywordsForSiteLiveResultInfo"
              }
            ]
          },
          "description": "<em>array of results</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_MonthlySearchesInfo

`#/components/schemas/Response36Afe1097B20_MonthlySearchesInfo`

```json
{
  "type": "object",
  "properties": {
    "year": {
      "type": [
        "integer",
        "null"
      ],
      "description": "year"
    },
    "month": {
      "type": [
        "integer",
        "null"
      ],
      "description": "month"
    },
    "search_volume": {
      "type": [
        "integer",
        "null"
      ],
      "description": "monthly average search volume rate"
    }
  }
}
```
