TheTVDB Movies API

The Movies API from TheTVDB — 6 operation(s) for movies.

Operations 6

GET /movies TheTVDB Get All Movie #
GET /movies/{id} TheTVDB Get Movie Base #
GET /movies/{id}/extended TheTVDB Get Movie Extended #
GET /movies/filter TheTVDB Get Movies Filter #
GET /movies/slug/{slug} TheTVDB Get Movie Base by Slug #
GET /movies/{id}/translations/{language} TheTVDB Get Movie Translation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tvdb-movies-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tvdb-movies-api-openapi.yml Raw ↑
openapi: 3.2.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 Movies 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: Movies
paths:
  /movies:
    get:
      description: returns list of movie base records
      operationId: getAllMovie
      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/MovieBaseRecord'
                    type: array
                  status:
                    type: string
                  links:
                    $ref: '#/components/schemas/Links'
                type: object
              examples:
                GetAllMovie200Example:
                  summary: Default getAllMovie 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - aliases:
                      - language: eng
                        name: Example Name
                      id: 12345
                      image: https://artworks.thetvdb.com/banners/example.jpg
                      lastUpdated: '2024-01-15'
                      name: Example Name
                      nameTranslations:
                      - example
                      overviewTranslations:
                      - example
                      score: 100
                      slug: example-slug
                      status:
                        id: 12345
                        keepUpdated: '2024-01-15'
                        name: Example Name
                        recordType: example
                      runtime: 1
                      year: '2024'
                    status: Continuing
                    links:
                      prev: example
                      self: example
                      next: example
                      total_items: 1
                      page_size: 1
        '401':
          description: Unauthorized
      tags:
      - Movies
      summary: TheTVDB Get All Movie
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /movies/{id}:
    get:
      description: Returns movie base record
      operationId: getMovieBase
      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/MovieBaseRecord'
                  status:
                    type: string
                type: object
              examples:
                GetMovieBase200Example:
                  summary: Default getMovieBase 200 response
                  x-microcks-default: true
                  value:
                    data:
                      aliases:
                      - language: eng
                        name: Example Name
                      id: 12345
                      image: https://artworks.thetvdb.com/banners/example.jpg
                      lastUpdated: '2024-01-15'
                      name: Example Name
                      nameTranslations:
                      - example
                      overviewTranslations:
                      - example
                      score: 100
                      slug: example-slug
                      status:
                        id: 12345
                        keepUpdated: '2024-01-15'
                        name: Example Name
                        recordType: example
                      runtime: 1
                      year: '2024'
                    status: Continuing
        '400':
          description: Invalid movie id
        '401':
          description: Unauthorized
        '404':
          description: Movie not found
      tags:
      - Movies
      summary: TheTVDB Get Movie Base
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /movies/{id}/extended:
    get:
      description: Returns movie extended record
      operationId: getMovieExtended
      parameters:
      - description: id
        in: path
        name: id
        required: true
        schema:
          type: number
        example: 12345
      - description: meta
        in: query
        name: meta
        required: false
        schema:
          type: string
          enum:
          - translations
          example: translations
        example: translations
      - description: reduce the payload and returns the short version of this record without characters, artworks and trailers.
        in: query
        name: short
        required: false
        schema:
          type: boolean
          enum:
          - true
          - false
        example: true
      responses:
        '200':
          description: response
          content:
            application/json:
              schema:
                properties:
                  data:
                    $ref: '#/components/schemas/MovieExtendedRecord'
                  status:
                    type: string
                type: object
              examples:
                GetMovieExtended200Example:
                  summary: Default getMovieExtended 200 response
                  x-microcks-default: true
                  value:
                    data:
                      aliases:
                      - language: eng
                        name: Example Name
                      artworks:
                      - height: 12345
                        id: 12345
                        image: https://artworks.thetvdb.com/banners/example.jpg
                        includesText: true
                        language: eng
                        score: 100
                        thumbnail: example
                        type: 12345
                        width: 12345
                      audioLanguages:
                      - example
                      awards:
                      - id: 12345
                        name: Example Name
                      boxOffice: example
                      boxOfficeUS: example
                      budget: example
                      characters:
                      - aliases:
                        - language: eng
                          name: Example Name
                        episode:
                          image: https://artworks.thetvdb.com/banners/example.jpg
                          name: Example Name
                          year: '2024'
                        episodeId: 12345
                        id: 12345
                        image: https://artworks.thetvdb.com/banners/example.jpg
                        isFeatured: true
                        movieId: 12345
                        movie:
                          image: https://artworks.thetvdb.com/banners/example.jpg
                          name: Example Name
                          year: '2024'
                        name: Example Name
                        nameTranslations:
                        - example
                        overviewTranslations:
                        - example
                        peopleId: 12345
                        personImgURL: https://artworks.thetvdb.com/banners/example.jpg
                        peopleType: example
                        seriesId: 12345
                        series:
                          image: https://artworks.thetvdb.com/banners/example.jpg
                          name: Example Name
                          year: '2024'
                        sort: 12345
                        tagOptions:
                        - helpText: example
                          id: 12345
                          name: Example Name
                          tag: 12345
                          tagName: example
                        type: 12345
                        url: https://artworks.thetvdb.com/banners/example.jpg
                        personName: example
                      companies:
                        studio:
                        - activeDate: '2024-01-15'
                          aliases:
                          - language: null
                            name: null
                          country: usa
                          id: 12345
                          inactiveDate: '2024-01-15'
                          name: Example Name
                          nameTranslations:
                          - example
                          overviewTranslations:
                          - example
                          primaryCompanyType: 12345
                          slug: example-slug
                          parentCompany:
                            id: null
                            name: null
                            relation: {}
                          tagOptions:
                          - helpText: null
                            id: null
                            name: null
                            tag: null
                            tagName: null
                        network:
                        - activeDate: '2024-01-15'
                          aliases:
                          - language: null
                            name: null
                          country: usa
                          id: 12345
                          inactiveDate: '2024-01-15'
                          name: Example Name
                          nameTranslations:
                          - example
                          overviewTranslations:
                          - example
                          primaryCompanyType: 12345
                          slug: example-slug
                          parentCompany:
                            id: null
                            name: null
                            relation: {}
                          tagOptions:
                          - helpText: null
                            id: null
                            name: null
                            tag: null
                            tagName: null
                        production:
                        - activeDate: '2024-01-15'
                          aliases:
                          - language: null
                            name: null
                          country: usa
                          id: 12345
                          inactiveDate: '2024-01-15'
                          name: Example Name
                          nameTranslations:
                          - example
                          overviewTranslations:
                          - example
                          primaryCompanyType: 12345
                          slug: example-slug
                          parentCompany:
                            id: null
                            name: null
                            relation: {}
                          tagOptions:
                          - helpText: null
                            id: null
                            name: null
                            tag: null
                            tagName: null
                        distributor:
                        - activeDate: '2024-01-15'
                          aliases:
                          - language: null
                            name: null
                          country: usa
                          id: 12345
                          inactiveDate: '2024-01-15'
                          name: Example Name
                          nameTranslations:
                          - example
                          overviewTranslations:
                          - example
                          primaryCompanyType: 12345
                          slug: example-slug
                          parentCompany:
                            id: null
                            name: null
                            relation: {}
                          tagOptions:
                          - helpText: null
                            id: null
                            name: null
                            tag: null
                            tagName: null
                        special_effects:
                        - activeDate: '2024-01-15'
                          aliases:
                          - language: null
                            name: null
                          country: usa
                          id: 12345
                          inactiveDate: '2024-01-15'
                          name: Example Name
                          nameTranslations:
                          - example
                          overviewTranslations:
                          - example
                          primaryCompanyType: 12345
                          slug: example-slug
                          parentCompany:
                            id: null
                            name: null
                            relation: {}
                          tagOptions:
                          - helpText: null
                            id: null
                            name: null
                            tag: null
                            tagName: null
                      contentRatings:
                      - id: 12345
                        name: Example Name
                        description: A descriptive paragraph of text.
                        country: usa
                        contentType: example
                        order: 1
                        fullName: example
                      first_release:
                        country: usa
                        date: '2024-01-15'
                        detail: example
                      genres:
                      - id: 12345
                        name: Example Name
                        slug: example-slug
                      id: 12345
                      image: https://artworks.thetvdb.com/banners/example.jpg
                      inspirations:
                      - id: 12345
                        type: example
                        type_name: example
                        url: https://artworks.thetvdb.com/banners/example.jpg
                      lastUpdated: '2024-01-15'
                      lists:
                      - 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
                      name: Example Name
                      nameTranslations:
                      - example
                      originalCountry: example
                      originalLanguage: example
                      overviewTranslations:
                      - example
                      production_countries:
                      - id: 12345
                        country: usa
                        name: Example Name
                      releases:
                      - country: usa
                        date: '2024-01-15'
                        detail: example
                      remoteIds:
                      - id: abc123
                        type: 12345
                        sourceName: example
                      runtime: 1
                      score: 100
                      slug: example-slug
                      spoken_languages:
                      - example
                      status:
                        id: 12345
                        keepUpdated: '2024-01-15'
                        name: Example Name
                        recordType: example
                      studios:
                      - id: 12345
                        name: Example Name
                        parentStudio: 1
                      subtitleLanguages:
                      - example
                      tagOptions:
                      - helpText: example
                        id: 12345
                        name: Example Name
                        tag: 12345
                        tagName: example
                      trailers:
                      - id: 12345
                        language: eng
                        name: Example Name
                        url: https://artworks.thetvdb.com/banners/example.jpg
                        runtime: 1
                      translations:
                        nameTranslations:
                        - aliases:
                          - example
                          isAlias: true
                          isPrimary: true
                          language: eng
                          name: Example Name
                          overview: A descriptive paragraph of text.
                          tagline: example
                        overviewTranslations:
                        - aliases:
                          - example
                          isAlias: true
                          isPrimary: true
                          language: eng
                          name: Example Name
                          overview: A descriptive paragraph of text.
                          tagline: example
                        alias:
                        - example
                      year: '2024'
                    status: Continuing
        '400':
          description: Invalid movie id
        '401':
          description: Unauthorized
        '404':
          description: Movie not found
      tags:
      - Movies
      summary: TheTVDB Get Movie Extended
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /movies/filter:
    get:
      description: Search movies based on filter parameters
      operationId: getMoviesFilter
      parameters:
      - description: production company
        in: query
        name: company
        required: false
        schema:
          type: number
          example: 1
        example: 1
      - description: content rating id base on a country
        in: query
        name: contentRating
        required: false
        schema:
          type: number
          example: 245
        example: 245
      - description: country of origin
        in: query
        name: country
        required: true
        schema:
          type: string
          example: usa
        example: usa
      - description: genre
        in: query
        name: genre
        required: false
        schema:
          type: number
          example: 3
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
          - 10
          - 11
          - 12
          - 13
          - 14
          - 15
          - 16
          - 17
          - 18
          - 19
          - 21
          - 22
          - 23
          - 24
          - 25
          - 26
          - 27
          - 28
          - 29
          - 30
          - 31
          - 32
          - 33
          - 34
          - 35
          - 36
        example: 3
      - description: original language
        in: query
        name: lang
        required: true
        schema:
          type: string
          example: eng
        example: eng
      - description: sort by results
        in: query
        name: sort
        required: false
        schema:
          type: string
          enum:
          - score
          - firstAired
          - name
        example: score
      - description: status
        in: query
        name: status
        required: false
        schema:
          type: number
          enum:
          - 1
          - 2
          - 3
        example: 1
      - description: release year
        in: query
        name: year
        required: false
        schema:
          type: number
          example: 2020
        example: 2020
      responses:
        '200':
          description: response
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/MovieBaseRecord'
                    type: array
                  status:
                    type: string
                type: object
              examples:
                GetMoviesFilter200Example:
                  summary: Default getMoviesFilter 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - aliases:
                      - language: eng
                        name: Example Name
                      id: 12345
                      image: https://artworks.thetvdb.com/banners/example.jpg
                      lastUpdated: '2024-01-15'
                      name: Example Name
                      nameTranslations:
                      - example
                      overviewTranslations:
                      - example
                      score: 100
                      slug: example-slug
                      status:
                        id: 12345
                        keepUpdated: '2024-01-15'
                        name: Example Name
                        recordType: example
                      runtime: 1
                      year: '2024'
                    status: Continuing
        '400':
          description: Invalid format parameter.
        '401':
          description: Unauthorized
      tags:
      - Movies
      summary: TheTVDB Get Movies Filter
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /movies/slug/{slug}:
    get:
      description: Returns movie base record search by slug
      operationId: getMovieBaseBySlug
      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/MovieBaseRecord'
                  status:
                    type: string
                type: object
              examples:
                GetMovieBaseBySlug200Example:
                  summary: Default getMovieBaseBySlug 200 response
                  x-microcks-default: true
                  value:
                    data:
                      aliases:
                      - language: eng
                        name: Example Name
                      id: 12345
                      image: https://artworks.thetvdb.com/banners/example.jpg
                      lastUpdated: '2024-01-15'
                      name: Example Name
                      nameTranslations:
                      - example
                      overviewTranslations:
                      - example
                      score: 100
                      slug: example-slug
                      status:
                        id: 12345
                        keepUpdated: '2024-01-15'
                        name: Example Name
                        recordType: example
                      runtime: 1
                      year: '2024'
                    status: Continuing
        '400':
          description: Invalid movie slug
        '401':
          description: Unauthorized
        '404':
          description: Movie not found
      tags:
      - Movies
      summary: TheTVDB Get Movie Base by Slug
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /movies/{id}/translations/{language}:
    get:
      description: Returns movie translation record
      operationId: getMovieTranslation
      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:
                    $ref: '#/components/schemas/Translation'
                  status:
                    type: string
                type: object
              examples:
                GetMovieTranslation200Example:
                  summary: Default getMovieTranslation 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 movie id, invalid language.
        '401':
          description: Unauthorized
        '404':
          description: Movie not found
      tags:
      - Movies
      summary: TheTVDB Get Movie Translation
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Trailer:
      description: trailer record
      properties:
        id:
          format: int64
          type: integer
          x-go-name: ID
          example: 12345
        language:
          type: string
          example: eng
        name:
          type: string
          example: Example Name
        url:
          type: string
          example: https://artworks.thetvdb.com/banners/example.jpg
        runtime:
          type: integer
          example: 1
      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
    Release:
      description: release record
      properties:
        country:
          type: string
          example: usa
        date:
          type: string
          example: '2024-01-15'
        detail:
          type: string
          example: example
      type: object
      x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model
    Companies:
      description: Companies by type record
      properties:
        studio:
          type: array
          items:
            $ref: '#/components/schemas/Company'
        network:
          type: array
          items:
            $ref: '#/components/schemas/Company'
        production:
          type: array
          items:
            $ref: '#/components/schemas/Company'
        distributor:
          type: array
          items:
            $ref: '#/components/schemas/Company'
        special_effects:
          type: array
          items:
            $ref: '#/components/schemas/Company'
    ArtworkBaseRecord:
      description: base artwork record
      properties:
        height:
          format: int64
          type: integer
          x-go-name: Height
          example: 12345
        id:
          type: integer
          example: 12345
        image:
          type: string
          x-go-name: Image
          example: https://artworks.thetvdb.com/banners/example.jpg
        includesText:
          type: boolean
          example: true
        language:
          type: string
          example: eng
        score:
          type: number
          example: 100
        thumbnail:
          type: string
          x-go-name: Thumbnail
          example: example
        type:
          format: int64
          type: integer
          x-go-name: Type
          description: The artwork type corresponds to the ids from the /artwork/types endpoint.
          example: 12345
        width:
          format: int64
          type: integer
          x-go-name: Width
          example: 12345
      type: object
      x-go-package: github.com/whip-networks/tvdb-api-v4-core/tvdb-api-v4-core/pkg/model
    Inspiration:
      description: Movie inspiration record
      properties:
        id:
          format: int64
          type: integer
          x-go-name: ID
          example: 12345
        type:
          type: string
          example: example
        type_name:
          type: string
          example: example
        url:
          type: string
          example: https://artworks.thetvdb.com/banners/example.jpg
    Status:
      description: status record
      properties:
        id:
          format: int64
          type:
          - integer
          - 'null'
          x-go-name: ID
          example: 12345
        keepUpdated:
          type: boolean
          x-go-name: KeepUpdated
          exa

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tvdb/refs/heads/main/openapi/tvdb-movies-api-openapi.yml