curl --request POST \
--url https://api.birdeye.com/resources/v1/insight/reputation/source \
--header 'Content-Type: application/json' \
--data '
{
"reviewSources": [
"Google",
"Facebook",
"CitySearch"
],
"ratings": [
"0",
"1",
"3",
"4",
"5"
],
"businessNumbers": [
172957184851864,
174436684666401
],
"startDate": "02/25/2025",
"endDate": "02/01/2026"
}
'import requests
url = "https://api.birdeye.com/resources/v1/insight/reputation/source"
payload = {
"reviewSources": ["Google", "Facebook", "CitySearch"],
"ratings": ["0", "1", "3", "4", "5"],
"businessNumbers": [172957184851864, 174436684666401],
"startDate": "02/25/2025",
"endDate": "02/01/2026"
}
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({
reviewSources: ['Google', 'Facebook', 'CitySearch'],
ratings: ['0', '1', '3', '4', '5'],
businessNumbers: [172957184851864, 174436684666401],
startDate: '02/25/2025',
endDate: '02/01/2026'
})
};
fetch('https://api.birdeye.com/resources/v1/insight/reputation/source', 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/insight/reputation/source",
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([
'reviewSources' => [
'Google',
'Facebook',
'CitySearch'
],
'ratings' => [
'0',
'1',
'3',
'4',
'5'
],
'businessNumbers' => [
172957184851864,
174436684666401
],
'startDate' => '02/25/2025',
'endDate' => '02/01/2026'
]),
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/insight/reputation/source"
payload := strings.NewReader("{\n \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\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/insight/reputation/source")
.header("Content-Type", "application/json")
.body("{\n \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/insight/reputation/source")
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 \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\n}"
response = http.request(request)
puts response.read_body{
"totalCount": 2,
"dataPoints": [
{
"name": "Google",
"score": 93.8,
"averageRating": 4.6,
"reviewCount": 210
},
{
"name": "Facebook",
"score": 88.8,
"averageRating": 4.4,
"reviewCount": 95
}
]
}{
"code": 2003,
"message": "businessNumbers are mandatory"
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 2151,
"message": "Not a valid reseller/enterprise id."
}{
"code": 1027,
"message": "Invalid business number."
}Insight Reputation Source
Insight Reputation Source API retrieves reputation scores, average ratings, and review counts broken down by review source (e.g. Google, Facebook) for specified business locations and date ranges.
curl --request POST \
--url https://api.birdeye.com/resources/v1/insight/reputation/source \
--header 'Content-Type: application/json' \
--data '
{
"reviewSources": [
"Google",
"Facebook",
"CitySearch"
],
"ratings": [
"0",
"1",
"3",
"4",
"5"
],
"businessNumbers": [
172957184851864,
174436684666401
],
"startDate": "02/25/2025",
"endDate": "02/01/2026"
}
'import requests
url = "https://api.birdeye.com/resources/v1/insight/reputation/source"
payload = {
"reviewSources": ["Google", "Facebook", "CitySearch"],
"ratings": ["0", "1", "3", "4", "5"],
"businessNumbers": [172957184851864, 174436684666401],
"startDate": "02/25/2025",
"endDate": "02/01/2026"
}
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({
reviewSources: ['Google', 'Facebook', 'CitySearch'],
ratings: ['0', '1', '3', '4', '5'],
businessNumbers: [172957184851864, 174436684666401],
startDate: '02/25/2025',
endDate: '02/01/2026'
})
};
fetch('https://api.birdeye.com/resources/v1/insight/reputation/source', 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/insight/reputation/source",
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([
'reviewSources' => [
'Google',
'Facebook',
'CitySearch'
],
'ratings' => [
'0',
'1',
'3',
'4',
'5'
],
'businessNumbers' => [
172957184851864,
174436684666401
],
'startDate' => '02/25/2025',
'endDate' => '02/01/2026'
]),
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/insight/reputation/source"
payload := strings.NewReader("{\n \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\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/insight/reputation/source")
.header("Content-Type", "application/json")
.body("{\n \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/insight/reputation/source")
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 \"reviewSources\": [\n \"Google\",\n \"Facebook\",\n \"CitySearch\"\n ],\n \"ratings\": [\n \"0\",\n \"1\",\n \"3\",\n \"4\",\n \"5\"\n ],\n \"businessNumbers\": [\n 172957184851864,\n 174436684666401\n ],\n \"startDate\": \"02/25/2025\",\n \"endDate\": \"02/01/2026\"\n}"
response = http.request(request)
puts response.read_body{
"totalCount": 2,
"dataPoints": [
{
"name": "Google",
"score": 93.8,
"averageRating": 4.6,
"reviewCount": 210
},
{
"name": "Facebook",
"score": 88.8,
"averageRating": 4.4,
"reviewCount": 95
}
]
}{
"code": 2003,
"message": "businessNumbers are mandatory"
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 2151,
"message": "Not a valid reseller/enterprise id."
}{
"code": 1027,
"message": "Invalid business number."
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
e.g. [Required] User associated businessNumber.
Media type of the JSON request body.
Query Parameters
Zero-based index of the first record to return.
Number of records to return. Must be between 1 and 100 (default 10).
Field to sort results by.
name, reputation-score Sort order. 0 = ascending, 1 = descending.
0, 1 Body
List of business numbers (max 100).
Start date in MM/DD/YYYY format.
End date in MM/DD/YYYY format.
Review sources to include (e.g. Google, Facebook).
Rating values to filter (e.g. "1", "2", "3", "4", "5").
List of hierarchy nodes to filter by level.
Show child attributes
Show child attributes