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": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Archived Get Reviews
Archived Get Reviews returns archived public reviews for the requested business and date range, with optional filters for source, delete date, ratings, status, and search text.
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": 1161,
"message": "Invalid API key"
}{
"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.
Media type of the JSON request body.
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
Unique identifier of the archived review.
Rating given in the review.
Review comment text.
Recommendation flag for supported sources.
Review status label returned for the review record.
Reviewer details.
Show child attributes
Show child attributes
Human-readable source name.
Review creation date.
Review creation timestamp in milliseconds.
Date when the review was archived.
Date when the review will be deleted from archive.
Business response text, if available.
Business response date, if available.
Business identifier linked to the review.
Business name linked to the review.
Business type linked to the review.
Customer identifier mapped to the review, if available.
Media attached to the review.
Show child attributes
Show child attributes