Skip to main content
GET
/
search
TypeScript
import { DiscovrClient } from "discovr";
import type { SearchResponse } from "discovr";

const discovr = new DiscovrClient("your-client-id", {
  basePath: "https://api.discovr.media",
});

// After sign-in and profile selection …
const response: SearchResponse = await discovr.searchMedia({ query: "avatar", q: "avatar" });
console.log(response);
{
  "results": [
    {
      "id": "TV_1396",
      "tmdb_id": 1396,
      "media_type": "movie",
      "title": "<string>",
      "name": "<string>",
      "original_title": "<string>",
      "original_name": "<string>",
      "overview": "<string>",
      "poster_path": "<string>",
      "backdrop_path": "<string>",
      "release_date": "2023-12-25",
      "first_air_date": "2023-12-25",
      "popularity": 123,
      "vote_average": 123,
      "vote_count": 123,
      "profile_path": "<string>",
      "known_for_department": "<string>",
      "known_for": "<array>"
    }
  ],
  "page": 1,
  "total_pages": 10,
  "total_results": 100
}

Documentation Index

Fetch the complete documentation index at: https://docs.discovr.media/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer token authentication.

  • Identity-tier endpoints (/profiles, /auth/session-token, /auth/session) accept a long-lived refresh token (rt_<hex>).
  • Session-tier endpoints (/pages/*, /profile/*) accept a short-lived session JWT.

SDK clients use two typed API accessors (identityApi() with the refresh token vs sessionApi() with the session JWT) — see the SDK DiscovrAuth helper.

Format: Authorization: Bearer {token}

Query Parameters

query
string

Search term. Use query or q — if both are provided, query takes precedence.

Example:

"avatar"

q
string

Search term (shorthand for query). At least one of query or q is required.

Example:

"avatar"

Response

Search results returned successfully.

Paginated search results.

results
object[]
required

Matched results for the current page.

page
integer

Current page number.

Example:

1

total_pages
integer

Total number of pages available.

Example:

10

total_results
integer

Total number of matches across all pages.

Example:

100