---
title: "The creatives that look most like one, closest first: each as creatives.search lists it, with `similarity` (1 − the cosine distance between the two image embeddings; a near-duplicate is above 0.95). The key may be a prefix of at least ten characters. `scope` compares against every brand, the creative's own brand only, or every other brand. Only creatives with an embedding are compared; a creative with none yet is not found."
method: GET
path: "/v1/creative-records/{creativeKey}/similar"
tags: ["creatives"]
---

# The creatives that look most like one, closest first: each as creatives.search lists it, with \`similarity\` (1 − the cosine distance between the two image embeddings; a near-duplicate is above 0.95). The key may be a prefix of at least ten characters. \`scope\` compares against every brand, the creative's own brand only, or every other brand. Only creatives with an embedding are compared; a creative with none yet is not found.

`GET /v1/creative-records/{creativeKey}/similar`

## Request

- Base URL: `https://api.storequant.com`
- URL: `https://api.storequant.com/v1/creative-records/{creativeKey}/similar`
- Auth: HTTP bearer

The creatives that look most like one, closest first: each as creatives.search lists it, with `similarity` (1 − the cosine distance between the two image embeddings; a near-duplicate is above 0.95). The key may be a prefix of at least ten characters. `scope` compares against every brand, the creative's own brand only, or every other brand. Only creatives with an embedding are compared; a creative with none yet is not found. Scope `creatives:read`; cache `daily`.

## Path parameters

- `creativeKey` string, required

## Query parameters

- `scope` 'all' | 'same_brand' | 'other_brands'
- `category_id` string, uuid
- `limit` integer

## Response `200`

Success.

- object
  - `data` object, required
    - `key` string, 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/c556e643d689?raw)
