TheTVDB · Capability
TVDB API V4 — Search
TVDB API V4 — Search. 2 operations. Lead operation: Get Search Results. Self-contained Naftiko capability covering one TheTVDB business surface.
What You Can Do
GET
Getsearchresults
— TheTVDB Get Search Results
/v1/search
GET
Getsearchresultsbyremoteid
— TheTVDB Get Search Results by Remote Id
/v1/search/remoteid/{remote-id}
MCP Tools
get-search-results
TheTVDB Get Search Results
read-only
idempotent
get-search-results-remote-id
TheTVDB Get Search Results by Remote Id
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: TVDB API V4 — Search
description: 'TVDB API V4 — Search. 2 operations. Lead operation: Get Search Results. Self-contained Naftiko capability covering one TheTVDB business surface.'
tags:
- TheTVDB
- Television
- Search
created: '2026-05-30'
modified: '2026-05-30'
binds:
- namespace: env
keys:
TVDB_BEARER_TOKEN: TVDB_BEARER_TOKEN
capability:
consumes:
- type: http
namespace: v4-search
baseUri: 'https://api4.thetvdb.com/v4'
description: TVDB API V4 — Search business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.TVDB_BEARER_TOKEN}}'
resources:
- name: search
path: /search
operations:
- name: getSearchResults
method: GET
description: TheTVDB Get Search Results
inputParameters:
- name: query
in: query
type: string
required: false
description: The primary search string, which can include the main title for a record including all translations and aliases.
- name: q
in: query
type: string
required: false
description: Alias of the "query" parameter. Recommend using query instead as this field will eventually be deprecated.
- name: type
in: query
type: string
required: false
description: Restrict results to a specific entity type. Can be movie, series, person, or company.
- name: year
in: query
type: number
required: false
description: Restrict results to a specific year. Currently only used for series and movies.
- name: company
in: query
type: string
required: false
description: Restrict results to a specific company (original network, production company, studio, etc). As an example, "The Walking Dead" would have companies of "AMC", "AMC+", and
"Disney+".
- name: country
in: query
type: string
required: false
description: Restrict results to a specific country of origin. Should contain a 3 character country code. Currently only used for series and movies.
- name: director
in: query
type: string
required: false
description: Restrict results to a specific director. Generally only used for movies. Should include the full name of the director, such as "Steven Spielberg".
- name: language
in: query
type: string
required: false
description: Restrict results to a specific primary language. Should include the 3 character language code. Currently only used for series and movies.
- name: primaryType
in: query
type: string
required: false
description: Restrict results to a specific type of company. Should include the full name of the type of company, such as "Production Company". Only used for companies.
- name: network
in: query
type: string
required: false
description: Restrict results to a specific network. Used for TV and TV movies, and functions the same as the company parameter with more specificity.
- name: remote_id
in: query
type: string
required: false
description: Search for a specific remote id. Allows searching for an IMDB or EIDR id, for example.
- name: offset
in: query
type: number
required: false
description: Offset results.
- name: limit
in: query
type: number
required: false
description: Limit results.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: search-remoteid-remoteid
path: /search/remoteid/{remoteId}
operations:
- name: getSearchResultsByRemoteId
method: GET
description: TheTVDB Get Search Results by Remote Id
inputParameters:
- name: remoteId
in: path
type: string
required: true
description: Search for a specific remote id. Allows searching for an IMDB or EIDR id, for example.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: v4-search-rest
port: 8080
description: REST adapter for TVDB API V4 — Search. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/search
name: search
description: REST surface for search.
operations:
- method: GET
name: getSearchResults
description: TheTVDB Get Search Results
call: v4-search.getSearchResults
with:
query: rest.query
q: rest.q
type: rest.type
year: rest.year
company: rest.company
country: rest.country
director: rest.director
language: rest.language
primaryType: rest.primaryType
network: rest.network
remote_id: rest.remote_id
offset: rest.offset
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/search/remoteid/{remote-id}
name: search-remoteid-remoteid
description: REST surface for search-remoteid-remoteid.
operations:
- method: GET
name: getSearchResultsByRemoteId
description: TheTVDB Get Search Results by Remote Id
call: v4-search.getSearchResultsByRemoteId
with:
remoteId: rest.remoteId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v4-search-mcp
port: 9090
transport: http
description: MCP adapter for TVDB API V4 — Search. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: get-search-results
description: TheTVDB Get Search Results
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-search.getSearchResults
with:
query: tools.query
q: tools.q
type: tools.type
year: tools.year
company: tools.company
country: tools.country
director: tools.director
language: tools.language
primaryType: tools.primaryType
network: tools.network
remote_id: tools.remote_id
offset: tools.offset
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: get-search-results-remote-id
description: TheTVDB Get Search Results by Remote Id
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-search.getSearchResultsByRemoteId
with:
remoteId: tools.remoteId
outputParameters:
- type: object
mapping: $.