/safaribookings/parks/reviews
curl --request POST \
--url https://api.anysite.io/api/safaribookings/parks/reviews \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"park": "<string>",
"count": 2,
"timeout": 300,
"author": "user"
}
'import requests
url = "https://api.anysite.io/api/safaribookings/parks/reviews"
payload = {
"park": "<string>",
"count": 2,
"timeout": 300,
"author": "user"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({park: '<string>', count: 2, timeout: 300, author: 'user'})
};
fetch('https://api.anysite.io/api/safaribookings/parks/reviews', 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.anysite.io/api/safaribookings/parks/reviews",
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([
'park' => '<string>',
'count' => 2,
'timeout' => 300,
'author' => 'user'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$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.anysite.io/api/safaribookings/parks/reviews"
payload := strings.NewReader("{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
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.anysite.io/api/safaribookings/parks/reviews")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/safaribookings/parks/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"author_type": "<string>",
"@type": "SafaribookingsSubjectReview",
"author_name": "<string>",
"author_country": {
"@type": "SafaribookingsCountryRef",
"name": "<string>",
"code": "<string>"
},
"author_bio": "<string>",
"author_url": "<string>",
"visited": "<string>",
"reviewed_date": "<string>",
"age_group": "<string>",
"experience_level": "<string>",
"review_title": "<string>",
"rating": 123,
"sub_ratings": {
"@type": "SafaribookingsSubRatings",
"wildlife": 123,
"scenery": 123,
"bush_vibe": 123,
"birding": 123
},
"helpful_count": 123,
"text": "<string>",
"review_url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}/safaribookings
/safaribookings/parks/reviews
Get the reviews of a SafariBookings national park or reserve, either the traveller reviews or the reviews written by the site’s safari experts. Every review carries the author with their home country, when they visited, the overall rating plus separate wildlife, scenery, bush vibe and birding scores, the full text and, for expert reviews, the author biography and how many people found it helpful.
Price: 5 credits per 18 results
⚠️ Common errors: 412: Park not found (slug with no SafariBookings park guide)
POST
/
api
/
safaribookings
/
parks
/
reviews
/safaribookings/parks/reviews
curl --request POST \
--url https://api.anysite.io/api/safaribookings/parks/reviews \
--header 'Content-Type: application/json' \
--header 'access-token: <api-key>' \
--data '
{
"park": "<string>",
"count": 2,
"timeout": 300,
"author": "user"
}
'import requests
url = "https://api.anysite.io/api/safaribookings/parks/reviews"
payload = {
"park": "<string>",
"count": 2,
"timeout": 300,
"author": "user"
}
headers = {
"access-token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'access-token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({park: '<string>', count: 2, timeout: 300, author: 'user'})
};
fetch('https://api.anysite.io/api/safaribookings/parks/reviews', 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.anysite.io/api/safaribookings/parks/reviews",
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([
'park' => '<string>',
'count' => 2,
'timeout' => 300,
'author' => 'user'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"access-token: <api-key>"
],
]);
$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.anysite.io/api/safaribookings/parks/reviews"
payload := strings.NewReader("{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("access-token", "<api-key>")
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.anysite.io/api/safaribookings/parks/reviews")
.header("access-token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anysite.io/api/safaribookings/parks/reviews")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["access-token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"park\": \"<string>\",\n \"count\": 2,\n \"timeout\": 300,\n \"author\": \"user\"\n}"
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"author_type": "<string>",
"@type": "SafaribookingsSubjectReview",
"author_name": "<string>",
"author_country": {
"@type": "SafaribookingsCountryRef",
"name": "<string>",
"code": "<string>"
},
"author_bio": "<string>",
"author_url": "<string>",
"visited": "<string>",
"reviewed_date": "<string>",
"age_group": "<string>",
"experience_level": "<string>",
"review_title": "<string>",
"rating": 123,
"sub_ratings": {
"@type": "SafaribookingsSubRatings",
"wildlife": 123,
"scenery": 123,
"bush_vibe": 123,
"birding": 123
},
"helpful_count": 123,
"text": "<string>",
"review_url": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
API token from the dashboard
Headers
Body
application/json
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes