TIDAL Search API — Search Results
TIDAL Search API — Search Results. 7 operations. Self-contained Naftiko capability covering one TIDAL business surface.
TIDAL Search API — Search Results is a Naftiko capability published by TIDAL, one of 36 capabilities the APIs.io network indexes for this provider. It bundles 7 operations across the GET method rooted at /v2/searchResults/{…}.
The capability includes 7 read-only operations. Lead operation: Get single searchResult. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.
Tagged areas include TIDAL, Music, and searchResults.
What You Can Do
MCP Tools
tidal-getsearchresults
Get single searchResult.
tidal-getsearchresults
Get albums relationship ("to-many").
tidal-getsearchresults
Get artists relationship ("to-many").
tidal-getsearchresults
Get playlists relationship ("to-many").
tidal-getsearchresults
Get topHits relationship ("to-many").
tidal-getsearchresults
Get tracks relationship ("to-many").
tidal-getsearchresults
Get videos relationship ("to-many").
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: TIDAL Search API — Search Results
description: TIDAL Search API — Search Results. 7 operations. Self-contained Naftiko capability covering one TIDAL business
surface.
tags:
- TIDAL
- Music
- searchResults
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
TIDAL_ACCESS_TOKEN: TIDAL_ACCESS_TOKEN
capability:
consumes:
- type: http
namespace: search-search-results
baseUri: https://openapi.tidal.com
description: TIDAL Search API — Search Results business capability. Self-contained, no shared references.
resources:
- name: searchResults-id
path: /searchResults/{id}
operations:
- name: getsearchresults
method: GET
description: Get single searchResult.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: albums,
artists, playlists, topHits, tracks, videos'
required: false
- name: searchResults-id-relationships-albums
path: /searchResults/{id}/relationships/albums
operations:
- name: getsearchresults
method: GET
description: Get albums relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: albums'
required: false
- name: searchResults-id-relationships-artists
path: /searchResults/{id}/relationships/artists
operations:
- name: getsearchresults
method: GET
description: Get artists relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: artists'
required: false
- name: searchResults-id-relationships-playlists
path: /searchResults/{id}/relationships/playlists
operations:
- name: getsearchresults
method: GET
description: Get playlists relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: playlists'
required: false
- name: searchResults-id-relationships-topHits
path: /searchResults/{id}/relationships/topHits
operations:
- name: getsearchresults
method: GET
description: Get topHits relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: topHits'
required: false
- name: searchResults-id-relationships-tracks
path: /searchResults/{id}/relationships/tracks
operations:
- name: getsearchresults
method: GET
description: Get tracks relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: tracks'
required: false
- name: searchResults-id-relationships-videos
path: /searchResults/{id}/relationships/videos
operations:
- name: getsearchresults
method: GET
description: Get videos relationship ("to-many").
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Search query string used as the resource identifier
required: true
- name: explicitFilter
in: query
type: string
description: 'Explicit filter. Valid values: INCLUDE or EXCLUDE'
required: false
- name: page[cursor]
in: query
type: string
description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not
specified
required: false
- name: countryCode
in: query
type: string
description: ISO 3166-1 alpha-2 country code
required: false
- name: include
in: query
type: array
description: 'Allows the client to customize which related resources should be returned. Available options: videos'
required: false
authentication:
type: bearer
value: '{{env.TIDAL_ACCESS_TOKEN}}'
placement: header
header: Authorization
prefix: 'Bearer '
exposes:
- type: rest
namespace: search-search-results-rest
port: 8080
description: REST adapter for TIDAL Search API — Search Results. One Spectral-compliant resource per consumed operation,
prefixed with /v2.
resources:
- path: /v2/searchResults/{id}
name: searchResults-id
description: REST surface for searchResults-id.
operations:
- method: GET
name: getsearchresults
description: Get single searchResult.
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/albums
name: searchResults-id-relationships-albums
description: REST surface for searchResults-id-relationships-albums.
operations:
- method: GET
name: getsearchresults
description: Get albums relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/artists
name: searchResults-id-relationships-artists
description: REST surface for searchResults-id-relationships-artists.
operations:
- method: GET
name: getsearchresults
description: Get artists relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/playlists
name: searchResults-id-relationships-playlists
description: REST surface for searchResults-id-relationships-playlists.
operations:
- method: GET
name: getsearchresults
description: Get playlists relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/topHits
name: searchResults-id-relationships-topHits
description: REST surface for searchResults-id-relationships-topHits.
operations:
- method: GET
name: getsearchresults
description: Get topHits relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/tracks
name: searchResults-id-relationships-tracks
description: REST surface for searchResults-id-relationships-tracks.
operations:
- method: GET
name: getsearchresults
description: Get tracks relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- path: /v2/searchResults/{id}/relationships/videos
name: searchResults-id-relationships-videos
description: REST surface for searchResults-id-relationships-videos.
operations:
- method: GET
name: getsearchresults
description: Get videos relationship ("to-many").
call: search-search-results.getsearchresults
with:
id: rest.path.id
explicitFilter: rest.query.explicitFilter
page[cursor]: rest.query.page[cursor]
countryCode: rest.query.countryCode
include: rest.query.include
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: search-search-results-mcp
port: 9090
transport: http
description: MCP adapter for TIDAL Search API — Search Results. One tool per consumed operation.
tools:
- name: tidal-getsearchresults
description: Get single searchResult.
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get albums relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get artists relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get playlists relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get topHits relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get tracks relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.
- name: tidal-getsearchresults
description: Get videos relationship ("to-many").
hints:
readOnly: true
destructive: false
idempotent: true
call: search-search-results.getsearchresults
with:
id: tools.id
explicitFilter: tools.explicitFilter
page[cursor]: tools.page[cursor]
countryCode: tools.countryCode
include: tools.include
outputParameters:
- type: object
mapping: $.