curl --request GET \
--url https://api.budgetpixel.com/v1/stock/sound-effects \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.budgetpixel.com/v1/stock/sound-effects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.budgetpixel.com/v1/stock/sound-effects', 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.budgetpixel.com/v1/stock/sound-effects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.budgetpixel.com/v1/stock/sound-effects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.budgetpixel.com/v1/stock/sound-effects")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.budgetpixel.com/v1/stock/sound-effects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"credits_charged": 10,
"data": [
{
"ai_generated": true,
"attribution": {
"html": "<string>",
"required": true,
"text": "“Heavy Rain Thunder” by BudgetPixel AI (https://budgetpixel.com/sfx/heavy-rain-thunder-3d04cdea) — CC BY 4.0"
},
"category": "<string>",
"channels": 2,
"created_at": "2023-11-07T05:31:56Z",
"downloads": 123,
"duration_seconds": 6.037,
"format": "wav",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"keywords": [
"<string>"
],
"license": {
"code": "CC-BY-4.0",
"name": "CC BY 4.0",
"url": "https://creativecommons.org/licenses/by/4.0/"
},
"model": "<string>",
"page_url": "https://budgetpixel.com/sfx/heavy-rain-thunder-3d04cdea",
"prompt": "<string>",
"quality_score": 123,
"sample_rate": 44100,
"size_bytes": 123,
"tags": [
"<string>"
],
"title": "Heavy Rain Thunder",
"type": "sound_effect",
"urls": {
"cover": "<string>",
"original": "<string>"
}
}
],
"has_more": true,
"limit": 123,
"object": "list",
"offset": 123,
"total": 123
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}Search free stock sound effects
Search BudgetPixel’s free sound effect library (the sounds at budgetpixel.com/sfx): AI-generated whooshes, impacts, UI sounds, Foley, ambiences, animals, vehicles and more, each listened to and scored before it is listed. Most files are WAV; clips run from a fraction of a second to about six seconds. Search only — nothing is generated when a query comes up empty. To make a new sound, use the sound-effect generation endpoints (paid plans).
Plans. Available on every plan, including Free. The stock searches (images, sound effects, music) are the only endpoints a Free plan’s API key can call.
Pricing. 10 credits per search, charged when the search succeeds,
including a search that matches nothing. Invalid parameters are refused with a
400 and cost nothing. POST /v1/cost with {"model": "stock-sound-effect-search"}
quotes the price (on paid plans).
Licence. Every sound is licensed
CC BY 4.0: commercial use, editing
and client work are allowed with credit. Each result carries a ready-made credit
line (attribution.text, or attribution.html for web pages) that meets the
licence. Put it in the video description, credits or page where the audio is used.
How the search matches. Name the sound in a few plain words. Every word
counts: a result must carry most of what you asked for, rare words weigh more
than common ones, and a word the library does not have counts as a miss. Word
forms are matched (ticking finds tick). Results that match more of your
words come first, then the more popular. A long description returns the items
it names, or nothing; it does not return items that only share its adjectives.
Besides the standard /v1 limits, sound-effect and music searches together are
capped at 60 per minute per account.
curl --request GET \
--url https://api.budgetpixel.com/v1/stock/sound-effects \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.budgetpixel.com/v1/stock/sound-effects"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.budgetpixel.com/v1/stock/sound-effects', 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.budgetpixel.com/v1/stock/sound-effects",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.budgetpixel.com/v1/stock/sound-effects"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.budgetpixel.com/v1/stock/sound-effects")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.budgetpixel.com/v1/stock/sound-effects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"credits_charged": 10,
"data": [
{
"ai_generated": true,
"attribution": {
"html": "<string>",
"required": true,
"text": "“Heavy Rain Thunder” by BudgetPixel AI (https://budgetpixel.com/sfx/heavy-rain-thunder-3d04cdea) — CC BY 4.0"
},
"category": "<string>",
"channels": 2,
"created_at": "2023-11-07T05:31:56Z",
"downloads": 123,
"duration_seconds": 6.037,
"format": "wav",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"keywords": [
"<string>"
],
"license": {
"code": "CC-BY-4.0",
"name": "CC BY 4.0",
"url": "https://creativecommons.org/licenses/by/4.0/"
},
"model": "<string>",
"page_url": "https://budgetpixel.com/sfx/heavy-rain-thunder-3d04cdea",
"prompt": "<string>",
"quality_score": 123,
"sample_rate": 44100,
"size_bytes": 123,
"tags": [
"<string>"
],
"title": "Heavy Rain Thunder",
"type": "sound_effect",
"urls": {
"cover": "<string>",
"original": "<string>"
}
}
],
"has_more": true,
"limit": 123,
"object": "list",
"offset": 123,
"total": 123
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}{
"error": {
"code": "model_not_available",
"message": "<string>",
"type": "invalid_request_error"
}
}Authorizations
API key as a bearer token: Authorization: Bearer bpx_live_xxx
Query Parameters
The sound, in a few plain words, e.g. door creak, soft notification chime, rain on a tin roof. Up to 200 characters. Omit to browse (combine with category).
200transition, impact, stinger, ui, game, human, animals, vehicles, household, nature, ambience, foley Shortest clip to return, in seconds.
x <= 600Longest clip to return, in seconds, e.g. 1 for one-shots.
x <= 600popular (default — with a query, best matches first), newest, or top (highest rated).
popular, newest, top 1 <= x <= 20Results to skip. The next page is offset + limit; each page is a new search.
0 <= x <= 5000Response
Matching sound effects.