Search
getapi.bunnystudio.com/search
This endpoint retrieves a list of samples based on the search criteria provided in the query parameters.
Requirements
Authentication
Scope
Query parameters
These are the basic query params for filter samples regardless of its category.
categoryId
string
Category of the samples you want to search, is required.
Category of the samples you want to search, is required.
currency
<optional> string
Currency you want to quote the samples. The default value is USD.
Currency you want to quote the samples. The default value is USD.
page
<optional> number
Page that you want to retrieve from the paginated list. The default value is 1.
Page that you want to retrieve from the paginated list. The default value is 1.
pageSize
<optional> number
Page size you want the pagination to have. The default value is 20.
Page size you want the pagination to have. The default value is 20.
language
<optional> string
Language you want to filter the samples. The default value is empty.
Language you want to filter the samples. The default value is empty.
genderAndAge
<optional> string
Gender and age you want to filter the samples. The default value is empty.
Gender and age you want to filter the samples. The default value is empty.
turnAroundTimeDays
<optional> number
Number of days you want to quote for the samples turnaround time. The default value is empty.
Number of days you want to quote for the samples turnaround time. The default value is empty.
minimumPrice
<optional> number
Minimum price you want to quote for the samples. The default value is empty.
Minimum price you want to quote for the samples. The default value is empty.
maximumPrice
<optional> number
Maximum price you want to quote for the samples. The default value is empty.
Maximum price you want to quote for the samples. The default value is empty.
units
<optional> number
Number of unists you want to quote for each sample. The type and defalut value depend on the category of the sample.
Number of unists you want to quote for each sample. The type and defalut value depend on the category of the sample.
unitType
<optional> string
Type of unit you want to quote for each sample. The default value is "units". The value can be one of these values ["seconds", "minutes", "hours", "units"].
Type of unit you want to quote for each sample. The default value is "units". The value can be one of these values ["seconds", "minutes", "hours", "units"].
purpose
<optional> number
Purpose of the samples you want to search. The default value is empty. If you want the list of available purposes, you can use the Category Get Attribute value endpoint.
Purpose of the samples you want to search. The default value is empty. If you want the list of available purposes, you can use the Category Get Attribute value endpoint.
Request example
- Console
- JavaScript
- Python
- PHP - CURL
curl --request GET \
--url https://api.bunnystudio.com/search?categoryId=voice_over¤cy=USD&page=1&pageSize=20&language=eng-us&genderAndAge=teenageGirl&units=30&unitType=units&turnAroundTimeDays=2&minimumPrice=10&maximumPrice=30&purpose=20 \
--header "Content-Type: application/json" \
--header "x-access-token: YOUR_TOKEN" \
const queryParams = new URLSearchParams({
categoryId: "voice_over",
currency: "USD",
page: 1,
pageSize: 20,
language: "eng-us",
genderAndAge: "teenageGirl",
units: 30,
unitType: "units",
turnAroundTimeDays: 2,
minimumPrice: 10,
maximumPrice: 30,
purpose: 20,
});
const url = 'https://api.bunnystudio.com/search + queryString.toString()';
const options = {
method: 'GET',
headers: {
'content-type': 'application/json',
'x-access-token': 'YOUR_TOKEN',
}
};
fetch(url, options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import requests
import json
api_url = "https://api.bunnystudio.com/search?categoryId=voice_over¤cy=USD&page=1&pageSize=20&language=eng-us&genderAndAge=teenageGirl&units=30&unitType=units&turnAroundTimeDays=2&minimumPrice=10&maximumPrice=30&purpose=20"
headers = {
"Content-Type": "application/json; charset=utf-8",
'x-access-token': 'YOUR_TOKEN',
}
response = requests.get(api_url, headers=headers)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.bunnystudio.com/search?categoryId=voice_over¤cy=USD&page=1&pageSize=20&language=eng-us&genderAndAge=teenageGirl&units=30&unitType=units&turnAroundTimeDays=2&minimumPrice=10&maximumPrice=30&purpose=20',
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'content-type': 'application/json',
'x-access-token': 'YOUR_TOKEN',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Response format
page
number
Page number of the current response.
Page number of the current response.
totalPages
number
Total number of pages that match the search criteria.
Total number of pages that match the search criteria.
total
number
Total number of samples that match the search criteria.
Total number of samples that match the search criteria.
samples
array
List of samples that match the search criteria.
List of samples that match the search criteria.
Response format for each sample
publicId
string
Id that identifies a pro on Bunny Studio's database.
Id that identifies a pro on Bunny Studio's database.
fullName
string
The name of the pro.
The name of the pro.
currency
string
The currency of the price.
The currency of the price.
price
number
The value that the project will cost for a booking with the pro
The value that the project will cost for a booking with the pro
url
string
The url with a mp3 file of the sample
The url with a mp3 file of the sample
Response example
{
"page": 1,
"totalPages": 1,
"total": 50,
"samples": [
{
"publicId": "ASDF345",
"fullName": "TALENT_NAME",
"currency": "USD",
"price": 187,
"listPrice": 187,
"language": "eng-us",
"genderAndAge": "teenageGirl",
"url": "SAMPLE_URL",
...
},
...
]
}
Error responses
500 Error getting search results
{
status: 500,
type: 'ERROR_GETTING_SEARCH_RESULTS',
message: 'There was an error getting the search results, please talk with our support team',
}
422 Search no available
{
status: 422,
type: 'SEARCH_NOT_AVAILABLE',
message: 'The search functionality is not available for the category "\categoryId\',
}
422 Error getting search results
{
status: 422,
type: 'SEARCH_NOT_RESULTS',
message: 'The search did not return any results',
}
422 Unit type not allowed
{
status: 422,
type: 'UNITTYPE_NOT_ALLOWED',
message: 'The field \"unitType\" must be one of [seconds, minutes, hours, units]',
}