{"openapi":"3.1.0","info":{"title":"Tunes API","version":"0.1.0","description":"Music search, tracks, albums, artists, discographies, similar artists, charts, ListenBrainz listening stats, podcasts and episodes.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://tunes.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/tunes/docs"},"termsOfService":"https://connectorbay.com/tunes/terms"},"servers":[{"url":"https://tunes.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/tunes/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_music":{"post":{"operationId":"search_music","summary":"Search Deezer's catalogue for tracks (with artist, album, duration, preview), albums, artists or public playlists.","description":"Search Deezer's catalogue for tracks (with artist, album, duration, preview), albums, artists or public playlists.\n    Use for \"who sings X\", \"find the album Y\", \"songs called Z\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Song, album, artist or words.","examples":["Tum Hi Ho","Abbey Road","Arijit Singh"],"title":"Query","type":"string"},"kind":{"default":"track","description":"track | album | artist | playlist","title":"Kind","type":"string"},"max_results":{"default":10,"maximum":25,"minimum":1,"title":"Max Results","type":"integer"}},"required":["query"],"title":"search_musicArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/track":{"post":{"operationId":"track","summary":"One track in full: artist, album and its release date, duration, ISRC, BPM, contributors (featured artists),","description":"One track in full: artist, album and its release date, duration, ISRC, BPM, contributors (featured artists),\n    explicit flag, 30-second preview and link. Use for \"how long is Bohemian Rhapsody\", \"what album is Yellow on\",\n    \"BPM of Blinding Lights\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"track_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Deezer track id.","title":"Track Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Track title, if no id.","examples":["Yellow"],"title":"Title"},"artist":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Artist, to disambiguate the title.","examples":["Coldplay"],"title":"Artist"}},"title":"trackArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/album":{"post":{"operationId":"album","summary":"An album with label, release date, genres, total duration, contributors and the full tracklist (with 30-second","description":"An album with label, release date, genres, total duration, contributors and the full tracklist (with 30-second\n    previews). Use for \"tracklist of Abbey Road\", \"when was Thriller released\", \"songs on Moon Music\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"album_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Deezer album id.","title":"Album Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Album title, if no id.","examples":["Abbey Road"],"title":"Title"},"artist":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Artist, to disambiguate.","title":"Artist"}},"title":"albumArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/artist":{"post":{"operationId":"artist","summary":"An artist's profile: fans and album count on Deezer, biography, origin, formed/born year, genre, style, label","description":"An artist's profile: fans and album count on Deezer, biography, origin, formed/born year, genre, style, label\n    and members (TheAudioDB), MusicBrainz identity (type, country, active years, tags), top 10 tracks and similar\n    artists. Use for \"tell me about Coldplay\", \"where is Burna Boy from\", \"when did Radiohead form\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Artist name.","examples":["Lana Del Rey","A. R. Rahman"],"title":"Name"},"artist_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Deezer artist id.","title":"Artist Id"}},"title":"artistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/discography":{"post":{"operationId":"discography","summary":"An artist's releases newest first: albums, EPs and singles with release dates, track counts and covers. Use","description":"An artist's releases newest first: albums, EPs and singles with release dates, track counts and covers. Use\n    for \"Coldplay's albums in order\", \"latest release by Taylor Swift\", \"how many albums has Radiohead made\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Artist name.","examples":["Coldplay"],"title":"Name"},"artist_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"title":"Artist Id"},"albums_only":{"default":false,"description":"Hide singles and EPs.","title":"Albums Only","type":"boolean"},"max_results":{"default":40,"maximum":100,"minimum":1,"title":"Max Results","type":"integer"}},"title":"discographyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/similar_artists":{"post":{"operationId":"similar_artists","summary":"Artists similar to a given one (Deezer's related-artist graph) with fans and links. Use for \"artists like","description":"Artists similar to a given one (Deezer's related-artist graph) with fans and links. Use for \"artists like\n    Coldplay\", \"who else sounds like Billie Eilish\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"Artist name.","examples":["Coldplay","Arijit Singh"],"title":"Name","type":"string"},"max_results":{"default":10,"maximum":20,"minimum":1,"title":"Max Results","type":"integer"}},"required":["name"],"title":"similar_artistsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/charts":{"post":{"operationId":"charts","summary":"Deezer's current charts: top tracks, albums, artists, playlists or podcasts, overall or for a genre. Use for","description":"Deezer's current charts: top tracks, albums, artists, playlists or podcasts, overall or for a genre. Use for\n    \"top songs right now\", \"most popular rap tracks\", \"top albums this week\", \"biggest podcasts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"kind":{"default":"tracks","description":"tracks | albums | artists | playlists | podcasts","title":"Kind","type":"string"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Genre: pop, rap, rock, dance, r&b, alternative, electro, folk, reggae, jazz, classical, metal, soul, african, asian, blues, brazilian, indian, kids, latin, middle eastern, country, chanson (default all).","title":"Genre"},"max_results":{"default":10,"maximum":50,"minimum":1,"title":"Max Results","type":"integer"}},"title":"chartsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/listening_now":{"post":{"operationId":"listening_now","summary":"What people are actually playing — ListenBrainz's site-wide top artists, tracks or albums by listen count for a","description":"What people are actually playing — ListenBrainz's site-wide top artists, tracks or albums by listen count for a\n    period (open data from scrobbles). Use for \"what is the world listening to this month\", \"most played artists\n    this year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"entity":{"default":"artists","description":"artists | tracks | albums","title":"Entity","type":"string"},"period":{"default":"week","description":"week | month | year | this_week | this_month | this_year | all_time","title":"Period","type":"string"},"max_results":{"default":10,"maximum":50,"minimum":1,"title":"Max Results","type":"integer"}},"title":"listening_nowArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/podcast_search":{"post":{"operationId":"podcast_search","summary":"Find podcasts by name or topic: title, description, fans, artwork and link. Use for \"find the Lex Fridman","description":"Find podcasts by name or topic: title, description, fans, artwork and link. Use for \"find the Lex Fridman\n    podcast\", \"popular history podcasts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Podcast name or topic.","examples":["Lex Fridman","true crime","Hindi stories"],"title":"Query","type":"string"},"max_results":{"default":8,"maximum":20,"minimum":1,"title":"Max Results","type":"integer"}},"required":["query"],"title":"podcast_searchArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/podcast_episodes":{"post":{"operationId":"podcast_episodes","summary":"Latest episodes of a podcast: title, date, duration, description and link. Use for \"latest episodes of","description":"Latest episodes of a podcast: title, date, duration, description and link. Use for \"latest episodes of\n    Huberman Lab\", \"what did Lex Fridman publish this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"podcast_id":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Deezer podcast id.","title":"Podcast Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Podcast name, if no id.","examples":["Lex Fridman Podcast"],"title":"Name"},"max_results":{"default":10,"maximum":30,"minimum":1,"title":"Max Results","type":"integer"}},"title":"podcast_episodesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}