Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access
<?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 {
// using this method you can get a list of endpoints
// GET /v3/keywords_data/endpoints
$result = $client->get('/v3/keywords_data/endpoints');
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;
?>
The above command returns JSON structured like this:
{
"version": "0.1.20210917",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0736 sec.",
"cost": 0,
"tasks_count": 1,
"tasks_error": 0,
"tasks": [
{
"id": "11041735-1535-0148-0000-dccdb4b470c8",
"status_code": 20000,
"status_message": "Ok.",
"time": "0.0002 sec.",
"cost": 0,
"result_count": 1,
"path": [
"v3",
"keywords_data",
"endpoints"
],
"data": {
"api": "keywords_data",
"function": "endpoints"
},
"result": [
[
"v3/keywords_data/bing/categories",
"v3/keywords_data/bing/keyword_performance/live",
"v3/keywords_data/bing/keyword_performance/locations_and_languages",
"v3/keywords_data/bing/keyword_performance/task_get/$id",
"v3/keywords_data/bing/keyword_performance/task_post",
"v3/keywords_data/bing/keywords_for_category/live",
"v3/keywords_data/bing/keywords_for_category/task_get/$id",
"v3/keywords_data/bing/keywords_for_category/task_post",
"v3/keywords_data/bing/keywords_for_category/tasks_ready",
"v3/keywords_data/bing/keywords_for_keywords/live",
"v3/keywords_data/bing/keywords_for_keywords/task_get/$id",
"v3/keywords_data/bing/keywords_for_keywords/task_post",
"v3/keywords_data/bing/keywords_for_keywords/tasks_ready",
"v3/keywords_data/bing/keywords_for_site/live",
"v3/keywords_data/bing/keywords_for_site/task_get/$id",
"v3/keywords_data/bing/keywords_for_site/task_post",
"v3/keywords_data/bing/keywords_for_site/tasks_ready",
"v3/keywords_data/bing/languages",
"v3/keywords_data/bing/locations",
"v3/keywords_data/bing/locations/",
"v3/keywords_data/bing/search_volume/live",
"v3/keywords_data/bing/search_volume/task_get/$id",
"v3/keywords_data/bing/search_volume/task_post",
"v3/keywords_data/bing/search_volume/tasks_ready",
"v3/keywords_data/bing/tasks_ready",
"v3/keywords_data/google/ad_traffic_by_keywords/live",
"v3/keywords_data/google/ad_traffic_by_keywords/task_get/$id",
"v3/keywords_data/google/ad_traffic_by_keywords/task_post",
"v3/keywords_data/google/ad_traffic_by_keywords/tasks_ready",
"v3/keywords_data/google/ad_traffic_by_platforms/live",
"v3/keywords_data/google/ad_traffic_by_platforms/task_get/$id",
"v3/keywords_data/google/ad_traffic_by_platforms/task_post",
"v3/keywords_data/google/ad_traffic_by_platforms/tasks_ready",
"v3/keywords_data/google/adwords_status",
"v3/keywords_data/google/categories",
"v3/keywords_data/google/keywords_for_category/live",
"v3/keywords_data/google/keywords_for_category/task_get/$id",
"v3/keywords_data/google/keywords_for_category/task_post",
"v3/keywords_data/google/keywords_for_category/tasks_ready",
"v3/keywords_data/google/keywords_for_keywords/live",
"v3/keywords_data/google/keywords_for_keywords/task_get/$id",
"v3/keywords_data/google/keywords_for_keywords/task_post",
"v3/keywords_data/google/keywords_for_keywords/tasks_ready",
"v3/keywords_data/google/keywords_for_site/live",
"v3/keywords_data/google/keywords_for_site/task_get/$id",
"v3/keywords_data/google/keywords_for_site/task_post",
"v3/keywords_data/google/keywords_for_site/tasks_ready",
"v3/keywords_data/google/languages",
"v3/keywords_data/google/locations",
"v3/keywords_data/google/locations/",
"v3/keywords_data/google/search_volume/live",
"v3/keywords_data/google/search_volume/task_get/$id",
"v3/keywords_data/google/search_volume/task_post",
"v3/keywords_data/google/search_volume/tasks_ready",
"v3/keywords_data/google/tasks_ready",
"v3/keywords_data/google_trends/categories",
"v3/keywords_data/google_trends/explore/live",
"v3/keywords_data/google_trends/explore/task_get/$id",
"v3/keywords_data/google_trends/explore/task_post",
"v3/keywords_data/google_trends/explore/tasks_ready",
"v3/keywords_data/google_trends/languages",
"v3/keywords_data/google_trends/locations",
"v3/keywords_data/google_trends/locations/",
"v3/keywords_data/google_trends/tasks_ready",
"v3/keywords_data/tasks_ready"
]
]
}
]
}
This API call will provide you with the list of endpoints you can use for setting Keywords Data API tasks.
As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.
| Field name | Type | Description |
|---|---|---|
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 |
status_message |
string | general informational message you can find the full list of general informational messages here |
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 |
post_id |
array | custom task identifier in your system or otherwise assigned by our system it’s also the key of an array |
id |
string | task identifier unique task identifier in our system in the UUID format |
post_id |
string | custom task identifier in your system |
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 |
status_message |
string | informational message of the task you can find the full list of general informational messages here |
time |
string | execution time, seconds |
cost |
float | cost of the task, USD |
result_count |
integer | number of elements in the results array |
path |
array | URL path |
data |
array | the data specified in the API call |
result |
array | array of results this array contains the list of endpoints you can use for setting Keywords Data API tasks |

