← API Reference

Similar Sound Effects

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

On this pageEndpoint

Endpoint

Given an SFX asset ID, find other sound effects that sound similar. Useful for building "more like this" pickers, filling out a soundscape with related ambiences, or matching a placeholder clip to its closest neighbor in the catalog.

Headers

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

Request Body

ParameterTypeDescription
asset_id
string
required
The Roblox asset ID of the SFX to find similar clips for
limit
number
optional
Maximum results to return (default: 20, max: 100)
offset
number
optional
Pagination offset (default: 0)
filters
object
optional
Narrow your results:
categoriesArray of UCS-style category names
subcategoriesArray of subcategories
durationObject with min and max in seconds (default: 0–400)

Response

Returns SFX clips that are acoustically similar to the given asset.

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
  }
}

Example Request

Take one hero sound — say, the footstep you already love — and fan it out into a variety pack of similar clips so repeated plays don't feel mechanical. Assumes a client from the Quickstart.

Luau (Roblox)
-- Build a footstep variety pack from one hero sound
local HERO_FOOTSTEP_ID = "9120386436"

local result, err = client:sfxSimilar({
    asset_id = HERO_FOOTSTEP_ID,
    limit = 5,
})
if not result then warn(err) return end

local footsteps = { HERO_FOOTSTEP_ID }
for _, sfx in result.tracks do
    table.insert(footsteps, sfx.asset_id)
end

local function playFootstep(parent)
    local sound = Instance.new("Sound")
    sound.SoundId = "rbxassetid://" .. footsteps[math.random(#footsteps)]
    sound.Parent = parent
    sound:Play()
end

Error Responses

400Bad Request

Missing or invalid asset ID.

400.json
{
  "error": "asset_id is required and must be a numeric string"
}
401Unauthorized

Invalid or missing API key.

401.json
{
  "error": "Invalid API key"
}
404Not Found

The given asset ID has no SFX embedding in our catalog.

404.json
{
  "error": "asset_id not found"
}
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