---
title: "Enrich Product"
method: POST
path: "/v0/enrich"
tags: ["channel3-api"]
---

# Enrich Product

`POST /v0/enrich`

**Deprecated** — use POST /v1/lookup instead.

Search by product URL, get back full product information from Channel3's product database.

If the product is not found in the database, the endpoint will attempt real-time
retrieval from the product page. This fallback returns basic product information
(price, images, title) without full enrichment.

## Request body

- EnrichRequest
  - `url` string, required — The URL of the product to enrich

## Response `200`

Successful Response

- LegacyInternalProductDetail — v0 product detail with deprecated fields.
  - `id` string, required
  - `title` string, required
  - `description` string, nullable
  - `brands` ProductBrand[] — Ordered list of brands.
    - `id` string, required
    - `name` string, required
  - `images` LegacyInternalProductImage[]
    - `url` string, required
    - `is_main_image` boolean
    - `shot_type` 'hero' | 'lifestyle' | 'on_model' | 'detail' | 'scale_reference' | 'angle_view' | 'flat_lay' | 'in_use' | 'packaging' | 'size_chart' | 'product_information' | 'merchant_information' — Product image type classification for API responses.
    - `alt_text` string, nullable
    - `photo_quality` 'professional' | 'ugc' | 'poor' — Photo quality classification for API responses.
  - `categories` string[]
  - `gender` 'male' | 'female' | 'unisex', nullable
  - `materials` string[], nullable
  - `key_features` string[], nullable
  - `offers` ProductOffer[] — All merchant offers for this product in the requested locale.
    - `url` string, required
    - `domain` string, required
    - `price` Price, required
      - `price` number, required — The current price of the product, including any discounts.
      - `compare_at_price` number, nullable — The original price of the product before any discounts.
      - `currency` string, required — The currency code of the product, like USD, EUR, GBP, etc.
    - `availability` 'InStock' | 'OutOfStock', required
    - `max_commission_rate` number — The maximum commission rate for the merchant, as a percentage. 0 is no commission. 0.5 is 50% commission. 'Max' because the actual commission rate may be lower due to vendor-specific affiliate rules.
  - `url` string, required — Deprecated, use offers field
  - `brand_id` string, nullable
  - `brand_name` string, nullable
  - `image_urls` string[] — List of image URLs (deprecated, use images field)
  - `price` Price, required
    - `price` number, required — The current price of the product, including any discounts.
    - `compare_at_price` number, nullable — The original price of the product before any discounts.
    - `currency` string, required — The currency code of the product, like USD, EUR, GBP, etc.
  - `availability` 'InStock' | 'OutOfStock', required — Deprecated, use offers field
  - `variants` Variant[] — Legacy variant list, always empty. Use v1 API for variant dimensions.
    - `product_id` string, required
    - `title` string, required
    - `image_url` string, required

## Other responses

- `401` — Unauthorized - Invalid or missing authentication
- `402` — Payment required
- `404` — Product URL returned 404 or 410
- `422` — Validation Error
- `500` — Product not found and real-time retrieval failed. This is an unexpected error, we'll investigate it.
- `501` — Product not found and real-time retrieval is not supported. We've been notified and will work to enable it.
- `504` — Endpoint timed out. This should be treated the same as a 500.

## Changes

- **2026-03-11** `8ed78cadf0ff` — 2 info
  - response property `variants` deprecated
  - removed the `color_swatch` enum value from the `images/items/shot_type/anyOf[subschema #1: ApiProductImageType]/` response property for the response status `200`
- **2026-03-03** `4a56c45ff30e` — 12 info
  - added the optional property `offers` to the response with the `200` status
  - the response property `brands/items/name` became required for the status `200`
  - response property `availability` deprecated
  - response property `price` deprecated
  - …8 more
- **2026-02-24** `376d36318a4e` — 3 info
  - added the optional property `brands` to the response with the `200` status
  - response property `brand_id` deprecated
  - response property `brand_name` deprecated
- **2026-02-24** `7704d9b83df1` — 1 warning, 2 info
  - removed the optional property `brands` from the response with the `200` status
  - response property `brand_id` reactivated
  - response property `brand_name` reactivated
- **2026-02-24** `376d36318a4e` — 3 info
  - added the optional property `brands` to the response with the `200` status
  - response property `brand_id` deprecated
  - response property `brand_name` deprecated

[Full history](https://skmtc.dev/channel3-ai/apis/fastapi/changes/v0/enrich/post.md)

---

[API](https://skmtc.dev/channel3-ai/apis/fastapi.md) · [All operations](https://skmtc.dev/channel3-ai/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc.dev/channel3-ai/apis/fastapi/revisions/cefefb7bceb2?raw)
