curl --request POST \
--url https://api.birdeye.com/resources/v1/review/archive/public \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [],
"startDate": 1712986782000,
"endDate": 1715578782000,
"sourceAlias": [
"google",
"facebook"
],
"deleteStartDate": 1712986782000,
"deleteEndDate": 1715578782000,
"ratings": [
4,
5
],
"statuses": [
"published",
"parked"
],
"searchStr": "great service"
}
'import requests
url = "https://api.birdeye.com/resources/v1/review/archive/public"
payload = {
"businessNumbers": [],
"startDate": 1712986782000,
"endDate": 1715578782000,
"sourceAlias": ["google", "facebook"],
"deleteStartDate": 1712986782000,
"deleteEndDate": 1715578782000,
"ratings": [4, 5],
"statuses": ["published", "parked"],
"searchStr": "great service"
}
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({
businessNumbers: [],
startDate: 1712986782000,
endDate: 1715578782000,
sourceAlias: ['google', 'facebook'],
deleteStartDate: 1712986782000,
deleteEndDate: 1715578782000,
ratings: [4, 5],
statuses: ['published', 'parked'],
searchStr: 'great service'
})
};
fetch('https://api.birdeye.com/resources/v1/review/archive/public', 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/archive/public",
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([
'businessNumbers' => [
],
'startDate' => 1712986782000,
'endDate' => 1715578782000,
'sourceAlias' => [
'google',
'facebook'
],
'deleteStartDate' => 1712986782000,
'deleteEndDate' => 1715578782000,
'ratings' => [
4,
5
],
'statuses' => [
'published',
'parked'
],
'searchStr' => 'great service'
]),
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/archive/public"
payload := strings.NewReader("{\n \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\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/archive/public")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/review/archive/public")
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 \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\n}"
response = http.request(request)
puts response.read_body[
{
"reviewId": "123456745001001",
"rating": 4,
"comments": "Great service!",
"recommended": 1,
"status": "Published",
"reviewer": {
"firstName": "John",
"lastName": "Doe",
"nickName": null,
"thumbnailUrl": "https://..."
},
"sourceType": "Google",
"reviewDate": "Fri, Feb 02, 2018 10:48 AM",
"rDate": 1705276800000,
"archiveDate": "Apr 05, 2026",
"deleteDate": "Apr 05, 2027",
"response": "Thank you for your feedback!",
"responseDate": "Oct 23, 2024 02:17 PM (SST)",
"businessId": "175347500666724",
"businessName": "Acme Corp - Downtown",
"businessType": "Business",
"customerId": 3923910,
"medias": [
{
"url": "https://cdn.example.com/photo.jpg",
"thumbnailUrl": "https://cdn.example.com/photo.jpg",
"type": "IMAGE"
}
]
}
]{
"code": 400,
"message": "Invalid media id"
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 89,
"message": "Rate limit exceeded"
}Get Archived Reviews
curl --request POST \
--url https://api.birdeye.com/resources/v1/review/archive/public \
--header 'Content-Type: application/json' \
--data '
{
"businessNumbers": [],
"startDate": 1712986782000,
"endDate": 1715578782000,
"sourceAlias": [
"google",
"facebook"
],
"deleteStartDate": 1712986782000,
"deleteEndDate": 1715578782000,
"ratings": [
4,
5
],
"statuses": [
"published",
"parked"
],
"searchStr": "great service"
}
'import requests
url = "https://api.birdeye.com/resources/v1/review/archive/public"
payload = {
"businessNumbers": [],
"startDate": 1712986782000,
"endDate": 1715578782000,
"sourceAlias": ["google", "facebook"],
"deleteStartDate": 1712986782000,
"deleteEndDate": 1715578782000,
"ratings": [4, 5],
"statuses": ["published", "parked"],
"searchStr": "great service"
}
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({
businessNumbers: [],
startDate: 1712986782000,
endDate: 1715578782000,
sourceAlias: ['google', 'facebook'],
deleteStartDate: 1712986782000,
deleteEndDate: 1715578782000,
ratings: [4, 5],
statuses: ['published', 'parked'],
searchStr: 'great service'
})
};
fetch('https://api.birdeye.com/resources/v1/review/archive/public', 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/archive/public",
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([
'businessNumbers' => [
],
'startDate' => 1712986782000,
'endDate' => 1715578782000,
'sourceAlias' => [
'google',
'facebook'
],
'deleteStartDate' => 1712986782000,
'deleteEndDate' => 1715578782000,
'ratings' => [
4,
5
],
'statuses' => [
'published',
'parked'
],
'searchStr' => 'great service'
]),
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/archive/public"
payload := strings.NewReader("{\n \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\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/archive/public")
.header("Content-Type", "application/json")
.body("{\n \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/review/archive/public")
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 \"businessNumbers\": [],\n \"startDate\": 1712986782000,\n \"endDate\": 1715578782000,\n \"sourceAlias\": [\n \"google\",\n \"facebook\"\n ],\n \"deleteStartDate\": 1712986782000,\n \"deleteEndDate\": 1715578782000,\n \"ratings\": [\n 4,\n 5\n ],\n \"statuses\": [\n \"published\",\n \"parked\"\n ],\n \"searchStr\": \"great service\"\n}"
response = http.request(request)
puts response.read_body[
{
"reviewId": "123456745001001",
"rating": 4,
"comments": "Great service!",
"recommended": 1,
"status": "Published",
"reviewer": {
"firstName": "John",
"lastName": "Doe",
"nickName": null,
"thumbnailUrl": "https://..."
},
"sourceType": "Google",
"reviewDate": "Fri, Feb 02, 2018 10:48 AM",
"rDate": 1705276800000,
"archiveDate": "Apr 05, 2026",
"deleteDate": "Apr 05, 2027",
"response": "Thank you for your feedback!",
"responseDate": "Oct 23, 2024 02:17 PM (SST)",
"businessId": "175347500666724",
"businessName": "Acme Corp - Downtown",
"businessType": "Business",
"customerId": 3923910,
"medias": [
{
"url": "https://cdn.example.com/photo.jpg",
"thumbnailUrl": "https://cdn.example.com/photo.jpg",
"type": "IMAGE"
}
]
}
]{
"code": 400,
"message": "Invalid media id"
}{
"code": 1167,
"message": "API key is missing"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
e.g. [Required] User-associated business number.
Query Parameters
Include reviews whose auto-crawling is blocked. Default is false.
Start index of the reviews. Default is 0.
Number of reviews to fetch. Default is 10000.
Sort field identifier. Default is 7.
Sort order identifier. Default is 1.
Body
List of business numbers to filter the report. If empty, all accessible business numbers are considered.
Review Start date in milliseconds, pass epoch timestamp.
Review End date in milliseconds, pass epoch timestamp.
List of review source aliases to include.
Review deletion start date in milliseconds, pass epoch timestamp.
Review deletion end date in milliseconds, pass epoch timestamp.
Review ratings to filter. Possible values are 0,1,2,3,4,5.
Review status filter. Valid values are "published", "parked". If omitted, default is "published" only (featured reviews). "published" refers to featured reviews and "parked" refers to non-featured reviews.
Free-text search term for review content.
Response
OK

