My Business Info API will provide you with public details of any business entity with Google My Business profile, including its service description, address, contact phone, domain, rating, and work hours.
The returned results are specific to the indicated cid (client ID) or keyword, location and language parameters. We emulate all the parameters with the highest accuracy so that the results you receive will match the actual search results for the specified parameters at the time of task setting. You can always check the returned results accessing the check_url in the Incognito mode to make sure the received data is accurate.
Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-dashboard
# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-dashboard \
login="login" \
password="password" \
cred="$(printf ${login}:${password} | base64)" \
id="09171517-0696-0242-0000-a96bc1ad0bce" \
curl --location --request GET "https://api.dataforseo.com/v3/business_data/google/my_business_info/task_get/${id}" \
--header "Authorization: Basic ${cred}" \
--header "Content-Type: application/json" \
--data-raw ""
<?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-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/business_data/google/my_business_info/tasks_ready
$tasks_ready = $client->get('/v3/business_data/google/my_business_info/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/business_data/google/my_business_info/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/business_data/google/my_business_info/task_get/$id
/*
if (isset($task_ready['id'])) {
$result[] = $client->get('/v3/business_data/google/my_business_info/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;
?>
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
# GET /v3/business_data/google/my_business_info/tasks_ready
response = client.get("/v3/business_data/google/my_business_info/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/business_data/google/my_business_info/task_get/$id
if(resultTaskInfo['endpoint']):
results.append(client.get(resultTaskInfo['endpoint']))
'''
# 3 - another way to get the task results by id
# GET /v3/business_data/google/my_business_info/task_get/$id
if(resultTaskInfo['id']):
results.append(client.get("/v3/business_data/google/my_business_info/task_get/" + resultTaskInfo['id']))
'''
print(results)
# do something with result
else:
print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
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 business_data_info_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-dashboard
DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
};
// #1 - using this method you can get a list of completed tasks
// GET /v3/business_data/google/my_business_info/tasks_ready
var response = await httpClient.GetAsync("/v3/business_data/google/my_business_info/tasks_ready");
var tasksInfo = JsonConvert.DeserializeObject(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/business_data/google/my_business_info/task_get/$id
var taskGetResponse = await httpClient.GetAsync((string)task.endpoint);
var taskResultObj = JsonConvert.DeserializeObject(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/business_data/google/my_business_info/task_get/$id
/*
var tasksGetResponse = await httpClient.GetAsync("/v3/business_data/google/my_business_info/task_get/" + (string)task.id);
var taskResultObj = JsonConvert.DeserializeObject(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:
task identifier unique task identifier in our system in the UUID 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-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
result_count
integer
the number of tasks in the tasks array
tasks_error
integer
the number of tasks in the tasks array that were returned 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
keyword
string
keyword received in a POST array keyword is returned with decoded %## (plus symbol ‘+’ will be decoded to a space character)
this field will contain the cid parameter if you specified it in the keyword field when setting a task;
example: cid:2946633002421908862
learn more about the parameter in this help center article
se_domain
string
search engine domain as specified in a POST array
location_code
integer
location code in a POST array
language_code
string
language code in a POST array
check_url
string
direct URL to search engine results
you can use it to make sure that we provided accurate results
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
item_types
array
item types
types of search engine results encountered in the items array;
possible item types: google_business_info
items_count
integer
item types
the number of items in the items array
items
array
encountered item types
types of search engine results encountered in the items array;
possible item types: google_business_info
type
string
type of element = ‘google_business_info’
rank_group
integer
position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group
rank_absolute
integer
absolute rank among all the elements
position
string
the alignment in SERP
title
string
title of the element in SERP
the name of the business entity for which the results are collected
description
string
description of the element in SERP
the description of the business entity for which the results are collected
category
string
business category
Google My Business general category that best describes the services provided by the business entity
category_ids
array
global category IDs
universal category IDs that do not change based on the selected country
additional_categories
array
additional business categories
additional Google My Business categories that describe the services provided by the business entity in more detail
cid
string
google-defined client id
unique id of a local establishment;
can be used with Google Reviews API to get a full list of reviews
learn more about the identifier in this help center article
feature_id
string
the unique identifier of the element in SERP
learn more about the identifier in this help center article
address
string
address of the business entity
address_info
object
object containing address components of the business entity
borough
string
administrative unit or district the business entity location belongs to
address
string
street address of the business entity
city
string
name of the city where the business entity is located
zip
string
ZIP code of the business entity
region
string
DMA region of the business entity location
country_code
string
ISO country code of the business entity location
place_id
string
unique place identifier place id of the local establishment featured in the element
learn more about the identifier in this help center article
phone
string
phone number of the business entity
url
string
absolute url of the business entity
domain
string
domain of the business entity
logo
string
URL of the logo featured in Google My Business profile
main_image
string
URL of the main image featured in Google My Business profile
total_photos
integer
total count of images featured in Google My Business profile
snippet
string
additional information on the business entity
latitude
float
latitude coordinate of the local establishments in google maps
example: "latitude": 51.584091
longitude
float
longitude coordinate of the local establishment in google maps
example: "longitude": -0.31365919999999997
is_claimed
boolean
shows whether the entity is verified by its owner on Google Maps
attributes
object
service details in a form of user-reviewed checks;
service details of a business entity displayed in a form of checks and based on user feedback and business category
available_attributes
object
available attributes
indicates attributes a business entity can offer
unavailable_attributes
object
unavailable attributes
indicates attributes a business entity cannot offer
place_topics
object
keywords mentioned in customer reviews
contains most popular keywords related to products/services mentioned in customer reviews of a business entity and the number of reviews mentioning each keyword
example:
"place_topics": {
"egg roll": 48,
"birthday": 33
}
rating
object
the element’s rating
the popularity rate based on reviews and displayed in SERP
rating_type
string
the type of rating
here you can find the following elements: Max5, Percents, CustomMax
value
integer
the value of the rating
votes_count
integer
the amount of feedback
rating_max
integer
the maximum value for a rating_type
rating_distribution
object
the distribution of ratings of the business entity
the object displays the number of 1-star to 5-star ratings, as reviewed by users
1
integer
the number of 1-star ratings
2
integer
the number of 2-star ratings
3
integer
the number of 3-star ratings
4
integer
the number of 4-star ratings
5
integer
the number of 5-star ratings
people_also_search
array
related business entities
cid
string
google-defined client id
unique id of a local establishment
learn more about the identifier in this help center article
feature_id
string
the unique identifier of the element in SERP
learn more about the identifier in this help center article
title
string
title of the element in SERP
the name of the business entity for which the results are collected
rating
object
the element’s rating
the popularity rate based on reviews and displayed in SERP
rating_type
string
the type of rating
here you can find the following elements: Max5, Percents, CustomMax
value
integer
the value of the rating
votes_count
integer
the amount of feedback
rating_max
integer
the maximum value for a rating_type
work_time
object
work time details
information related to operational hours of the business entity
work_hours
object
open hours
information about work hours of the local establishment
timetable
object
work hours timetable
sunday
array
work hours on Sundays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
monday
array
work hours on Mondays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
tuesday
array
work hours on Tuesdays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
wednesday
array
work hours on Wednesdays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
thursday
array
work hours on Thursdays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
friday
array
work hours on Fridays
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
saturday
array
work hours on Saturday
open
object
opening time
hour
integer
hours in the 24-hour format
minute
integer
minutes
close
object
closing time
hour
integer
hours in the 24-hour format
minute
integer
minutes
current_status
string
current status of the establishment
possible values: opened, closed, temporarily_closed, closed_forever
popular_times
object
popular times
information related to busy hours of the business entity
popular_times_by_days
object
popular hours
information about busy hours of the local establishment on each day of the week
sunday
array
busy hours on sunday can take values of the corresponding days of the week
time
object
busy hours
hour
integer
hours in a 24-hour format
minute
integer
minutes
popular_index
integer
popularity index
relative time-bound popularity index measured from 0 to 100;
higher value corresponds to a busier time of a day
local_business_links
array
available interactions with the business
list of options to interact with the business directly from search results
type
string
type of element = ‘reservation’
title
string
title of the element
domain of the reservation software
url
string
URL to make a reservation
type
string
type of element = ‘order’
delivery_services
array
lists available delivery services
type
string
type of element = ‘delivery_service’
title
string
title of the element
domain of the online food ordering system
url
string
URL to place an order
type
string
type of element = ‘menu’
title
string
title of the element
domain of the online menu system
url
string
URL to view the menu
is_directory_item
boolean
business establishment is a part of the directory
indicates whether the business establishment is a part of the directory;
if true, the item is a part of the larger directory of businesses with the same address (e.g., a mall or a business centre); note: if the business establishment is a parent item in the directory, the value will be null
directory
array
items of the directory
includes information about businesses that are located within the target business establishment and have the same address
title
string
directory title
can take the following values: At this place, Directory
items
array
array of directory items
type
array
type of element = ‘maps_search’
rank_group
integer
position within a group of elements with identical type values
positions of elements with different type values are omitted from the rank_group
rank_absolute
integer
absolute rank among all the elements
domain
string
domain of the business entity
title
string
title of the element in SERP
the name of the business entity
url
string
absolute url of the business entity
rating
object
the element’s rating
the popularity rate based on reviews and displayed in SERP
rating_type
string
the type of rating
here you can find the following elements: Max5, Percents, CustomMax
value
integer
the value of the rating
votes_count
integer
the amount of feedback
rating_max
integer
the maximum value for a rating_type
rating_distribution
object
the distribution of ratings of the business entity
the object displays the number of 1-star to 5-star ratings, as reviewed by users
1
integer
the number of 1-star ratings
2
integer
the number of 2-star ratings
3
integer
the number of 3-star ratings
4
integer
the number of 4-star ratings
5
integer
the number of 5-star ratings
snippet
string
additional information about the business entity
address
string
address of the business entity
address_info
object
object containing address components of the business entity
borough
string
administrative unit or district the business entity location belongs to
address
string
street address of the business entity
city
string
name of the city where the business entity is located
zip
string
ZIP code of the business entity
region
string
DMA region of the business entity location
country_code
string
ISO country code of the business entity location
place_id
string
unique place identifier place id of the local establishment featured in the element
learn more about the identifier in this help center article
phone
string
phone number of the business entity
main_image
string
URL of the main image featured in Google My Business profile
total_photos
integer
total count of images featured in Google My Business profile
category
string
business category
Google My Business general category that best describes the services provided by the business entity
category_ids
array
global category IDs
universal category IDs that do not change based on the selected country
work_hours
object
work hours
information about work hours of the local establishment
feature_id
string
the unique identifier of the element in SERP
learn more about the identifier in this help center article
cid
string
google-defined client id
unique id of a local establishment;
can be used with Google Reviews API to get a full list of reviews
learn more about the identifier in this help center article
latitude
float
latitude coordinate of the local establishments in google maps
example: "latitude": 51.584091
longitude
float
longitude coordinate of the local establishment in google maps
example: "longitude": -0.31365919999999997
is_claimed
boolean
shows whether the entity is verified by its owner on Google Maps
local_justifications
array
Google local justifications
snippets of text that “justify” why the business is showing up for search query
is_directory_item
boolean
business establishment is a part of the directory
indicates whether the business establishment is a part of the directory;
if true, the item is a part of the larger directory of businesses with the same address (e.g., a mall or a business centre); note: if the business establishment is a parent item in the directory, the value will be null