---
title: "Identify any product"
method: POST
path: "/identify"
---

# Identify any product

`POST /identify`

## Request

- Base URL: `https://tetheredtrust.com/v1`
- URL: `https://tetheredtrust.com/v1/identify`
- Auth: one of:
  - none
  - HTTP bearer

Identify a product from a URL, model number, SKU, ASIN, UPC/EAN or description, and get its compatibility profile: the standards it takes and provides (mounts, sockets, connectors, platforms, part numbers, sizes), numeric limits (OS version, watts, weight, screen size), evidence and freshness. Products not in our reviewed catalog are researched on demand from the manufacturer's page and returned with status read_from_manufacturer_page (unreviewed) or unconfirmed (not enough to decide on). Use first when the product could be anything.

## Request body

- object
  - `product` string, required: Anything that identifies the product: a manufacturer or retailer URL, a model number, SKU, ASIN, UPC/EAN, a vehicle VIN, or a listing title / description.
  - `role` 'owned' | 'buying': Optional: is this something the person already owns, or something being considered? Helps when a product is both (a phone owns cases; a car mount holds phones).
  - `research` boolean: Default true. Set false to look only in the reviewed catalog (no on-demand research).

## Response `200`

OK

- object

## Other responses

- `400`: Bad input (code bad_request), or plain HTTP (https_required).
- `401`: Missing or invalid API key where one is required.
- `402`: Payment required: pay with x402 or credits and retry. Verified first, settled only for a completed decision.
- `429`: Rate limit; see Retry-After.
- `500`: Our error; retry once.
- `503`: Temporarily unavailable, or paid access is off (paid_access_off).

---

[API](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api.md) · [All operations](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tetheredtrust/apis/tethered-trust-api/revisions/f737ac591159?raw)
