Skip to content
AINSOFAPI Get API key

GuidesSearch

Search

Describe the music in plain words: a mood, a scene, a pace, an instrument. It matches on meaning, so a feeling works as well as a genre. Name a track, an album, an album code, an ISRC or a composer and you get exactly that.

AINSOF album covers and a search for bold, playful music for a launch film, with the API request behind it

MCP toolsearch_musicRESTaction: "search"

Try it

curl https://mcp.ainsof.io/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AINSOF_API_KEY" \
  -d '{"action": "search", "brief": "tense, minimal pulse for an interview, no vocals", "top_k": 5}'

What you send

briefrequired
string
What the music should be, or the exact name of a cue, album, album code, track id, ISRC or composer. Required unless link is sent (see Reference search).
Also accepted as text
top_k
integer
Number of results.
Default: 10
Capped at 25. A name lookup returns up to 25 cues by default; raise top_k for more (at most 150). found_by_name says when there are more.
Also accepted as count

Good to know

  • search is also what runs when action is omitted.
  • Names are looked up, not searched. When the whole brief is a cue title, an album name (with or without its subtitle in brackets), an album code such as AIN-CAT 031, a track id, an ISRC (any separators) or a composer's full name, the answer is that cue, that album or that writer's cues, and found_by_name says so. A title inside a short brief is moved to the top of an ordinary search instead.
  • Negatives are enforced. no vocals, no singing, no voice, no lyrics, without vocals, instrumental only and non-vocal, and not/no/nothing/without/avoid followed by a style word (for example no electronic), remove matching cues instead of only influencing the ranking. What was enforced is listed in enforced.
  • Non-English briefs. A brief written mostly in a non-Latin script (more than 30% of its letters, e.g. Hebrew, Arabic, Cyrillic, Chinese, Japanese, Korean) is translated into an English search phrase before searching; translated_from.we_searched_for shows the phrase used. Other languages are searched as written.
  • Composers inside a brief. When a brief also names a composer, that composer's cues among the matches are listed first and composer_note says how many of the results are theirs.

Every field it returns, and its errors, in the API Reference