← API Reference

SFX Taxonomy

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

On this pageEndpoint

Endpoint

Returns the full SFX category hierarchy: ~12 broader groups, ~82 UCS-style categories, and ~722 subcategories. Use this to build browse UIs without hard-coding the taxonomy in your client. The hierarchy is groups broader_category category subcategory, mirroring how the AudioScape catalog is organized.

Drive search using the values returned here: filters.categories and filters.subcategories on /v1/sfx/search. Broader categories are intended for navigation only — clicking one should expand its child categories, not fire a search.

Headers

NameTypeDescription
x-api-keyrequiredYour API key
Content-TyperequiredMust be application/json. Send an empty object body — no parameters are required.

Response

Returns the full hierarchy plus a counts breakdown.

response.json
{
  "taxonomy": [
    {
      "broader_category": "string",
      "categories": [
        {
          "category": "string",
          "subcategories": ["string", ...]
        }
      ]
    }
  ],
  "meta": {
    "broader_category_count": number,
    "category_count": number,
    "subcategory_count": number
  }
}

Example: Sound picker tree

Power a sound picker — for a Studio plugin, an in-game admin panel, or a creator tool — by walking the taxonomy into a tree view. Assumes a client from the Quickstart.

Luau (Roblox)
-- Studio plugin sound picker: render a category tree
local taxonomy, err = client:getSfxTaxonomy()
if not taxonomy then warn(err) return end

for _, group in taxonomy.taxonomy do
    local header = Instance.new("TextLabel")
    header.Text = group.broader_category
    header.Parent = treeFrame -- your ScrollingFrame for the tree

    for _, cat in group.categories do
        local button = Instance.new("TextButton")
        button.Text = `  {cat.category} ({#cat.subcategories})`
        button.Parent = treeFrame

        button.Activated:Connect(function()
            -- Drive /sfx/search with filters.categories = { cat.category }
        end)
    end
end

Caching

The taxonomy changes rarely — only when we ship new categories. Each Lambda container memoizes the response for 10 minutes, so repeat requests are fast. On your end you can safely cache it for the lifetime of the game session.


Error Responses

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