TheTVDB · Capability
TVDB API V4 — Series
TVDB API V4 — Series. 10 operations. Lead operation: Get All Series. Self-contained Naftiko capability covering one TheTVDB business surface.
What You Can Do
GET
Getallseries
— TheTVDB Get All Series
/v1/series
GET
Getseriesbase
— TheTVDB Get Series Base
/v1/series/{id}
GET
Getseriesartworks
— TheTVDB Get Series Artworks
/v1/series/{id}/artworks
GET
Getseriesnextaired
— TheTVDB Get Series Next Aired
/v1/series/{id}/next-aired
GET
Getseriesextended
— TheTVDB Get Series Extended
/v1/series/{id}/extended
GET
Getseriesepisodes
— TheTVDB Get Series Episodes
/v1/series/{id}/episodes/{season-type}
GET
Getseriesseasonepisodestranslated
— TheTVDB Get Series Season Episodes Translated
/v1/series/{id}/episodes/{season-type}/{lang}
GET
Getseriesfilter
— TheTVDB Get Series Filter
/v1/series/filter
GET
Getseriesbasebyslug
— TheTVDB Get Series Base by Slug
/v1/series/slug/{slug}
GET
Getseriestranslation
— TheTVDB Get Series Translation
/v1/series/{id}/translations/{language}
MCP Tools
get-series
TheTVDB Get All Series
read-only
idempotent
get-series-base
TheTVDB Get Series Base
read-only
idempotent
get-series-artworks
TheTVDB Get Series Artworks
read-only
idempotent
get-series-next-aired
TheTVDB Get Series Next Aired
read-only
idempotent
get-series-extended
TheTVDB Get Series Extended
read-only
idempotent
get-series-episodes
TheTVDB Get Series Episodes
read-only
idempotent
get-series-season-episodes-translated
TheTVDB Get Series Season Episodes Translated
read-only
idempotent
get-series-filter
TheTVDB Get Series Filter
read-only
idempotent
get-series-base-slug
TheTVDB Get Series Base by Slug
read-only
idempotent
get-series-translation
TheTVDB Get Series Translation
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: TVDB API V4 — Series
description: 'TVDB API V4 — Series. 10 operations. Lead operation: Get All Series. Self-contained Naftiko capability covering one TheTVDB business surface.'
tags:
- TheTVDB
- Television
- Series
created: '2026-05-30'
modified: '2026-05-30'
binds:
- namespace: env
keys:
TVDB_BEARER_TOKEN: TVDB_BEARER_TOKEN
capability:
consumes:
- type: http
namespace: v4-series
baseUri: 'https://api4.thetvdb.com/v4'
description: TVDB API V4 — Series business capability. Self-contained, no shared references.
authentication:
type: bearer
token: '{{env.TVDB_BEARER_TOKEN}}'
resources:
- name: series
path: /series
operations:
- name: getAllSeries
method: GET
description: TheTVDB Get All Series
inputParameters:
- name: page
in: query
type: number
required: false
description: page number
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id
path: '/series/{id}'
operations:
- name: getSeriesBase
method: GET
description: TheTVDB Get Series Base
inputParameters:
- name: id
in: path
type: number
required: true
description: id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-artworks
path: '/series/{id}/artworks'
operations:
- name: getSeriesArtworks
method: GET
description: TheTVDB Get Series Artworks
inputParameters:
- name: id
in: path
type: number
required: true
description: id
- name: lang
in: query
type: string
required: false
description: lang
- name: type
in: query
type: integer
required: false
description: type
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-nextaired
path: '/series/{id}/nextAired'
operations:
- name: getSeriesNextAired
method: GET
description: TheTVDB Get Series Next Aired
inputParameters:
- name: id
in: path
type: number
required: true
description: id
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-extended
path: '/series/{id}/extended'
operations:
- name: getSeriesExtended
method: GET
description: TheTVDB Get Series Extended
inputParameters:
- name: id
in: path
type: number
required: true
description: id
- name: meta
in: query
type: string
required: false
description: meta
- name: short
in: query
type: boolean
required: false
description: reduce the payload and returns the short version of this record without characters and artworks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-episodes-season-type
path: '/series/{id}/episodes/{season-type}'
operations:
- name: getSeriesEpisodes
method: GET
description: TheTVDB Get Series Episodes
inputParameters:
- name: page
in: query
type: integer
required: true
description: page parameter
- name: id
in: path
type: number
required: true
description: id
- name: season-type
in: path
type: string
required: true
description: season-type
- name: season
in: query
type: integer
required: false
description: season parameter
- name: episodeNumber
in: query
type: integer
required: false
description: episodeNumber parameter
- name: airDate
in: query
type: string
required: false
description: airDate of the episode, format is yyyy-mm-dd
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-episodes-season-type-lang
path: '/series/{id}/episodes/{season-type}/{lang}'
operations:
- name: getSeriesSeasonEpisodesTranslated
method: GET
description: TheTVDB Get Series Season Episodes Translated
inputParameters:
- name: page
in: query
type: integer
required: true
description: page parameter
- name: id
in: path
type: number
required: true
description: id
- name: season-type
in: path
type: string
required: true
description: season-type
- name: lang
in: path
type: string
required: true
description: lang parameter
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-filter
path: '/series/filter'
operations:
- name: getSeriesFilter
method: GET
description: TheTVDB Get Series Filter
inputParameters:
- name: company
in: query
type: number
required: false
description: production company
- name: contentRating
in: query
type: number
required: false
description: content rating id base on a country
- name: country
in: query
type: string
required: true
description: country of origin
- name: genre
in: query
type: number
required: false
description: Genre id. This id can be found using **/genres** endpoint.
- name: lang
in: query
type: string
required: true
description: original language
- name: sort
in: query
type: string
required: false
description: sort by results
- name: sortType
in: query
type: string
required: false
description: sort type ascending or descending
- name: status
in: query
type: number
required: false
description: status
- name: year
in: query
type: number
required: false
description: release year
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-slug-slug
path: '/series/slug/{slug}'
operations:
- name: getSeriesBaseBySlug
method: GET
description: TheTVDB Get Series Base by Slug
inputParameters:
- name: slug
in: path
type: string
required: true
description: slug
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: series-id-translations-language
path: '/series/{id}/translations/{language}'
operations:
- name: getSeriesTranslation
method: GET
description: TheTVDB Get Series Translation
inputParameters:
- name: id
in: path
type: number
required: true
description: id
- name: language
in: path
type: string
required: true
description: language
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: v4-series-rest
port: 8080
description: REST adapter for TVDB API V4 — Series. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/series
name: series
description: REST surface for series.
operations:
- method: GET
name: getAllSeries
description: TheTVDB Get All Series
call: v4-series.getAllSeries
with:
page: rest.page
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}
name: series-id
description: REST surface for series-id.
operations:
- method: GET
name: getSeriesBase
description: TheTVDB Get Series Base
call: v4-series.getSeriesBase
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/artworks
name: series-id-artworks
description: REST surface for series-id-artworks.
operations:
- method: GET
name: getSeriesArtworks
description: TheTVDB Get Series Artworks
call: v4-series.getSeriesArtworks
with:
id: rest.id
lang: rest.lang
type: rest.type
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/next-aired
name: series-id-nextaired
description: REST surface for series-id-nextaired.
operations:
- method: GET
name: getSeriesNextAired
description: TheTVDB Get Series Next Aired
call: v4-series.getSeriesNextAired
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/extended
name: series-id-extended
description: REST surface for series-id-extended.
operations:
- method: GET
name: getSeriesExtended
description: TheTVDB Get Series Extended
call: v4-series.getSeriesExtended
with:
id: rest.id
meta: rest.meta
short: rest.short
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/episodes/{season-type}
name: series-id-episodes-season-type
description: REST surface for series-id-episodes-season-type.
operations:
- method: GET
name: getSeriesEpisodes
description: TheTVDB Get Series Episodes
call: v4-series.getSeriesEpisodes
with:
page: rest.page
id: rest.id
season-type: rest.season-type
season: rest.season
episodeNumber: rest.episodeNumber
airDate: rest.airDate
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/episodes/{season-type}/{lang}
name: series-id-episodes-season-type-lang
description: REST surface for series-id-episodes-season-type-lang.
operations:
- method: GET
name: getSeriesSeasonEpisodesTranslated
description: TheTVDB Get Series Season Episodes Translated
call: v4-series.getSeriesSeasonEpisodesTranslated
with:
page: rest.page
id: rest.id
season-type: rest.season-type
lang: rest.lang
outputParameters:
- type: object
mapping: $.
- path: /v1/series/filter
name: series-filter
description: REST surface for series-filter.
operations:
- method: GET
name: getSeriesFilter
description: TheTVDB Get Series Filter
call: v4-series.getSeriesFilter
with:
company: rest.company
contentRating: rest.contentRating
country: rest.country
genre: rest.genre
lang: rest.lang
sort: rest.sort
sortType: rest.sortType
status: rest.status
year: rest.year
outputParameters:
- type: object
mapping: $.
- path: /v1/series/slug/{slug}
name: series-slug-slug
description: REST surface for series-slug-slug.
operations:
- method: GET
name: getSeriesBaseBySlug
description: TheTVDB Get Series Base by Slug
call: v4-series.getSeriesBaseBySlug
with:
slug: rest.slug
outputParameters:
- type: object
mapping: $.
- path: /v1/series/{id}/translations/{language}
name: series-id-translations-language
description: REST surface for series-id-translations-language.
operations:
- method: GET
name: getSeriesTranslation
description: TheTVDB Get Series Translation
call: v4-series.getSeriesTranslation
with:
id: rest.id
language: rest.language
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: v4-series-mcp
port: 9090
transport: http
description: MCP adapter for TVDB API V4 — Series. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: get-series
description: TheTVDB Get All Series
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getAllSeries
with:
page: tools.page
outputParameters:
- type: object
mapping: $.
- name: get-series-base
description: TheTVDB Get Series Base
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesBase
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-series-artworks
description: TheTVDB Get Series Artworks
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesArtworks
with:
id: tools.id
lang: tools.lang
type: tools.type
outputParameters:
- type: object
mapping: $.
- name: get-series-next-aired
description: TheTVDB Get Series Next Aired
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesNextAired
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: get-series-extended
description: TheTVDB Get Series Extended
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesExtended
with:
id: tools.id
meta: tools.meta
short: tools.short
outputParameters:
- type: object
mapping: $.
- name: get-series-episodes
description: TheTVDB Get Series Episodes
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesEpisodes
with:
page: tools.page
id: tools.id
season-type: tools.season-type
season: tools.season
episodeNumber: tools.episodeNumber
airDate: tools.airDate
outputParameters:
- type: object
mapping: $.
- name: get-series-season-episodes-translated
description: TheTVDB Get Series Season Episodes Translated
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesSeasonEpisodesTranslated
with:
page: tools.page
id: tools.id
season-type: tools.season-type
lang: tools.lang
outputParameters:
- type: object
mapping: $.
- name: get-series-filter
description: TheTVDB Get Series Filter
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesFilter
with:
company: tools.company
contentRating: tools.contentRating
country: tools.country
genre: tools.genre
lang: tools.lang
sort: tools.sort
sortType: tools.sortType
status: tools.status
year: tools.year
outputParameters:
- type: object
mapping: $.
- name: get-series-base-slug
description: TheTVDB Get Series Base by Slug
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesBaseBySlug
with:
slug: tools.slug
outputParameters:
- type: object
mapping: $.
- name: get-series-translation
description: TheTVDB Get Series Translation
hints:
readOnly: true
destructive: false
idempotent: true
call: v4-series.getSeriesTranslation
with:
id: tools.id
language: tools.language
outputParameters:
- type: object
mapping: $.