Browse Sound Effects
POSThttps://api.audioscape.ai/developer/v1/sfx/browseEndpoint
Daily-refreshed list of trending sound effects across the SFX catalog, ranked by player engagement (plays, favorites, votes, queue adds, listen duration, plus high-value SDK custom events). Engagement is exponentially decayed over a 60-day window with a 30-day half-life so recent activity dominates. Only trending is supported in v1 — category and subcategory browsing live on /v1/sfx/search via filters.categories.
Headers
| Name | Type | Description |
|---|---|---|
| x-api-key | required | Your API key |
| Content-Type | required | Must be application/json |
Request Body
| Parameter | Type | Description |
|---|---|---|
| type | string required | Currently only trending is supported. |
| limit | number optional | Maximum results to return (default: 20, max: 100) |
| offset | number optional | Pagination offset (default: 0). The trending list is capped at 200 entries. |
Response
Returns SFX clips ranked by popularity. Same track shape as /v1/sfx/search.
{
"tracks": [
{
"asset_id": number,
"name": "string",
"description": "string",
"category": "string",
"subcategory": "string",
"tags": "string",
"duration": number,
"score": number,
"created_at": "string",
"updated_at": "string",
"creator_id": number | null,
"creator_name": "string"
}
],
"meta": {
"total": number,
"limit": number,
"offset": number,
"type": "trending"
}
}Example Request
Build a discovery surface in your lobby: pull the trending SFX list once on start-up and let players tap to preview. Assumes a client from the Quickstart.
-- Lobby SFX picker: pull the daily-trending list and let players preview them
local result, err = client:sfxBrowse({ type = "trending", limit = 25 })
if not result then warn(err) return end
for _, sfx in result.tracks do
local button = Instance.new("TextButton")
button.Text = sfx.name
button.Size = UDim2.fromOffset(220, 32)
button.Parent = sfxList -- your Frame holding the SFX buttons
button.Activated:Connect(function()
local sound = Instance.new("Sound")
sound.SoundId = `rbxassetid://{sfx.asset_id}`
sound.Parent = SoundService
sound:Play()
end)
endError Responses
400Bad RequestMissing or invalid type parameter.
{
"error": "type is required and must be one of: trending"
}401UnauthorizedInvalid or missing API key.
{
"error": "Invalid API key"
}429Too Many RequestsYou've exceeded your rate limit. See your current tier on the API Keys page.
{
"message": "Too Many Requests"
}500Internal Server ErrorSomething went wrong on our end. Try again or contact support if the issue persists.