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": 1167,
"message": "API key is missing"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Report
NPS Over time
NPS Over time gives you the NPS score for a selected period of time for all locations across businesses and the count of promoters, passives, and detractors for this business. The report can be grouped per day/week/month/year.
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": 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
Total number of promoters, passives, and detractors.
Average NPS score.
Total number of promoters.
Total number of passives.
Total number of detractors.
Data points.
Show child attributes
Show child attributes
Grouping by.
Date difference.
⌘I