Competitive Ranking Report
curl --request POST \
--url https://api.birdeye.com/resources/v2/competitive/ranking \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "10/08/2019",
"endDate": "01/15/2020",
"reviewSites": [
"2",
"110"
]
}
'import requests
url = "https://api.birdeye.com/resources/v2/competitive/ranking"
payload = {
"startDate": "10/08/2019",
"endDate": "01/15/2020",
"reviewSites": ["2", "110"]
}
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({startDate: '10/08/2019', endDate: '01/15/2020', reviewSites: ['2', '110']})
};
fetch('https://api.birdeye.com/resources/v2/competitive/ranking', 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/v2/competitive/ranking",
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([
'startDate' => '10/08/2019',
'endDate' => '01/15/2020',
'reviewSites' => [
'2',
'110'
]
]),
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/v2/competitive/ranking"
payload := strings.NewReader("{\n \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\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/v2/competitive/ranking")
.header("Content-Type", "application/json")
.body("{\n \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v2/competitive/ranking")
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 \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"positiveCount": 218305,
"neutralCount": 18600,
"negativeCount": 22794,
"positivePercent": 84,
"neutralPercent": 7,
"negativePercent": 9,
"name": "Pizza Palace",
"count": 259699,
"rating": 4.339487006543244,
"competitors": [
{
"positiveCount": 249953,
"neutralCount": 21827,
"negativeCount": 16876,
"positivePercent": 87,
"neutralPercent": 8,
"negativePercent": 6,
"name": "Family Pizza",
"count": 288656,
"rating": 4.457812929751687
},
{
"positiveCount": 13148,
"neutralCount": 2239,
"negativeCount": 2051,
"positivePercent": 75,
"neutralPercent": 13,
"negativePercent": 12,
"name": "Veggie Pizza and Grill",
"count": 17438,
"rating": 4.126577756608716
}
]
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Report
Competitive Ranking
Competitive Ranking Report provides the competitors ranking & rating data in the response for a business.
POST
/
v2
/
competitive
/
ranking
Competitive Ranking Report
curl --request POST \
--url https://api.birdeye.com/resources/v2/competitive/ranking \
--header 'Content-Type: application/json' \
--data '
{
"startDate": "10/08/2019",
"endDate": "01/15/2020",
"reviewSites": [
"2",
"110"
]
}
'import requests
url = "https://api.birdeye.com/resources/v2/competitive/ranking"
payload = {
"startDate": "10/08/2019",
"endDate": "01/15/2020",
"reviewSites": ["2", "110"]
}
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({startDate: '10/08/2019', endDate: '01/15/2020', reviewSites: ['2', '110']})
};
fetch('https://api.birdeye.com/resources/v2/competitive/ranking', 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/v2/competitive/ranking",
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([
'startDate' => '10/08/2019',
'endDate' => '01/15/2020',
'reviewSites' => [
'2',
'110'
]
]),
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/v2/competitive/ranking"
payload := strings.NewReader("{\n \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\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/v2/competitive/ranking")
.header("Content-Type", "application/json")
.body("{\n \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v2/competitive/ranking")
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 \"startDate\": \"10/08/2019\",\n \"endDate\": \"01/15/2020\",\n \"reviewSites\": [\n \"2\",\n \"110\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"positiveCount": 218305,
"neutralCount": 18600,
"negativeCount": 22794,
"positivePercent": 84,
"neutralPercent": 7,
"negativePercent": 9,
"name": "Pizza Palace",
"count": 259699,
"rating": 4.339487006543244,
"competitors": [
{
"positiveCount": 249953,
"neutralCount": 21827,
"negativeCount": 16876,
"positivePercent": 87,
"neutralPercent": 8,
"negativePercent": 6,
"name": "Family Pizza",
"count": 288656,
"rating": 4.457812929751687
},
{
"positiveCount": 13148,
"neutralCount": 2239,
"negativeCount": 2051,
"positivePercent": 75,
"neutralPercent": 13,
"negativePercent": 12,
"name": "Veggie Pizza and Grill",
"count": 17438,
"rating": 4.126577756608716
}
]
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
Media type of the JSON request body.
Query Parameters
Id of the Business.
Response
OK
Number of positive keywords.
Number of neutral keywords.
Number of negative keywords..
Positive keyword percentage.
Neutral keyword percentage.
Negative keyword percentage.
Enterprise name.
Total Count.
Average rating.
Competitors data.
Show child attributes
Show child attributes
⌘I