openapi: 3.0.3 info: title: Trakt Calendars Search API description: 'The Trakt API is a RESTful API for integrating TV show and movie tracking features into applications. It exposes Trakt''s media database, user watch history, lists, watchlists, ratings, comments, scrobbling, and recommendations. Authentication is OAuth 2.0 (Authorization Code and Device flows). This OpenAPI is a representative sampling of the full Trakt API v2 surface, covering authentication, movies, shows, episodes, seasons, people, search, users, sync, scrobble, checkin, lists, calendars, recommendations, comments, notes, and reference data. The canonical contract is the ts-rest router published at github.com/trakt/trakt-api. ' version: '2.0' contact: name: Trakt API Support url: https://forums.trakt.tv license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://api.trakt.tv description: Production - url: https://api-staging.trakt.tv description: Staging security: - bearerAuth: [] tags: - name: Search description: Text and ID lookup across movies, shows, episodes, people, lists. paths: /search/{type}: get: tags: - Search operationId: searchText summary: Get Text Query Results description: Search all text fields that a media object contains. Accepts movie, show, episode, person, list (one or more, comma separated). parameters: - name: type in: path required: true schema: type: string enum: - movie - show - episode - person - list - name: query in: query required: true schema: type: string - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Limit' responses: '200': description: Search results. content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' /search/{id_type}/{id}: get: tags: - Search operationId: searchById summary: Get ID Lookup Results description: Lookup items by their Trakt, IMDB, TMDB, or TVDB ID. parameters: - name: id_type in: path required: true schema: type: string enum: - trakt - imdb - tmdb - tvdb - name: id in: path required: true schema: type: string responses: '200': description: Lookup results. content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' components: parameters: Limit: name: limit in: query schema: type: integer minimum: 1 default: 10 description: Items per page. Page: name: page in: query schema: type: integer minimum: 1 default: 1 description: Page number for pagination. schemas: SearchResult: type: object properties: type: type: string enum: - movie - show - episode - person - list score: type: number movie: $ref: '#/components/schemas/Movie' show: $ref: '#/components/schemas/Show' episode: $ref: '#/components/schemas/Episode' person: $ref: '#/components/schemas/Person' Episode: type: object properties: season: type: integer number: type: integer title: type: string ids: $ref: '#/components/schemas/Ids' number_abs: type: integer nullable: true overview: type: string first_aired: type: string format: date-time nullable: true runtime: type: integer episode_type: type: string enum: - standard - series_premiere - season_premiere - mid_season_finale - mid_season_premiere - season_finale - series_finale Person: type: object properties: name: type: string ids: $ref: '#/components/schemas/Ids' biography: type: string birthday: type: string format: date nullable: true death: type: string format: date nullable: true birthplace: type: string nullable: true homepage: type: string format: uri nullable: true Ids: type: object properties: trakt: type: integer slug: type: string imdb: type: string tmdb: type: integer tvdb: type: integer Show: type: object properties: title: type: string year: type: integer ids: $ref: '#/components/schemas/Ids' overview: type: string first_aired: type: string format: date-time runtime: type: integer certification: type: string network: type: string country: type: string trailer: type: string format: uri nullable: true homepage: type: string format: uri nullable: true status: type: string enum: - returning series - continuing - in production - planned - upcoming - pilot - canceled - ended rating: type: number votes: type: integer comment_count: type: integer updated_at: type: string format: date-time language: type: string genres: type: array items: type: string aired_episodes: type: integer Movie: type: object properties: title: type: string year: type: integer ids: $ref: '#/components/schemas/Ids' tagline: type: string overview: type: string released: type: string format: date runtime: type: integer country: type: string trailer: type: string format: uri nullable: true homepage: type: string format: uri nullable: true rating: type: number votes: type: integer comment_count: type: integer updated_at: type: string format: date-time language: type: string languages: type: array items: type: string available_translations: type: array items: type: string genres: type: array items: type: string certification: type: string status: type: string enum: - released - in production - post production - planned - rumored - canceled securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 access token from /oauth/token or /oauth/device/token. Send via Authorization header and required headers trakt-api-version (2) and trakt-api-key (client_id).