Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforapps.com/api-dashboard
<?php
// You can download this file from here https://cdn.dataforapps.com/v3/examples/php/php_RestClient.zip
require('RestClient.php');
$api_url = 'https://api.dataforapps.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforapps.com/api-dashboard
$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_info/tasks_ready
   $tasks_ready = $client->get('/v3/app_data/google/app_info/tasks_ready');
   // you can find the full list of the response codes here https://docs.dataforapps.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_info/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_info/task_get/html/$id
               /*
               if (isset($task_ready['id'])) {
                  $result[] = $client->get('/v3/app_data/google/app_info/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.20220422",
    "status_code": 20000,
    "status_message": "Ok.",
    "time": "0.0874 sec.",
    "cost": 0,
    "tasks_count": 1,
    "tasks_error": 0,
    "tasks": [
        {
            "id": "04221256-2806-0419-0000-6fcf9a118d0b",
            "status_code": 20000,
            "status_message": "Ok.",
            "time": "0.0502 sec.",
            "cost": 0,
            "result_count": 1,
            "path": [
                "v3",
                "app_data",
                "google",
                "app_info",
                "task_get",
                "html",
                "04221256-2806-0419-0000-6fcf9a118d0b"
            ],
            "data": {
                "se_type": "app_info",
                "api": "app_data",
                "function": "app_info",
                "se": "google",
                "app_id": "org.telegram.messenger",
                "location_code": 2840,
                "language_code": "en",
                "device": "desktop",
                "os": "windows"
            },
            "result": [
                {
                    "app_id": "org.telegram.messenger",
                    "type": "app_info",
                    "se_domain": "play.google.com",
                    "location_code": 2840,
                    "language_code": "en",
                    "datetime": "2022-04-22 09:56:37 +00:00",
                    "items_count": 1,
                    "items": [
                        {
                            "page": 1,
                            "date": "2022-04-22 10:47:03 +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 tasksarray | 
| tasks_error | integer | the number of tasks in the tasksarray 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 DataForApps; 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 resultarray | 
| 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 | application ID received in a POST request | 
| 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 itemsarray | 
| 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 | 

