{"id":13553,"date":"2022-04-29T15:58:38","date_gmt":"2022-04-29T15:58:38","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=13553"},"modified":"2024-11-11T17:32:13","modified_gmt":"2024-11-11T17:32:13","slug":"app_data-google-locations","status":"publish","type":"page","link":"https:\/\/docs.dataforapps.com\/v3\/app_data-google-locations\/","title":{"rendered":"app_data\/google\/locations"},"content":{"rendered":"<p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"app-data-google-locations\">List of Google Locations for App Data API<\/h2>\n<p>&nbsp;<br \/>\nBy calling this endpoint you will receive the list of Google locations supported in App Data API.<\/p>\n<p>You can also <a href=\"https:\/\/cdn.dataforapps.com\/v3\/locations\/locations_app_data_google_2024_11_05.csv\" rel=\"noopener noreferrer\" target=\"_blank\">download the full list of supported locations<\/a> in the CSV format (last updated 2024-11-05).<\/p>\n<h3 style=\"color: #f44336\"><strong>Note:<\/strong> All locations in Russia and Belarus are not supported across all DataForApps services due to the invasion of Ukraine.<\/h3>\n<p>&nbsp;<br \/>\n[\/vc_column_text]\n        <blockquote>\n            <p>Instead of \u2018login\u2019 and \u2018password\u2019 use your credentials from https:\/\/app.dataforapps.com\/api-dashboard<\/p>\n        <\/blockquote>\n        <pre class=\"highlight bash tab-bash\" style=\"display: none;\">\n            <\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mocha\">\r\n# Instead of 'login' and 'password' use your credentials from https:\/\/app.dataforapps.com\/api-dashboard \\\r\nlogin=\"login\" \\\r\npassword=\"password\" \\\r\ncred=\"$(printf ${login}:${password} | base64)\" \\\r\ncurl --location --request GET \"https:\/\/api.dataforapps.com\/v3\/app_data\/google\/locations\" \\\r\n--header \"Authorization: Basic ${cred}\"  \\\r\n--header \"Content-Type: application\/json\" \\\r\n<\/pre>\n<p>\n        <\/pre>\n        <pre class=\"highlight php tab-php\" style=\"display: block;\"><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\">&lt;?php\r\n\/\/ You can download this file from here https:\/\/cdn.dataforapps.com\/v3\/examples\/php\/php_RestClient.zip\r\nrequire('RestClient.php');\r\n$api_url = 'https:\/\/api.dataforapps.com\/';\r\ntry {\r\n\t\/\/ Instead of 'login' and 'password' use your credentials from https:\/\/app.dataforapps.com\/api-dashboard\r\n\t$client = new RestClient($api_url, null, 'login', 'password');\r\n} catch (RestClientException $e) {\r\n\techo \"n\";\r\n\tprint \"HTTP code: {$e-&gt;getHttpCode()}n\";\r\n\tprint \"Error code: {$e-&gt;getCode()}n\";\r\n\tprint \"Message: {$e-&gt;getMessage()}n\";\r\n\tprint  $e-&gt;getTraceAsString();\r\n\techo \"n\";\r\n\texit();\r\n}\r\ntry {\r\n\t\/\/ using this method you can get a list of locations\r\n\t\/\/ GET \/v3\/app_data\/google\/locations\r\n\t\/\/ in addition to 'google' you can also set other search engine\r\n\t\/\/ the full list of possible parameters is available in documentation\r\n\t$result = $client-&gt;get('\/v3\/app_data\/google\/locations');\r\n\tprint_r($result);\r\n\t\/\/ do something with result\r\n} catch (RestClientException $e) {\r\n\techo \"n\";\r\n\tprint \"HTTP code: {$e-&gt;getHttpCode()}n\";\r\n\tprint \"Error code: {$e-&gt;getCode()}n\";\r\n\tprint \"Message: {$e-&gt;getMessage()}n\";\r\n\tprint  $e-&gt;getTraceAsString();\r\n\techo \"n\";\r\n}\r\n$client = null;\r\n?&gt;<\/pre>\n<p><\/pre>\n        <pre class=\"highlight python tab-python\" style=\"display: none;\">\n            <\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"mocha\">from client import RestClient\r\n# You can download this file from here https:\/\/cdn.dataforapps.com\/v3\/examples\/python\/python_Client.zip\r\nclient = RestClient(\"login\", \"password\")\r\n# using this method you can get a list of locations\r\n# GET \/v3\/app_data\/google\/locations\r\n# in addition to 'google' you can also set other search engine\r\n# the full list of possible parameters is available in documentation\r\nresponse = client.get(\"\/v3\/app_data\/google\/locations\")\r\n# you can find the full list of the response codes here https:\/\/docs.dataforapps.com\/v3\/appendix\/errors\r\nif response[\"status_code\"] == 20000:\r\n    print(response)\r\n    # do something with result\r\nelse:\r\n    print(\"error. Code: %d Message: %s\" % (response[\"status_code\"], response[\"status_message\"]))<\/pre>\n<p>\n        <\/pre>\n        <pre class=\"highlight javascript tab-javascript\" style=\"display: none;\">\n            <\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mocha\">\r\n\r\nconst axios = require('axios');\r\n\r\naxios({\r\n    method: 'get',\r\n    url: 'https:\/\/api.dataforapps.com\/v3\/app_data\/google\/locations',\r\n    auth: {\r\n        username: 'login',\r\n        password: 'password'\r\n    },\r\n    headers: {\r\n        'content-type': 'application\/json'\r\n    }\r\n}).then(function (response) {\r\n    var result = response['data']['tasks'][0]['result'];\r\n    \/\/ Result data\r\n    console.log(result);\r\n}).catch(function (error) {\r\n    console.log(error);\r\n});\r\n<\/pre>\n<p>\n        <\/pre>\n        <pre class=\"highlight csharp tab-csharp\" style=\"display: none;\">\n            <\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"mocha\">using Newtonsoft.Json;\r\nusing System;\r\nusing System.Net.Http;\r\nusing System.Net.Http.Headers;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace DataForSeoDemos\r\n{\r\n    public static partial class Demos\r\n    {\r\n        public static async Task app_data_locations()\r\n        {\r\n            var httpClient = new HttpClient\r\n            {\r\n                BaseAddress = new Uri(\"https:\/\/api.dataforapps.com\/\"),\r\n                \/\/ Instead of 'login' and 'password' use your credentials from https:\/\/app.dataforapps.com\/api-dashboard\r\n                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue(\"Basic\", Convert.ToBase64String(Encoding.ASCII.GetBytes(\"login:password\"))) }\r\n            };\r\n            \/\/ using this method you can get a list of locations\r\n            \/\/ GET \/v3\/app_data\/google\/locations\r\n            \/\/ in addition to 'google' you can also set other search engine\r\n            \/\/ the full list of possible parameters is available in documentation\r\n            var response = await httpClient.GetAsync(\"\/v3\/app_data\/google\/locations\");\r\n            var result = JsonConvert.DeserializeObject&lt;dynamic&gt;(await response.Content.ReadAsStringAsync());\r\n            \/\/ you can find the full list of the response codes here https:\/\/docs.dataforapps.com\/v3\/appendix\/errors\r\n            if (result.status_code == 20000)\r\n            {\r\n                \/\/ do something with result\r\n                Console.WriteLine(result);\r\n            }\r\n            else\r\n                Console.WriteLine($\"error. Code: {result.status_code} Message: {result.status_message}\");\r\n        }\r\n    }\r\n}\r\n<\/pre>\n<p>\n        <\/pre>\n        <blockquote>\n            <p>The above command returns JSON structured like this:<\/p>\n        <\/blockquote>\n        <pre class=\"json tab-json\"><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"json\" data-enlighter-theme=\"mocha\">{\r\n  \"version\": \"0.1.20220420\",\r\n  \"status_code\": 20000,\r\n  \"status_message\": \"Ok.\",\r\n  \"time\": \"0.4267 sec.\",\r\n  \"cost\": 0,\r\n  \"tasks_count\": 1,\r\n  \"tasks_error\": 0,\r\n  \"tasks\": [\r\n    {\r\n      \"id\": \"04211826-2806-0434-0000-2df1073ffaa3\",\r\n      \"status_code\": 20000,\r\n      \"status_message\": \"Ok.\",\r\n      \"time\": \"0.3696 sec.\",\r\n      \"cost\": 0,\r\n      \"result_count\": 117315,\r\n      \"path\": [\r\n        \"v3\",\r\n        \"app_data\",\r\n        \"google\",\r\n        \"locations\"\r\n      ],\r\n      \"data\": {\r\n        \"api\": \"app_data\",\r\n        \"function\": \"locations\",\r\n        \"se\": \"google\"\r\n      },\r\n      \"result\": [\r\n        {\r\n          \"location_code\": 2036,\r\n          \"location_name\": \"Australia\",\r\n          \"location_name_parent\": null,\r\n          \"country_iso_code\": \"AU\",\r\n          \"location_type\": \"Country\"\r\n        },\r\n        {\r\n          \"location_code\": 2124,\r\n          \"location_name\": \"Canada\",\r\n          \"location_name_parent\": null,\r\n          \"country_iso_code\": \"CA\",\r\n          \"location_type\": \"Country\"\r\n        },\r\n        {\r\n          \"location_code\": 2250,\r\n          \"location_name\": \"France\",\r\n          \"location_name_parent\": null,\r\n          \"country_iso_code\": \"FR\",\r\n          \"location_type\": \"Country\"\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}<\/pre>\n<p><\/pre><aside class=\"success\"><b><code>GET https:\/\/api.dataforapps.com\/v3\/app_data\/google\/locations<\/code><\/b><\/aside><aside class=\"notice\">Your account will not be charged for using this API<\/aside>[vc_column_text]<\/p>\n<p>\u200c\u200cAs a response of the API server, you will receive <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a>-encoded data containing a <code>tasks<\/code> array with the information about available locations.<\/p>\n<table style=\"width: 86.001%; height: 1369px;\">\n<thead>\n<tr style=\"height: 24px;\">\n<th style=\"width: 24.3517%; height: 24px;\">Field name<\/th>\n<th style=\"width: 6.19209%; height: 24px;\">Type<\/th>\n<th style=\"width: 79.8065%; height: 24px;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 48px;\">\n<td style=\"width: 24.3517%; height: 48px;\"><code>version<\/code><\/td>\n<td style=\"width: 6.19209%; height: 48px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 48px;\"><em>the current version of the API<\/em><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 38.423%; height: 48px;\"><code>status_code<\/code><\/td>\n<td style=\"width: 1.75219%; height: 48px;\">integer<\/td>\n<td style=\"width: 61.2015%; height: 48px;\"><i>general status code<\/i><br \/>\nyou can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>status_message<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>general informational message<\/em><br \/>\nyou can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>time<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>execution time, seconds<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>cost<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>total tasks cost, USD<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>tasks_count<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>tasks_error<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><strong><code>tasks<\/code><\/strong><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>array of tasks<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>id<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>task identifier<\/em><br \/>\n<strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 24.3517%; height: 48px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>status_code<\/code><\/td>\n<td style=\"width: 6.19209%; height: 48px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 48px;\"><em>status code of the task<\/em><br \/>\ngenerated by DataForApps; can be within the following range: 10000-60000<br \/>\nyou can find the full list of response codes <a href=\"\/v3\/appendix-errors\/\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>status_message<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>informational message of the task<\/em><br \/>\nyou can find the full list of general informational messages <a href=\"\/v3\/appendix-errors\/\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>time<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>execution time, seconds<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>cost<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>cost of the task, USD<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>result_count<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>number of elements in the <code>result<\/code> array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>path<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>URL path<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>data<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">object<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>contains the parameters passed in the URL of the GET request<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <strong><code>result<\/code><\/strong><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>array of results<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>location_code<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">integer<\/td>\n<td style=\"width: 61.7021%; height: 24px;\"><em>location code<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>location_name<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">string<\/td>\n<td style=\"width: 61.7021%; height: 24px;\"><em>full name of the location<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>location_name_parent<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">integer<\/td>\n<td style=\"width: 61.7021%; height: 24px;\"><em>the name of the superordinate location<\/em><br \/>\nexample:<br \/>\n<code>\"location_code\": 1006473,<br \/>\n\"location_name\": \"Altrincham,England,United Kingdom\",<br \/>\n\"location_name_parent\": \"England,United Kingdom\",<\/code> where <code>location_name_parent<\/code> corresponds to:<\/p>\n<p><code>\"location_code\": 20339,<br \/>\n\"location_name\": \"England,United Kingdom\"<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>country_iso_code<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">string<\/td>\n<td style=\"width: 61.7021%; height: 24px;\"><em>ISO country code of the location<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>location_type<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">string<\/td>\n<td style=\"width: 61.7021%; height: 24px;\"><em>location type<\/em>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-unique=\"list-of-keywords-finder-locations\"><\/div>\n<p>[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] List of Google Locations for App Data API &nbsp; By calling this endpoint you will receive the list of Google locations supported in App Data API. You can also download the full list of supported locations in the CSV format (last updated 2024-11-05). Note: All locations in Russia and Belarus are not supported across [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template.php","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/pages\/13553"}],"collection":[{"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/comments?post=13553"}],"version-history":[{"count":23,"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/pages\/13553\/revisions"}],"predecessor-version":[{"id":17624,"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/pages\/13553\/revisions\/17624"}],"wp:attachment":[{"href":"https:\/\/docs.dataforapps.com\/v3\/wp-json\/wp\/v2\/media?parent=13553"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}