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": 1161,
"message": "Invalid API key"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Report
Competitive Ranking
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": 1161,
"message": "Invalid API key"
}{
"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.
Query Parameters
Id of the Business.
Body
application/json
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.

