---
title: "Lookup product"
method: GET
path: "/api/v1/products/lookup"
tags: ["Products"]
---

# Lookup product

`GET /api/v1/products/lookup`

Lookup a product's information by URL.

## Query parameters

- `url` string, required

## Response `200`

Product information

- Product
  - `variants` ProductVariant[], nullable
    - `availability` 'in_stock' | 'out_of_stock' | 'preorder' | 'backorder' | 'unknown', required — The availability status of a product. - `in_stock`: Product is available for immediate purchase - `out_of_stock`: Product is currently unavailable - `preorder`: Product is available for pre-order before release - `backorder`: Product is temporarily out of stock but can be ordered - `unknown`: Availability could not be determined
    - `images` ProductImage[], required
      - `isFeatured` boolean, required
      - `url` string, required
    - `price` Money, required
      - `currencyCode` string, required
      - `amountSubunits` integer, required
    - `dimensions` VariantSelection[], required
      - `value` union, required
        - string
        - number, double
      - `label` string, required
    - `name` string, nullable, required
    - `sku` string, nullable, required
    - `id` string, nullable, required
  - `variantDimensions` VariantDimension[], nullable
    - `values` string[], required
    - `label` string, required
  - `isPurchasable` boolean, required
  - `availability` 'in_stock' | 'out_of_stock' | 'preorder' | 'backorder' | 'unknown', required — The availability status of a product. - `in_stock`: Product is available for immediate purchase - `out_of_stock`: Product is currently unavailable - `preorder`: Product is available for pre-order before release - `backorder`: Product is temporarily out of stock but can be ordered - `unknown`: Availability could not be determined
  - `price` Money, required
    - `currencyCode` string, required
    - `amountSubunits` integer, required
  - `images` ProductImage[], required
    - `isFeatured` boolean, required
    - `url` string, required
  - `description` string, nullable, required
  - `brand` string, nullable, required
  - `name` string, required
  - `sku` string, nullable, required
  - `retailer` string, nullable, required
  - `url` string, required
  - `id` string, required

## Other responses

- `401` — Authentication Failed
- `404` — Not Found
- `422` — Validation Error
- `500` — Internal Server Error

## Changes

- **2026-06-24** `816719402097` — 2 info
  - the security scope `products:read` was added to the endpoint's security scheme `bearerAuth`
  - the security scope `checkout_intents:read` was removed from the endpoint's security scheme `bearerAuth`
- **2026-06-08** `0b28c67737d3` — 1 info
  - the security scope `checkout_intents:read` was added to the endpoint's security scheme `bearerAuth`
- **2026-04-27** `f2df917b4609` — 1 info
  - added the required property `retailer` to the response with the `200` status

[Change history](https://skmtc.dev/rye-com/apis/universal-checkout-api/changes/api/v1/products/lookup/get.md)

---

[API](https://skmtc.dev/rye-com/apis/universal-checkout-api.md) · [All operations](https://skmtc.dev/rye-com/apis/universal-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rye-com/universal-checkout-api/revisions/175c7f9e090e/schema)
