Skip to main content
POST /v1/search finds timestamped moments in your video library. Send a text description, a reference image, or a public image URL — results are ranked by relevance and grouped by video.

Input types

At least one input is required. You cannot send both image and image_url in the same request. A text-only query also requires collection_id — image search can run across your whole library, but text search needs a collection to scope against.

What gets searched

Every video is indexed across up to four signal types, and a query can match any of them: Each result segment’s type field tells you which one matched. See Search Results for the full response shape.

Scoping and pagination

Pass collection_id to limit results to one collection — faster and more precise than searching your whole library. Results are paginated with page and per_page (max 50).

Credits and limits

Each search request consumes 1 credit on Pay as you go accounts (see Usage and Billing). Free accounts get a daily quota of 30 searches. Requests are rate-limited to 30/minute per API key — see Rate Limits.

Text Search

Natural language queries against visual and spoken content.

Image Search

Find visually similar frames from a reference image.

Transcript Search

Search only what was said, not what’s shown.

Combined Queries

How modes merge, and the modes/labels parameters.