openapi: 3.0.0 info: description: 'Documentation of [TheTVDB](https://thetvdb.com/) API V4. All related information is linked from our [Github repo](https://github.com/thetvdb/v4-api). You might also want to use our [Postman collection] (https://www.getpostman.com/collections/7a9397ce69ff246f74d0) ## Authentication 1. Use the /login endpoint and provide your API key as "apikey". If you have a user-supported key, also provide your subscriber PIN as "pin". Otherwise completely remove "pin" from your call. 2. Executing this call will provide you with a bearer token, which is valid for 1 month. 3. Provide your bearer token for subsequent API calls by clicking Authorize below or including in the header of all direct API calls: `Authorization: Bearer [your-token]` ## Notes 1. "score" is a field across almost all entities. We generate scores for different types of entities in various ways, so no assumptions should be made about the meaning of this value. It is simply used to hint at relative popularity for sorting purposes. ' title: TVDB API V4 Artwork Lists API version: 4.7.10 x-last-validated: '2026-05-30' x-spec-source: https://github.com/thetvdb/v4-api/blob/main/docs/swagger.yml servers: - url: https://api4.thetvdb.com/v4 description: TheTVDB v4 API production security: - bearerAuth: [] tags: - name: Lists paths: /lists: get: description: returns list of list base records operationId: getAllLists parameters: - description: page number in: query name: page schema: type: number example: 1.0 responses: '200': description: response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/ListBaseRecord' type: array status: type: string links: $ref: '#/components/schemas/Links' examples: GetAllLists200Example: summary: Default getAllLists 200 response x-microcks-default: true value: data: - aliases: - language: eng name: Example Name id: 12345 image: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: true isOfficial: true name: Example Name nameTranslations: - example overview: A descriptive paragraph of text. overviewTranslations: - example remoteIds: - id: abc123 type: 12345 sourceName: example tags: - helpText: example id: 12345 name: Example Name tag: 12345 tagName: example score: 100 url: https://artworks.thetvdb.com/banners/example.jpg status: Continuing links: prev: example self: example next: example total_items: 1 page_size: 1 '401': description: Unauthorized tags: - Lists summary: TheTVDB Get All Lists x-microcks-operation: delay: 0 dispatcher: FALLBACK /lists/{id}: get: description: returns an list base record operationId: getList parameters: - description: id in: path name: id required: true schema: type: number example: 12345 responses: '200': description: response content: application/json: schema: properties: data: $ref: '#/components/schemas/ListBaseRecord' status: type: string type: object examples: GetList200Example: summary: Default getList 200 response x-microcks-default: true value: data: aliases: - language: eng name: Example Name id: 12345 image: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: true isOfficial: true name: Example Name nameTranslations: - example overview: A descriptive paragraph of text. overviewTranslations: - example remoteIds: - id: abc123 type: 12345 sourceName: example tags: - helpText: example id: 12345 name: Example Name tag: 12345 tagName: example score: 100 url: https://artworks.thetvdb.com/banners/example.jpg status: Continuing '400': description: Invalid list id '401': description: Unauthorized '404': description: List not found tags: - Lists summary: TheTVDB Get List x-microcks-operation: delay: 0 dispatcher: FALLBACK /lists/slug/{slug}: get: description: returns an list base record search by slug operationId: getListBySlug parameters: - description: slug in: path name: slug required: true schema: type: string example: example-slug responses: '200': description: response content: application/json: schema: properties: data: $ref: '#/components/schemas/ListBaseRecord' status: type: string type: object examples: GetListBySlug200Example: summary: Default getListBySlug 200 response x-microcks-default: true value: data: aliases: - language: eng name: Example Name id: 12345 image: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: true isOfficial: true name: Example Name nameTranslations: - example overview: A descriptive paragraph of text. overviewTranslations: - example remoteIds: - id: abc123 type: 12345 sourceName: example tags: - helpText: example id: 12345 name: Example Name tag: 12345 tagName: example score: 100 url: https://artworks.thetvdb.com/banners/example.jpg status: Continuing '400': description: Invalid list slug '401': description: Unauthorized '404': description: List not found tags: - Lists summary: TheTVDB Get List by Slug x-microcks-operation: delay: 0 dispatcher: FALLBACK /lists/{id}/extended: get: description: returns a list extended record operationId: getListExtended parameters: - description: id in: path name: id required: true schema: type: number example: 12345 responses: '200': description: response content: application/json: schema: properties: data: $ref: '#/components/schemas/ListExtendedRecord' status: type: string type: object examples: GetListExtended200Example: summary: Default getListExtended 200 response x-microcks-default: true value: data: aliases: - language: eng name: Example Name entities: - movieId: 12345 order: 12345 seriesId: 12345 id: 12345 image: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: true isOfficial: true name: Example Name nameTranslations: - example overview: A descriptive paragraph of text. overviewTranslations: - example score: 100 url: https://artworks.thetvdb.com/banners/example.jpg status: Continuing '400': description: Invalid list id '401': description: Unauthorized '404': description: Lists not found tags: - Lists summary: TheTVDB Get List Extended x-microcks-operation: delay: 0 dispatcher: FALLBACK /lists/{id}/translations/{language}: get: description: Returns list translation record operationId: getListTranslation parameters: - description: id in: path name: id required: true schema: type: number example: 12345 - description: language in: path name: language required: true schema: type: string example: eng responses: '200': description: response content: application/json: schema: properties: data: items: $ref: '#/components/schemas/Translation' type: array status: type: string type: object examples: GetListTranslation200Example: summary: Default getListTranslation 200 response x-microcks-default: true value: data: - aliases: - example isAlias: true isPrimary: true language: eng name: Example Name overview: A descriptive paragraph of text. tagline: example status: Continuing '400': description: Invalid lists id '401': description: Unauthorized '404': description: Lists not found tags: - Lists summary: TheTVDB Get List Translation x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: TagOption: description: tag option record properties: helpText: type: string example: example id: format: int64 type: integer x-go-name: ID example: 12345 name: type: string x-go-name: Name example: Example Name tag: format: int64 type: integer x-go-name: Tag example: 12345 tagName: type: string x-go-name: TagName example: example type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model Translation: description: translation record properties: aliases: items: type: string type: array example: - example isAlias: type: boolean example: true isPrimary: type: boolean example: true language: type: string x-go-name: Language example: eng name: type: string example: Example Name overview: type: string example: A descriptive paragraph of text. tagline: type: string description: Only populated for movie translations. We disallow taglines without a title. example: example type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model Entity: description: Entity record properties: movieId: type: integer example: 12345 order: format: int64 type: integer x-go-name: Order example: 12345 seriesId: type: integer example: 12345 type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model Alias: description: An alias model, which can be associated with a series, season, movie, person, or list. properties: language: type: string maximum: 4 description: A 3-4 character string indicating the language of the alias, as defined in Language. example: eng name: type: string maximum: 100 description: A string containing the alias itself. example: Example Name type: object RemoteID: description: remote id record properties: id: type: string x-go-name: ID example: abc123 type: format: int64 type: integer x-go-name: Type example: 12345 sourceName: type: string x-go-name: SourceName example: example type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model ListExtendedRecord: description: extended list record properties: aliases: items: $ref: '#/components/schemas/Alias' type: array x-go-name: Aliases entities: items: $ref: '#/components/schemas/Entity' type: array x-go-name: Entities id: format: int64 type: integer x-go-name: ID example: 12345 image: type: string example: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: type: boolean example: true isOfficial: type: boolean x-go-name: IsOfficial example: true name: type: string example: Example Name nameTranslations: items: type: string type: array x-go-name: NameTranslations example: - example overview: type: string example: A descriptive paragraph of text. overviewTranslations: items: type: string type: array x-go-name: OverviewTranslations example: - example score: format: int64 type: integer x-go-name: Score example: 100 url: type: string example: https://artworks.thetvdb.com/banners/example.jpg type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model ListBaseRecord: description: base list record properties: aliases: items: $ref: '#/components/schemas/Alias' type: array x-go-name: Aliases id: format: int64 type: integer x-go-name: ID example: 12345 image: type: string example: https://artworks.thetvdb.com/banners/example.jpg imageIsFallback: type: boolean example: true isOfficial: type: boolean x-go-name: IsOfficial example: true name: type: string example: Example Name nameTranslations: items: type: string type: array x-go-name: NameTranslations example: - example overview: type: string example: A descriptive paragraph of text. overviewTranslations: items: type: string type: array x-go-name: OverviewTranslations example: - example remoteIds: items: $ref: '#/components/schemas/RemoteID' type: array x-go-name: RemoteIDs tags: items: $ref: '#/components/schemas/TagOption' type: array x-go-name: TagOptions score: type: integer example: 100 url: type: string example: https://artworks.thetvdb.com/banners/example.jpg type: object x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model Links: description: Links for next, previous and current record properties: prev: type: string nullable: true example: example self: type: string nullable: true example: example next: type: string example: example total_items: type: integer example: 1 page_size: type: integer example: 1 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT