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/'; // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access $client = new RestClient($api_url, null, 'login', 'password'); try { $result = array(); // #1 - using this method you can get a list of completed tasks // GET /v3/app_data/google/app_reviews/tasks_ready $tasks_ready = $client->get('/v3/app_data/google/app_reviews/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/app_data/google/app_reviews/task_get/html/$id if (isset($task_ready['endpoint_html'])) { $result[] = $client->get($task_ready['endpoint_html']); } // #3 - another way to get the task results by id // GET /v3/app_data/google/app_reviews/task_get/html/$id /* if (isset($task_ready['id'])) { $result[] = $client->get('/v3/app_data/google/app_reviews/task_get/html/' . $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; ?>
The above command returns JSON structured like this:
{ "version": "0.1.20220420", "status_code": 20000, "status_message": "Ok.", "time": "0.0688 sec.", "cost": 0, "tasks_count": 1, "tasks_error": 0, "tasks": [ { "id": "04211720-2806-0425-0000-42ca43f1b128", "status_code": 20000, "status_message": "Ok.", "time": "0.0247 sec.", "cost": 0, "result_count": 1, "path": [ "v3", "app_data", "google", "app_reviews", "task_get", "html", "04211720-2806-0425-0000-42ca43f1b128" ], "data": { "se_type": "reviews", "se": "google", "api": "app_data", "function": "app_reviews", "app_id": "org.telegram.messenger", "location_code": 2840, "language_code": "en", "depth": 150, "rating": 5, "device": "desktop", "os": "windows" }, "result": [ { "app_id": "org.telegram.messenger", "type": "reviews", "se_domain": "play.google.com", "location_code": 2840, "language_code": "en", "datetime": "2022-04-21 14:20:27 +00:00", "items_count": 1, "items": [ { "page": 1, "date": "2022-04-21 14:58:28 +00:00", "html": "<!doctype html><html><head></head></body></html>" } ] } ] } ] }
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 format you will be able to use it within 7 days to request the results of the task at any time |
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.
Description of the fields in the results array:
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 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 |
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 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 the 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 result array |
path |
array | URL path |
data |
object | contains the same parameters that you specified in the POST request |
result |
array | array of results |
app_id |
string | app id received in a POST array |
type |
string | search engine type in a POST array |
se_domain |
string | search engine domain in a POST array |
location_code |
integer | location code in a POST array |
language_code |
string | language code in a POST array |
datetime |
string | date and time when the result was received in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 |
items_count |
integer | the number of results returned in the items array |
items |
array | HTML pages and related data |
page |
integer | serial number of the returned HTML page |
date |
string | date and time when the HTML page was scanned in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00 |
html |
string | HTML page |