---
title: "Get ‘Keywords For Site’ Results by id"
url: "https://docs.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/task_get/"
date: "2026-06-06"
---

## Get ‘Keywords For Site’ Results by id

  
Note that Google Ads Keywords Data API is based on the latest version of the [Google Ads API](https://developers.google.com/google-ads/api/docs/start) that has replaced legacy Google AdWords API. If you’re using [DataForSEO Google AdWords API](https://docs.dataforseo.com/v3/keywords_data/google/overview.md), you need to upgrade to [DataForSEO Google Ads API](https://docs.dataforseo.com/v3/keywords_data/google_ads/overview.md).  
  
This endpoint will provide you with a list of keywords relevant to the specified domain along with their bids, search volumes for the last month, search volume trends for the last year (for estimating search volume dynamics), and competition levels.

You can get up to 2000 keyword suggestions with all essential keyword data in response to one request. Your account will be charged for each request, no matter what number of keywords you receive in the result.

 

 

 ![checked](https://docs.dataforseo.com/v3/wp-content/themes/dataforseo/assets/img/icons/checked-circle.svg) GET  https://api.dataforseo.com/v3/keywords\_data/google\_ads/keywords\_for\_site/task\_get/$id     

      

Pricing

  Your account will be charged only for posting a task. You can get the results of the task within the next 30 days for free.  
The cost can be calculated on the [Pricing](https://dataforseo.com/pricing/keywords-data/google-ads "Pricing") page.

 

 **Description of the fields for sending a request:**

| Field name | Type | Description |
|---|---|---|
| `id` | string | *task identifier*   **unique task identifier in our system in the [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format**   you will be able to use it within **30 days** to request the results of the task at any time |

  
As a response of the API server, you will receive [JSON](https://en.wikipedia.org/wiki/JSON)-encoded data containing a `tasks` array with the information specific to the set tasks.

**Description of the fields in the result array:**

| `version` | string | *the current version of the API* |
|---|---|---|
| `status_code` | integer | *general status code*   you can find the full list of the response codes [here](https://docs.dataforseo.com/v3/appendix/errors.md)   **Note:** we strongly recommend designing a necessary system for handling related exceptional or error conditions |
| `status_message` | string | *general informational message*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix/errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *total *tasks* cost, USD* |
| `tasks_count` | integer | *the number of tasks in the **`tasks`** array* |
| `tasks_error` | integer | *the number of tasks in the **`tasks`** array returned with an error* |
| **`tasks`** | array | *array of tasks* |
| `id` | string | *task identifier*   **unique task identifier in our system in the [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier) format** |
| `status_code` | integer | *status code of the task*   generated by DataForSEO; can be within the following range: 10000-60000   you can find the full list of response codes [here](https://docs.dataforseo.com/v3/appendix-errors.md) |
| `status_message` | string | *informational message of the task*   you can find the full list of general informational messages [here](https://docs.dataforseo.com/v3/appendix-errors.md) |
| `time` | string | *execution time, seconds* |
| `cost` | float | *cost of the task, USD* |
| `result_count` | integer | *number of elements in the `result` array* |
| `path` | array | *URL path* |
| `data` | object | *contains the same parameters that you specified in the POST request* |
| **`result`** | array | *array of results* |
| `keyword` | string | *keyword in a POST array* |
| `location_code` | integer | *location code in a POST array*   if there is no data, the value is `null` |
| `language_code` | string | *language code in a POST array*   if there is no data, the value is `null` |
| `search_partners` | boolean | *include Google search partners*   the value you specified when setting the task   if `true`, the results are returned for owned, operated, and syndicated networks across Google and partner sites that host Google search;   if `false`, the results are returned for Google search sites only |
| `competition` | string | *competition*   represents the relative level of competition associated with the given keyword in paid SERP only   possible values: `LOW`, `MEDIUM`, `HIGH`   if competition level is unknown, the value is `null`;   learn more about the metric in [this help center article](https://dataforseo.com/help-center/what-is-competition) |
| `competition_index` | integer | *competition index*   the competition index for the query indicating how competitive ad placement is for the keyword   can take values from 0 to 100   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   if not enough data is available, the value is `null`;   learn more about the metric in [this help center article](https://dataforseo.com/help-center/what-is-competition) |
| `search_volume` | integer | *monthly average search volume rate*   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   if there is no data, the value is `null` |
| `low_top_of_page_bid` | float | *minimum bid for the ad to be displayed at the top of the first page*   indicates the value greater than about 20% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)   the value may differ depending on the location specified in a POST request |
| `high_top_of_page_bid` | float | *maximum bid for the ad to be displayed at the top of the first page*   indicates the value greater than about 80% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers)   the value may differ depending on the location specified in a POST request |
| `cpc` | float | *cost per click*   indicates the amount paid (USD) for each click on the ad displayed for a given keyword |
| `monthly_searches` | array | *monthly searches*   represents the (approximate) number of searches on this keyword idea (as available for the past twelve months), targeted to the specified geographic locations   if there is no data, the value is `null` |
| `year` | integer | *year* |
| `month` | integer | *month* |
| `search_volume` | integer | *monthly average search volume rate* |
| `keyword_annotations` | object | *the annotations for the keyword* |
| `concepts` | array | *the list of concepts for the keyword* |
| `name` | string | *the concept name for the keyword in the concept\_group* |
| `concept_group` | object | *the concept group of the concept details* |
| `name` | string | *the concept group name* |
| `type` | string | *the concept group type* |



 

 









> Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

```
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
id="02031614-0696-0108-0000-b26a2a6c7e17" 
curl --location --request GET "https://api.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/task_get/${id}" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw ""
```





```php
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
try {
	// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
	$client = new RestClient($api_url, null, 'login', 'password');
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
	exit();
}
try {
	$result = array();
	// #1 - using this method you can get a list of completed tasks
	// the full list of possible parameters is available in documentation
	// GET /v3/keywords_data/google_ads/keywords_for_site/tasks_ready
	$tasks_ready = $client->get('/v3/keywords_data/google_ads/keywords_for_site/tasks_ready');
	// you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
	if (isset($tasks_ready['status_code']) AND $tasks_ready['status_code'] === 20000) {
		foreach ($tasks_ready['tasks'] as $task) {
			if (isset($task['result'])) {
				foreach ($task['result'] as $task_ready) {
					// #2 - using this method you can get results of each completed task
					// GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id
					if (isset($task_ready['endpoint'])) {
						$result[] = $client->get($task_ready['endpoint']);
					}
					// #3 - another way to get the task results by id
					// GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id
					/*
					if (isset($task_ready['id'])) {
						$result[] = $client->get('/v3/keywords_data/google_ads/keywords_for_site/task_get/' . $task_ready['id']);
					}
					*/
				}
			}
		}
	}
	print_r($result);
	// do something with result
} catch (RestClientException $e) {
	echo "n";
	print "HTTP code: {$e->getHttpCode()}n";
	print "Error code: {$e->getCode()}n";
	print "Message: {$e->getMessage()}n";
	print  $e->getTraceAsString();
	echo "n";
}
$client = null;
?>
```





```js
const task_id = '02231934-2604-0066-2000-570459f04879';

const axios = require('axios');

axios({
    method: 'get',
    url: 'https://api.dataforseo.com/v3/keywords_data/google_ads/keywords_for_site/task_get/' + task_id,
    auth: {
        username: 'login',
        password: 'password'
    },
    headers: {
        'content-type': 'application/json'
    }
}).then(function (response) {
    var result = response['data']['tasks'];
    // Result data
    console.log(result);
}).catch(function (error) {
    console.log(error);
});
```





```python
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
# 1 - using this method you can get a list of completed tasks
# in addition to 'keywords_for_site' you can also set other parameters
# the full list of possible parameters is available in documentation
# GET /v3/keywords_data/google_ads/keywords_for_site/tasks_ready
response = client.get("/v3/keywords_data/google_ads/keywords_for_site/tasks_ready")
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response['status_code'] == 20000:
    results = []
    for task in response['tasks']:
        if (task['result'] and (len(task['result']) > 0)):
            for resultTaskInfo in task['result']:
                # 2 - using this method you can get results of each completed task
				# GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id
                if(resultTaskInfo['endpoint']):
                    results.append(client.get(resultTaskInfo['endpoint']))
                '''
                # 3 - another way to get the task results by id
                # GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id              
                if(resultTaskInfo['id']):
                    results.append(client.get("/v3/keywords_data/google_ads/keywords_for_site/task_get/" + resultTaskInfo['id']))
                '''
    print(results)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
```





```csharp
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task keywords_data_task_get()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            // #1 - using this method you can get a list of completed tasks
            // in addition to 'keywords_for_site' you can also set other parameters
            // the full list of possible parameters is available in documentation
            // GET /v3/keywords_data/google_ads/keywords_for_site/tasks_ready
            var response = await httpClient.GetAsync("/v3/keywords_data/google_ads/keywords_for_site/tasks_ready");
            var tasksInfo = JsonConvert.DeserializeObject<dynamic>(await response.Content.ReadAsStringAsync());
            var tasksResponses = new List<object>();
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (tasksInfo.status_code == 20000)
            {
                if (tasksInfo.tasks != null)
                {
                    foreach (var tasks in tasksInfo.tasks)
                    {
                        if (tasks.result != null)
                        {
                            foreach (var task in tasks.result)
                            {
                                if (task.endpoint != null)
                                {
                                    // #2 - using this method you can get results of each completed task
                                    // GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id
                                    var taskGetResponse = await httpClient.GetAsync((string)task.endpoint);
                                    var taskResultObj = JsonConvert.DeserializeObject<dynamic>(await taskGetResponse.Content.ReadAsStringAsync());
                                    if (taskResultObj.tasks != null)
                                    {
                                        var fst = taskResultObj.tasks.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                    // #3 - another way to get the task results by id
                                    // GET /v3/keywords_data/google_ads/keywords_for_site/task_get/$id
                                    /*
                                    var tasksGetResponse = await httpClient.GetAsync("/v3/keywords_data/google_ads/keywords_for_site/task_get/" + (string)task.id);
                                    var taskResultObj = JsonConvert.DeserializeObject<dynamic>(await tasksGetResponse.Content.ReadAsStringAsync());
                                    if (taskResultObj.tasks != null)
                                    {
                                        var fst = taskResultObj.tasks.First;
                                        // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
                                        if (fst.status_code >= 40000 || fst.result == null)
                                            Console.WriteLine($"error. Code: {fst.status_code} Message: {fst.status_message}");
                                        else
                                            tasksResponses.Add(fst.result);
                                    }
                                    */
                                }
                            }
                        }
                    }
                }
                if (tasksResponses.Count > 0)
                    // do something with result
                    Console.WriteLine(String.Join(Environment.NewLine, tasksResponses));
                else
                    Console.WriteLine("No completed tasks");
            }
            else
                Console.WriteLine($"error. Code: {tasksInfo.status_code} Message: {tasksInfo.status_message}");
        }
    }
}
```





> The above command returns JSON structured like this:

```
{
  "version": "0.1.20210917",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "3.6321 sec.",
  "cost": 0.075,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "10281603-2806-0091-0000-c0ff06ae8fdb",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "3.5644 sec.",
      "cost": 0.075,
      "result_count": 699,
      "path": [
        "v3",
        "keywords_data",
        "google_ads",
        "keywords_for_site",
        "task_get",
        "10281603-2806-0091-0000-c0ff06ae8fdb"
      ],
      "data": {
        "api": "keywords_data",
        "function": "keywords_for_site",
        "se": "google_ads",
        "target": "dataforseo.com",
        "location_code": 2840,
        "search_partners": "true"
      },
      "result": [
        {
          "keyword": "free seo tools",
          "location_code": 2840,
          "language_code": null,
          "search_partners": true,
          "competition": "MEDIUM",
          "competition_index": 50,
          "search_volume": 12100,
          "low_top_of_page_bid": 77.67,
          "high_top_of_page_bid": 381.54,
          "cpc": 3.94,
          "monthly_searches": [
            {
              "year": 2020,
              "month": 10,
              "search_volume": 4400
            },
            {
              "year": 2020,
              "month": 11,
              "search_volume": 3600
            },
            {
              "year": 2020,
              "month": 12,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 1,
              "search_volume": 3600
            },
            {
              "year": 2021,
              "month": 2,
              "search_volume": 90500
            },
            {
              "year": 2021,
              "month": 3,
              "search_volume": 3600
            },
            {
              "year": 2021,
              "month": 4,
              "search_volume": 4400
            },
            {
              "year": 2021,
              "month": 5,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 6,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 7,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 8,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 9,
              "search_volume": 2400
            }
          ],
          "keyword_annotations": {
            "concepts": [
              {
                "name": "seo software free",
                "concept_group": {
                  "name": "Others",
                  "type": null
                }
              },
              {
                "name": "Non-Brands",
                "concept_group": {
                  "name": "Non-Brands",
                  "type": "NON_BRAND"
                }
              }
            ]
          }
        },
        {
          "keyword": "dataforseo",
          "location_code": 2840,
          "language_code": null,
          "search_partners": true,
          "competition": "LOW",
          "competition_index": 12,
          "search_volume": 110,
          "low_top_of_page_bid": 104.34,
          "high_top_of_page_bid": 264.96,
          "cpc": 3.94,
          "monthly_searches": [
            {
              "year": 2020,
              "month": 10,
              "search_volume": 170
            },
            {
              "year": 2020,
              "month": 11,
              "search_volume": 90
            },
            {
              "year": 2020,
              "month": 12,
              "search_volume": 90
            },
            {
              "year": 2021,
              "month": 1,
              "search_volume": 110
            },
            {
              "year": 2021,
              "month": 2,
              "search_volume": 90
            },
            {
              "year": 2021,
              "month": 3,
              "search_volume": 90
            },
            {
              "year": 2021,
              "month": 4,
              "search_volume": 90
            },
            {
              "year": 2021,
              "month": 5,
              "search_volume": 110
            },
            {
              "year": 2021,
              "month": 6,
              "search_volume": 110
            },
            {
              "year": 2021,
              "month": 7,
              "search_volume": 110
            },
            {
              "year": 2021,
              "month": 8,
              "search_volume": 170
            },
            {
              "year": 2021,
              "month": 9,
              "search_volume": 170
            }
          ],
          "keyword_annotations": {
            "concepts": [
              {
                "name": "data seo",
                "concept_group": {
                  "name": "Others",
                  "type": null
                }
              },
              {
                "name": "Non-Brands",
                "concept_group": {
                  "name": "Non-Brands",
                  "type": "NON_BRAND"
                }
              }
            ]
          }
        },
        {
          "keyword": "best seo tools",
          "location_code": 2840,
          "language_code": null,
          "search_partners": true,
          "competition": "MEDIUM",
          "competition_index": 41,
          "search_volume": 2900,
          "low_top_of_page_bid": 130.17,
          "high_top_of_page_bid": 780.74,
          "cpc": 3.94,
          "monthly_searches": [
            {
              "year": 2020,
              "month": 10,
              "search_volume": 8100
            },
            {
              "year": 2020,
              "month": 11,
              "search_volume": 2400
            },
            {
              "year": 2020,
              "month": 12,
              "search_volume": 4400
            },
            {
              "year": 2021,
              "month": 1,
              "search_volume": 2400
            },
            {
              "year": 2021,
              "month": 2,
              "search_volume": 1900
            },
            {
              "year": 2021,
              "month": 3,
              "search_volume": 2400
            },
            {
              "year": 2021,
              "month": 4,
              "search_volume": 2900
            },
            {
              "year": 2021,
              "month": 5,
              "search_volume": 1900
            },
            {
              "year": 2021,
              "month": 6,
              "search_volume": 1900
            },
            {
              "year": 2021,
              "month": 7,
              "search_volume": 1600
            },
            {
              "year": 2021,
              "month": 8,
              "search_volume": 2400
            },
            {
              "year": 2021,
              "month": 9,
              "search_volume": 1900
            }
          ],
          "keyword_annotations": {
            "concepts": [
              {
                "name": "Non-Brands",
                "concept_group": {
                  "name": "Non-Brands",
                  "type": "NON_BRAND"
                }
              }
            ]
          }
        },
        {
          "keyword": "top seo tools",
          "location_code": 2840,
          "language_code": null,
          "search_partners": true,
          "competition": "LOW",
          "competition_index": 24,
          "search_volume": 1300,
          "low_top_of_page_bid": 113.83,
          "high_top_of_page_bid": 481.14,
          "cpc": 3.94,
          "monthly_searches": [
            {
              "year": 2020,
              "month": 10,
              "search_volume": 9900
            },
            {
              "year": 2020,
              "month": 11,
              "search_volume": 590
            },
            {
              "year": 2020,
              "month": 12,
              "search_volume": 2400
            },
            {
              "year": 2021,
              "month": 1,
              "search_volume": 720
            },
            {
              "year": 2021,
              "month": 2,
              "search_volume": 590
            },
            {
              "year": 2021,
              "month": 3,
              "search_volume": 590
            },
            {
              "year": 2021,
              "month": 4,
              "search_volume": 590
            },
            {
              "year": 2021,
              "month": 5,
              "search_volume": 720
            },
            {
              "year": 2021,
              "month": 6,
              "search_volume": 480
            },
            {
              "year": 2021,
              "month": 7,
              "search_volume": 390
            },
            {
              "year": 2021,
              "month": 8,
              "search_volume": 480
            },
            {
              "year": 2021,
              "month": 9,
              "search_volume": 320
            }
          ],
          "keyword_annotations": {
            "concepts": [
              {
                "name": "Non-Brands",
                "concept_group": {
                  "name": "Non-Brands",
                  "type": "NON_BRAND"
                }
              }
            ]
          }
        },
        {
          "keyword": "seo tools list",
          "location_code": 2840,
          "language_code": null,
          "search_partners": true,
          "competition": "LOW",
          "competition_index": 18,
          "search_volume": 260,
          "low_top_of_page_bid": 148.09,
          "high_top_of_page_bid": 474.29,
          "cpc": 3.94,
          "monthly_searches": [
            {
              "year": 2020,
              "month": 10,
              "search_volume": 390
            },
            {
              "year": 2020,
              "month": 11,
              "search_volume": 320
            },
            {
              "year": 2020,
              "month": 12,
              "search_volume": 260
            },
            {
              "year": 2021,
              "month": 1,
              "search_volume": 390
            },
            {
              "year": 2021,
              "month": 2,
              "search_volume": 260
            },
            {
              "year": 2021,
              "month": 3,
              "search_volume": 260
            },
            {
              "year": 2021,
              "month": 4,
              "search_volume": 260
            },
            {
              "year": 2021,
              "month": 5,
              "search_volume": 390
            },
            {
              "year": 2021,
              "month": 6,
              "search_volume": 140
            },
            {
              "year": 2021,
              "month": 7,
              "search_volume": 110
            },
            {
              "year": 2021,
              "month": 8,
              "search_volume": 140
            },
            {
              "year": 2021,
              "month": 9,
              "search_volume": 170
            }
          ],
          "keyword_annotations": {
            "concepts": [
              {
                "name": "seo software free",
                "concept_group": {
                  "name": "Others",
                  "type": null
                }
              },
              {
                "name": "Non-Brands",
                "concept_group": {
                  "name": "Non-Brands",
                  "type": "NON_BRAND"
                }
              }
            ]
          }
        }
      ]
    }
  ]
}
```









 

  cURL   php   Node.js   Python   cSharp