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

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

// After sign-in and profile selection …
const response: GifSearchResponse = await discovr.searchGifs("happy dance", { limit: 20, pos: "next_page_token_here", contentfilter: "medium", country: "US", locale: "en_US" });
console.log(response);
{
  "items": [
    {
      "id": "12345678",
      "url": "https://media.tenor.com/example.gif",
      "preview": {
        "url": "https://media.tenor.com/preview.gif",
        "width": 200,
        "height": 200
      },
      "description": "Happy Dance",
      "tags": [
        "happy",
        "dance",
        "celebration"
      ],
      "tenorUrl": "https://tenor.com/view/happy-dance-gif-12345678",
      "shortTenorUrl": "https://tenor.com/example",
      "width": 498,
      "height": 498,
      "createdAt": "2024-01-15T10:30:00.000Z"
    }
  ],
  "next": "next_page_token_here"
}

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.

Query Parameters

q
string
required

Search term.

Minimum string length: 1
limit
integer
default:20

Maximum number of results to return (1–50).

Required range: 1 <= x <= 50
pos
string

Pagination cursor from the next field of the previous response. Omit to start from the beginning.

contentfilter
enum<string>
default:medium

Content safety level. high is the most restrictive; off applies no filtering. Default: medium.

Available options:
high,
medium,
low,
off
country
string

ISO 3166-1 alpha-2 country code for regional content preferences (e.g., US).

Pattern: ^[A-Z]{2}$
Example:

"US"

locale
string

Locale for language preferences (e.g., en_US).

Example:

"en_US"

Response

GIF results returned successfully.

Paginated GIF search results.

items
object[]
required

GIF results for the current page.

next
string | null

Pagination cursor — pass as pos in your next request to load more results. null when there are no more results.

Example:

"next_page_token_here"