Tivo Content API

Search and retrieve entertainment content metadata

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/tivo-content-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 email required.

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

OpenAPI Specification

tivo-content-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: TiVo Video Metadata Content API
  description: The TiVo Video Metadata API v3 provides access to a universe of high-quality entertainment imagery and information. The HTTP-based API delivers JSON responses for TV shows, movies, episodes, and related entertainment content. Supports content search by metadata fields and precise ID-based lookup using Rovi, TMDB, and EIDR identifiers.
  version: v3
  contact:
    name: TiVo Developer Support
    url: https://developers.tivo.com
  x-logo:
    url: https://business.tivo.com/logo.png
servers:
- url: https://data.tivo.com
  description: TiVo Video Metadata API
security:
- bearerAuth: []
tags:
- name: Content
  description: Search and retrieve entertainment content metadata
paths:
  /v3/content/search:
    get:
      operationId: searchContent
      summary: Search Content
      description: Search for entertainment content using a variety of metadata fields. Returns matching TV shows, movies, episodes, and other content assets. Use this endpoint when you don't have a known identifier for the content.
      tags:
      - Content
      parameters:
      - name: q
        in: query
        description: Search query text - title, person name, or keyword
        schema:
          type: string
      - name: type
        in: query
        description: Content type filter
        schema:
          type: string
          enum:
          - movie
          - series
          - episode
          - person
          - sport
          - program
      - name: genre
        in: query
        description: Genre filter
        schema:
          type: string
      - name: year
        in: query
        description: Release year filter
        schema:
          type: integer
      - name: language
        in: query
        description: Language code (ISO 639-1)
        schema:
          type: string
      - name: limit
        in: query
        description: Maximum number of results to return
        schema:
          type: integer
          default: 10
          maximum: 100
      - name: offset
        in: query
        description: Pagination offset
        schema:
          type: integer
          default: 0
      - name: include
        in: query
        description: Comma-separated list of additional fields to include
        schema:
          type: string
      responses:
        '200':
          description: Successful search response with matching content
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContentSearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
  /v3/content/{contentId}/images:
    get:
      operationId: getContentImages
      summary: Get Content Images
      description: Retrieve high-quality entertainment imagery for a specific content item including posters, backdrops, cast photos, and promotional images.
      tags:
      - Content
      parameters:
      - name: contentId
        in: path
        required: true
        schema:
          type: string
      - name: type
        in: query
        description: Image type filter
        schema:
          type: string
          enum:
          - poster
          - backdrop
          - still
          - headshot
          - logo
      - name: width
        in: query
        description: Preferred image width in pixels
        schema:
          type: integer
      - name: height
        in: query
        description: Preferred image height in pixels
        schema:
          type: integer
      responses:
        '200':
          description: List of available images
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageList'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/content/{contentId}/seasons:
    get:
      operationId: getContentSeasons
      summary: Get Content Seasons
      description: Retrieve season information for a TV series including episode counts and season-level metadata.
      tags:
      - Content
      parameters:
      - name: contentId
        in: path
        required: true
        schema:
          type: string
      - name: language
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Season list for the series
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SeasonList'
        '404':
          $ref: '#/components/responses/NotFound'
  /v3/content/{contentId}/episodes:
    get:
      operationId: getContentEpisodes
      summary: Get Content Episodes
      description: Retrieve episode listings for a TV series or specific season with episode metadata, air dates, and descriptions.
      tags:
      - Content
      parameters:
      - name: contentId
        in: path
        required: true
        schema:
          type: string
      - name: season
        in: query
        description: Season number to filter episodes
        schema:
          type: integer
      - name: limit
        in: query
        schema:
          type: integer
          default: 20
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: Episode list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EpisodeList'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    RateLimited:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - invalid or missing token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Content not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Season:
      type: object
      properties:
        seasonNumber:
          type: integer
        episodeCount:
          type: integer
        year:
          type: integer
        description:
          type: string
    Episode:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        episodeNumber:
          type: integer
        seasonNumber:
          type: integer
        airDate:
          type: string
          format: date
        description:
          type: string
        runtime:
          type: integer
    ImageList:
      type: object
      properties:
        images:
          type: array
          items:
            $ref: '#/components/schemas/Image'
    Image:
      type: object
      properties:
        url:
          type: string
        type:
          type: string
          enum:
          - poster
          - backdrop
          - still
          - headshot
          - logo
        width:
          type: integer
        height:
          type: integer
        language:
          type: string
    EpisodeList:
      type: object
      properties:
        episodes:
          type: array
          items:
            $ref: '#/components/schemas/Episode'
        total:
          type: integer
    ContentSearchResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ContentItem'
        total:
          type: integer
        offset:
          type: integer
        limit:
          type: integer
    CastMember:
      type: object
      properties:
        personId:
          type: string
        name:
          type: string
        role:
          type: string
          enum:
          - actor
          - director
          - writer
          - producer
          - composer
        character:
          type: string
    SeasonList:
      type: object
      properties:
        seasons:
          type: array
          items:
            $ref: '#/components/schemas/Season'
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        code:
          type: integer
    ContentItem:
      type: object
      properties:
        id:
          type: string
          description: Unique content identifier
        title:
          type: string
          description: Content title
        type:
          type: string
          description: Content type (movie, series, episode)
          enum:
          - movie
          - series
          - episode
          - person
          - sport
          - program
        year:
          type: integer
          description: Release or premiere year
        description:
          type: string
          description: Content synopsis or description
        genres:
          type: array
          items:
            type: string
        rating:
          type: string
          description: Content rating (PG, R, TV-MA, etc.)
        runtime:
          type: integer
          description: Runtime in minutes
        languages:
          type: array
          items:
            type: string
        cast:
          type: array
          items:
            $ref: '#/components/schemas/CastMember'
        images:
          type: array
          items:
            $ref: '#/components/schemas/Image'
        externalIds:
          type: object
          properties:
            rovi:
              type: string
            tmdb:
              type: string
            eidr:
              type: string
        availableOn:
          type: array
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: TiVo API authentication token