TheTVDB Lists API

The Lists API from TheTVDB — 5 operation(s) for lists.

OpenAPI Specification

tvdb-lists-api-openapi.yml Raw ↑
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