curl --request POST \
--url https://api.birdeye.com/resources/v1/review/businessId/{businessId} \
--header 'Content-Type: application/json' \
--data '
{
"fromTimestamp": 1712986782000,
"toTimestamp": 1715578782000,
"updateFromDate": "04/01/2013",
"updateToDate": "05/3/2015",
"sources": [
"google",
"citysearch"
],
"ratings": [
1,
2,
3,
4,
5,
0
],
"searchStr": "test string",
"subBusinessIds": [
12345678,
1232111,
1231231321
],
"statuses": [
"all"
],
"allChild": "true",
"tags": [
"positive",
"negative"
],
"fetchExtraParams": false,
"needCustomerInfo": false,
"fetchAssitedByDetails": true
}
'import requests
url = "https://api.birdeye.com/resources/v1/review/businessId/{businessId}"
payload = {
"fromTimestamp": 1712986782000,
"toTimestamp": 1715578782000,
"updateFromDate": "04/01/2013",
"updateToDate": "05/3/2015",
"sources": ["google", "citysearch"],
"ratings": [1, 2, 3, 4, 5, 0],
"searchStr": "test string",
"subBusinessIds": [12345678, 1232111, 1231231321],
"statuses": ["all"],
"allChild": "true",
"tags": ["positive", "negative"],
"fetchExtraParams": False,
"needCustomerInfo": False,
"fetchAssitedByDetails": True
}
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({
fromTimestamp: 1712986782000,
toTimestamp: 1715578782000,
updateFromDate: '04/01/2013',
updateToDate: '05/3/2015',
sources: ['google', 'citysearch'],
ratings: [1, 2, 3, 4, 5, 0],
searchStr: 'test string',
subBusinessIds: [12345678, 1232111, 1231231321],
statuses: ['all'],
allChild: 'true',
tags: ['positive', 'negative'],
fetchExtraParams: false,
needCustomerInfo: false,
fetchAssitedByDetails: true
})
};
fetch('https://api.birdeye.com/resources/v1/review/businessId/{businessId}', 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/review/businessId/{businessId}",
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([
'fromTimestamp' => 1712986782000,
'toTimestamp' => 1715578782000,
'updateFromDate' => '04/01/2013',
'updateToDate' => '05/3/2015',
'sources' => [
'google',
'citysearch'
],
'ratings' => [
1,
2,
3,
4,
5,
0
],
'searchStr' => 'test string',
'subBusinessIds' => [
12345678,
1232111,
1231231321
],
'statuses' => [
'all'
],
'allChild' => 'true',
'tags' => [
'positive',
'negative'
],
'fetchExtraParams' => false,
'needCustomerInfo' => false,
'fetchAssitedByDetails' => true
]),
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/review/businessId/{businessId}"
payload := strings.NewReader("{\n \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\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/review/businessId/{businessId}")
.header("Content-Type", "application/json")
.body("{\n \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/review/businessId/{businessId}")
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 \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\n}"
response = http.request(request)
puts response.read_body[
{
"reviewId": "1858537291",
"rating": 0,
"comments": "Ordered earlier today, delivered fast..exactly what I ordered..thank you so much!",
"title": null,
"reviewer": {
"firstName": "Sandy Rowe",
"lastName": "Johncox",
"nickName": "Sandy Rowe Johncox",
"thumbnailUrl": "https://ddjkm7n7lx.cloudfront.net/reviewer/dc42f6d8b2b84dc0b688c43e616.jpeg",
"facebookId": "638309687"
},
"reviewURL": "https://www.facebook.com/Imp-Flow-17565744/reviews",
"sourceType": "Facebook",
"inlineReplyEnabled": false,
"reviewDate": "Jan 20, 2014",
"response": "Thanks",
"responseDate": "Feb 18, 2014",
"recommended": 1
},
{
"reviewId": "73748574902",
"rating": 0,
"comments": "I am a long time customer and love Dieici. I am there at least once a week. I have never been disappointed with any service. I love all the girls. The customer service is beyond a 10. I also love the new addition Wish to the salon! Wish is a woman's clothing boutique. What could be better...beauty and fashion all in one spot!!! Dieci keeps getting better and better!",
"title": null,
"reviewer": {
"firstName": "Jennifer",
"lastName": "Bennett",
"nickName": "Jennifer Bennett",
"thumbnailUrl": "http://d2xt3xymj142xp.cloudfront.net/reviewer/9a070cf98f014f5d9b06987dcc9c48fe.jpeg",
"emailId": "jbennett@gmail.com",
"facebookId": null,
"city": "Cedar Knolls",
"state": " NJ"
},
"reviewUrl": "https://birdeye.com/imp-flower-15229573096",
"sourceType": "Direct Feedback",
"inlineReplyEnabled": true,
"reviewDate": "Jan 20, 2019",
"response": "Thanks",
"responseDate": "Feb 18, 2019",
"featured": 0,
"customerId": 7432167,
"extraParams": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
},
"assitedByUser": [
{
"firstName": "Steve",
"lastName": "M.",
"emailId": "steve@test.com",
"phoneNum": ""
},
{
"firstName": "Smith",
"lastName": "S.",
"emailId": "smith@test.com",
"phoneNum": ""
}
]
}
]{
"code": 1244,
"message": "Maximum 5 keywords can be selected for filter."
}{
"code": 1164,
"message": "Invalid result count value"
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 89,
"message": "Rate limit exceeded"
}Get Reviews
curl --request POST \
--url https://api.birdeye.com/resources/v1/review/businessId/{businessId} \
--header 'Content-Type: application/json' \
--data '
{
"fromTimestamp": 1712986782000,
"toTimestamp": 1715578782000,
"updateFromDate": "04/01/2013",
"updateToDate": "05/3/2015",
"sources": [
"google",
"citysearch"
],
"ratings": [
1,
2,
3,
4,
5,
0
],
"searchStr": "test string",
"subBusinessIds": [
12345678,
1232111,
1231231321
],
"statuses": [
"all"
],
"allChild": "true",
"tags": [
"positive",
"negative"
],
"fetchExtraParams": false,
"needCustomerInfo": false,
"fetchAssitedByDetails": true
}
'import requests
url = "https://api.birdeye.com/resources/v1/review/businessId/{businessId}"
payload = {
"fromTimestamp": 1712986782000,
"toTimestamp": 1715578782000,
"updateFromDate": "04/01/2013",
"updateToDate": "05/3/2015",
"sources": ["google", "citysearch"],
"ratings": [1, 2, 3, 4, 5, 0],
"searchStr": "test string",
"subBusinessIds": [12345678, 1232111, 1231231321],
"statuses": ["all"],
"allChild": "true",
"tags": ["positive", "negative"],
"fetchExtraParams": False,
"needCustomerInfo": False,
"fetchAssitedByDetails": True
}
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({
fromTimestamp: 1712986782000,
toTimestamp: 1715578782000,
updateFromDate: '04/01/2013',
updateToDate: '05/3/2015',
sources: ['google', 'citysearch'],
ratings: [1, 2, 3, 4, 5, 0],
searchStr: 'test string',
subBusinessIds: [12345678, 1232111, 1231231321],
statuses: ['all'],
allChild: 'true',
tags: ['positive', 'negative'],
fetchExtraParams: false,
needCustomerInfo: false,
fetchAssitedByDetails: true
})
};
fetch('https://api.birdeye.com/resources/v1/review/businessId/{businessId}', 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/review/businessId/{businessId}",
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([
'fromTimestamp' => 1712986782000,
'toTimestamp' => 1715578782000,
'updateFromDate' => '04/01/2013',
'updateToDate' => '05/3/2015',
'sources' => [
'google',
'citysearch'
],
'ratings' => [
1,
2,
3,
4,
5,
0
],
'searchStr' => 'test string',
'subBusinessIds' => [
12345678,
1232111,
1231231321
],
'statuses' => [
'all'
],
'allChild' => 'true',
'tags' => [
'positive',
'negative'
],
'fetchExtraParams' => false,
'needCustomerInfo' => false,
'fetchAssitedByDetails' => true
]),
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/review/businessId/{businessId}"
payload := strings.NewReader("{\n \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\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/review/businessId/{businessId}")
.header("Content-Type", "application/json")
.body("{\n \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/review/businessId/{businessId}")
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 \"fromTimestamp\": 1712986782000,\n \"toTimestamp\": 1715578782000,\n \"updateFromDate\": \"04/01/2013\",\n \"updateToDate\": \"05/3/2015\",\n \"sources\": [\n \"google\",\n \"citysearch\"\n ],\n \"ratings\": [\n 1,\n 2,\n 3,\n 4,\n 5,\n 0\n ],\n \"searchStr\": \"test string\",\n \"subBusinessIds\": [\n 12345678,\n 1232111,\n 1231231321\n ],\n \"statuses\": [\n \"all\"\n ],\n \"allChild\": \"true\",\n \"tags\": [\n \"positive\",\n \"negative\"\n ],\n \"fetchExtraParams\": false,\n \"needCustomerInfo\": false,\n \"fetchAssitedByDetails\": true\n}"
response = http.request(request)
puts response.read_body[
{
"reviewId": "1858537291",
"rating": 0,
"comments": "Ordered earlier today, delivered fast..exactly what I ordered..thank you so much!",
"title": null,
"reviewer": {
"firstName": "Sandy Rowe",
"lastName": "Johncox",
"nickName": "Sandy Rowe Johncox",
"thumbnailUrl": "https://ddjkm7n7lx.cloudfront.net/reviewer/dc42f6d8b2b84dc0b688c43e616.jpeg",
"facebookId": "638309687"
},
"reviewURL": "https://www.facebook.com/Imp-Flow-17565744/reviews",
"sourceType": "Facebook",
"inlineReplyEnabled": false,
"reviewDate": "Jan 20, 2014",
"response": "Thanks",
"responseDate": "Feb 18, 2014",
"recommended": 1
},
{
"reviewId": "73748574902",
"rating": 0,
"comments": "I am a long time customer and love Dieici. I am there at least once a week. I have never been disappointed with any service. I love all the girls. The customer service is beyond a 10. I also love the new addition Wish to the salon! Wish is a woman's clothing boutique. What could be better...beauty and fashion all in one spot!!! Dieci keeps getting better and better!",
"title": null,
"reviewer": {
"firstName": "Jennifer",
"lastName": "Bennett",
"nickName": "Jennifer Bennett",
"thumbnailUrl": "http://d2xt3xymj142xp.cloudfront.net/reviewer/9a070cf98f014f5d9b06987dcc9c48fe.jpeg",
"emailId": "jbennett@gmail.com",
"facebookId": null,
"city": "Cedar Knolls",
"state": " NJ"
},
"reviewUrl": "https://birdeye.com/imp-flower-15229573096",
"sourceType": "Direct Feedback",
"inlineReplyEnabled": true,
"reviewDate": "Jan 20, 2019",
"response": "Thanks",
"responseDate": "Feb 18, 2019",
"featured": 0,
"customerId": 7432167,
"extraParams": {
"key1": "value1",
"key2": "value2",
"key3": "value3"
},
"assitedByUser": [
{
"firstName": "Steve",
"lastName": "M.",
"emailId": "steve@test.com",
"phoneNum": ""
},
{
"firstName": "Smith",
"lastName": "S.",
"emailId": "smith@test.com",
"phoneNum": ""
}
]
}
]{
"code": 1244,
"message": "Maximum 5 keywords can be selected for filter."
}{
"code": 1164,
"message": "Invalid result count value"
}{
"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.
Path Parameters
Id of the Business.
Query Parameters
Start index of the reviews. Refer API note for max permissible value.
Number of reviews to query. Refer API note for max permissible value.
Include Reviews whose auto-crawling is blocked e.g. PressGaney
Body
Review date start in UTC format.
Review date end in UTC format, eg if toDate is 04/01/2013, reviews of date 04/01/2013 is excluded .
Review start date in milliseconds, pass either fromDate or fromTimestamp.
Review end date in milliseconds, pass either endDate or toTimestamp.
Review updated date start in UTC format.
Review updated date end in UTC format.
Aggregation source name Note: use "our_website" to filter reviews posted on Birdeye platform or use "direct_feedback" for direct feedback.
Review rating Possible values 0,1,2,3,4,5.
String that is contained by review.
BusinessIds under enterprise account.
Review status filter. Valid values are "published", "parked", and "all". If omitted, default is "published" only (featured reviews). "published" refers to featured reviews and "parked" refers to non-featured reviews.
Get review from all child ignoring merge reviews flag configured at parent/child relationship level.
Reviews with assigned tags
To fetch custom field(s) associated with the customer attributed to the review [if any].
To fetch customer information associated with the reviewer [if attributed].
To retrieve employees associated with the review [if mapped].
Response
OK

