---
title: "The creatives that best match a description of what they show (\"woman pouring iced coffee in a kitchen\"), closest first, each as creatives.search lists it with `similarity`. It matches what the creative looks like, not its words: search the transcript and on-screen text with creatives.search `q`. Only creatives with an embedding are searched. A daily budget caps these searches across the API; past it the answer is 429 until the next UTC day."
method: GET
path: "/v1/creative-search/text"
tags: ["creatives"]
---

# The creatives that best match a description of what they show ("woman pouring iced coffee in a kitchen"), closest first, each as creatives.search lists it with \`similarity\`. It matches what the creative looks like, not its words: search the transcript and on-screen text with creatives.search \`q\`. Only creatives with an embedding are searched. A daily budget caps these searches across the API; past it the answer is 429 until the next UTC day.

`GET /v1/creative-search/text`

## Request

- Base URL: `https://api.storequant.com`
- URL: `https://api.storequant.com/v1/creative-search/text`
- Auth: HTTP bearer

The creatives that best match a description of what they show ("woman pouring iced coffee in a kitchen"), closest first, each as creatives.search lists it with `similarity`. It matches what the creative looks like, not its words: search the transcript and on-screen text with creatives.search `q`. Only creatives with an embedding are searched. A daily budget caps these searches across the API; past it the answer is 429 until the next UTC day. Scope `creatives:read`; cache `daily`.

## Query parameters

- `q` string, required
- `brand_id` union
  - string, uuid
  - string
- `category_id` string, uuid
- `limit` integer

## Response `200`

Success.

- object
  - `data` object, required
    - `embed_version` string, required
    - `items` object[], required
      - `key` string, required
      - `kind` 'video' | 'image', required
      - `depth` 'described' | 'labelled' | 'transcribed' | 'probed', required
      - `brand_id` string, uuid, required
      - `brand` object, nullable, required
        - `id` string, uuid, required
        - `slug` string, required
        - `name` string, required
        - `domain` string, required
        - `logo_url` string, uri, nullable, required
      - `file_key` string, required
      - `preview_key` string, nullable, required
      - `duration_s` number, nullable, required
      - `aspect` string, nullable, required
      - `speech_kind` 'speech' | 'music-only' | 'silent', nullable, required
      - `language` string, nullable, required
      - `hook_line` string, nullable, required
      - `ads_active` integer, required
      - `first_start` string, date, nullable, required
      - `age_days` integer, nullable, required
      - `still_active` boolean, required
      - `tags` object, required
      - `min_confidence` number, nullable, required
      - `pack_version` string, nullable, required
      - `classifier_version` string, nullable, required
      - `matched` object, nullable, required
        - `field` 'said' | 'on_screen', required
        - `text` string, required
        - `at` number, nullable, required
      - `similarity` number, required
  - `meta` object, required
    - `request_id` string, required
    - `as_of` string, date-time, required
    - `lag_hours` number
    - `cursor` string
    - `count` integer

## Other responses

- `4XX`: The one error shape.
- `5XX`: The one error shape.

---

[API](https://skmtc.dev/scrollstash/apis/storequant-api.md) · [All operations](https://skmtc.dev/scrollstash/apis/storequant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrollstash/apis/storequant-api/revisions/4fbe9d681caf?raw)
