Docs

Search an embed's video transcript (authenticated)

Authenticated search over the spoken content of an embed’s video: the private counterpart of the playback-session search. Authenticate with a private API key (Authorization: Bearer …); the embed must belong to the key’s organization. Unlike the session-scoped endpoint it needs no playback session, so it is the right call for server-side and dashboard use. Matching is case- and accent-insensitive. Queries shorter than 2 characters are rejected. This endpoint is rate limited: clients that exceed the limit receive 429 with a Retry-After header.

GET
/v1/embeds/{embedId}/transcript/search

Authorization

BearerAuth
AuthorizationBearer <token>

Pass the raw API key as a Bearer token (Authorization: Bearer <key>). Publishable keys start with mvi_pub_ (playback-scoped). Other prefixes denote private/admin keys for general REST routes. GET /v1/embeds/{embedId}/playback accepts publishable keys only.

In: header

Path Parameters

embedId*string

Embed UUID.

Formatuuid

Query Parameters

q*string

Search term. 2–128 characters (after trimming/normalization).

Length2 <= length <= 128
limit?integer

Maximum number of moments to return per page.

Default50
Range1 <= value <= 100
cursor?|

Pagination cursor from a previous response nextCursor.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.moviie.ai/v1/embeds/497f6eca-6276-4993-bfeb-53cbbbba6f08/transcript/search?q=gravidade"
{
  "query": "gravidade",
  "language": "pt",
  "total": 7,
  "matches": [
    {
      "segmentIndex": 42,
      "startSeconds": 128.4,
      "endSeconds": 131.9,
      "text": "…a força da gravidade puxa os corpos…"
    }
  ],
  "nextCursor": 0
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}
{
  "error": "Resource not found",
  "code": "NOT_FOUND"
}