Listings Insights Datapoints
curl --request POST \
--url https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [
156387109031976
],
"startDate": "2010-02-01",
"endDate": "2022-02-01",
"groupByType": "year",
"viewMode": [
"Mobile",
"Desktop"
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints"
payload = {
"businessNumbers": [156387109031976],
"startDate": "2010-02-01",
"endDate": "2022-02-01",
"groupByType": "year",
"viewMode": ["Mobile", "Desktop"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessNumbers: [156387109031976],
startDate: '2010-02-01',
endDate: '2022-02-01',
groupByType: 'year',
viewMode: ['Mobile', 'Desktop']
})
};
fetch('https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'businessNumbers' => [
156387109031976
],
'startDate' => '2010-02-01',
'endDate' => '2022-02-01',
'groupByType' => 'year',
'viewMode' => [
'Mobile',
'Desktop'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints"
payload := strings.NewReader("{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}"
response = http.request(request)
puts response.read_body[
"<unknown>"
]{
"code": 1167,
"message": "API key is missing"
}{
"code": 1175,
"message": "No business found with the given id"
}{
"code": 89,
"message": "Rate limit exceeded"
}Listing
Listing Insights Datapoints
POST
/
v1
/
listing
/
report
/
{reportType}
/
datapoints
Listings Insights Datapoints
curl --request POST \
--url https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [
156387109031976
],
"startDate": "2010-02-01",
"endDate": "2022-02-01",
"groupByType": "year",
"viewMode": [
"Mobile",
"Desktop"
]
}
'import requests
url = "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints"
payload = {
"businessNumbers": [156387109031976],
"startDate": "2010-02-01",
"endDate": "2022-02-01",
"groupByType": "year",
"viewMode": ["Mobile", "Desktop"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
businessNumbers: [156387109031976],
startDate: '2010-02-01',
endDate: '2022-02-01',
groupByType: 'year',
viewMode: ['Mobile', 'Desktop']
})
};
fetch('https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'businessNumbers' => [
156387109031976
],
'startDate' => '2010-02-01',
'endDate' => '2022-02-01',
'groupByType' => 'year',
'viewMode' => [
'Mobile',
'Desktop'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints"
payload := strings.NewReader("{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/listing/report/{reportType}/datapoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"businessNumbers\": [\n 156387109031976\n ],\n \"startDate\": \"2010-02-01\",\n \"endDate\": \"2022-02-01\",\n \"groupByType\": \"year\",\n \"viewMode\": [\n \"Mobile\",\n \"Desktop\"\n ]\n}"
response = http.request(request)
puts response.read_body[
"<unknown>"
]{
"code": 1167,
"message": "API key is missing"
}{
"code": 1175,
"message": "No business found with the given id"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
Path Parameters
Report type, Possible values [google_view_search_map, gmb_customer_actions_map, fb_users_reached,fb_users_engaged, bing_impression_count,bing_customer_actions]
Query Parameters
Id of the account.
Body
application/json
Location numbers of enterprise locations. If empty all valid enterprise locations will be selected.
Start Date, Format: yyyy-MM-dd.
End Date, Format: yyyy-MM-dd. If startDate and endDate are not provided, then the last 3 months date range will be chosen with groupByType as the day.
is data required for mobile or desktop or both (if none is provided then data for both will be displayed)
Group the data accordingly. The default value will be the week. Possible values are
day,
week,
month,
quarter,
year
Response
OK

