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.

Run with Naftiko TheTVDBTelevisionSearch

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

v4-search.yaml Raw ↑
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: $.