NPS Over time Report
curl --request POST \
--url https://api.birdeye.com/resources/v1/reports/nps/time/elst \
--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/v1/reports/nps/time/elst"
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/v1/reports/nps/time/elst', 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/reports/nps/time/elst",
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/v1/reports/nps/time/elst"
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/v1/reports/nps/time/elst")
.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/v1/reports/nps/time/elst")
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{
"totalCount": 2,
"avgNpsScore": "-50",
"promoters": "0",
"passives": "50",
"detractors": "50",
"dataPoints": [
{
"label": "10/08/2019 - 10/13/2019",
"shortLabel": "Oct 08-Oct 13 2019",
"startDate": "10/08/2019",
"endDate": "10/13/2019",
"dynamicLabel": {
"header": "label",
"value": "10/08/2019",
"order": 2147483647,
"cellType": "TEXT"
},
"detractorPercentile": 100,
"passivePercentile": 0,
"promoterPercentile": 0,
"npsScore": -100,
"positiveCount": 0,
"negativeCount": 1,
"neutralCount": 0,
"totalCount": 1
},
{
"label": "10/14/2019 - 10/20/2019",
"shortLabel": "Oct 14-Oct 20 2019",
"startDate": "10/14/2019",
"endDate": "10/20/2019",
"dynamicLabel": {
"header": "label",
"value": "10/14/2019",
"order": 2147483647,
"cellType": "TEXT"
},
"detractorPercentile": 0,
"passivePercentile": 100,
"promoterPercentile": 0,
"npsScore": 0,
"positiveCount": 0,
"negativeCount": 0,
"neutralCount": 1,
"totalCount": 1
}
],
"groupByType": "week",
"dateDiff": 100
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Report
NPS Over Time
POST
/
v1
/
reports
/
nps
/
time
/
elst
NPS Over time Report
curl --request POST \
--url https://api.birdeye.com/resources/v1/reports/nps/time/elst \
--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/v1/reports/nps/time/elst"
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/v1/reports/nps/time/elst', 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/reports/nps/time/elst",
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/v1/reports/nps/time/elst"
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/v1/reports/nps/time/elst")
.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/v1/reports/nps/time/elst")
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{
"totalCount": 2,
"avgNpsScore": "-50",
"promoters": "0",
"passives": "50",
"detractors": "50",
"dataPoints": [
{
"label": "10/08/2019 - 10/13/2019",
"shortLabel": "Oct 08-Oct 13 2019",
"startDate": "10/08/2019",
"endDate": "10/13/2019",
"dynamicLabel": {
"header": "label",
"value": "10/08/2019",
"order": 2147483647,
"cellType": "TEXT"
},
"detractorPercentile": 100,
"passivePercentile": 0,
"promoterPercentile": 0,
"npsScore": -100,
"positiveCount": 0,
"negativeCount": 1,
"neutralCount": 0,
"totalCount": 1
},
{
"label": "10/14/2019 - 10/20/2019",
"shortLabel": "Oct 14-Oct 20 2019",
"startDate": "10/14/2019",
"endDate": "10/20/2019",
"dynamicLabel": {
"header": "label",
"value": "10/14/2019",
"order": 2147483647,
"cellType": "TEXT"
},
"detractorPercentile": 0,
"passivePercentile": 100,
"promoterPercentile": 0,
"npsScore": 0,
"positiveCount": 0,
"negativeCount": 0,
"neutralCount": 1,
"totalCount": 1
}
],
"groupByType": "week",
"dateDiff": 100
}{
"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
Total number of promoters, passives, and detractors.
Average NPS score.
Total number of promoters.
Total number of passives.
Total number of detractors.
Data points.
Grouping by.
Date difference.

