← API Reference

Browse Sound Effects

POST
https://api.audioscape.ai/developer/v1/sfx/browse

On this pageEndpoint

Endpoint

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

NameTypeDescription
x-api-keyrequiredYour API key
Content-TyperequiredMust be application/json

Request Body

ParameterTypeDescription
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.

response.json
{
  "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.

Luau (Roblox)
-- 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)
end

Error Responses

400Bad Request

Missing or invalid type parameter.

400.json
{
  "error": "type is required and must be one of: trending"
}
401Unauthorized

Invalid or missing API key.

401.json
{
  "error": "Invalid API key"
}
429Too Many Requests

You've exceeded your rate limit. See your current tier on the API Keys page.

429.json
{
  "message": "Too Many Requests"
}
500Internal Server Error

Something went wrong on our end. Try again or contact support if the issue persists.

Ready to get started?

Create your API key and start building with AudioScape today.

Get Your API Key