POST /products/lookup resolves any product page URL to a full canonical product record, including pricing, images, sizes, variants, and enrichment.
POST /products/lookup takes a product page URL and returns the full canonical product record for that URL from within your granted catalogs. The response includes catalog metadata alongside a MerchantProductView — the richest product shape the API offers, with optional fields like variants, colors, reviews, breadcrumbs, and enrichment populated whenever the underlying record has them.
No product matching the URL was found in any catalog granted to your key.
A 404 means the URL is either not indexed in any of your granted catalogs or
does not belong to a catalog your organization has access to. Confirm the URL
is a valid product page for a granted catalog and that the catalog key is
active via GET /catalogs.
import asynciofrom octogen_ai_sdk import OctogenClient, OctogenNotFoundErrorasync def main() -> None: async with OctogenClient() as client: try: result = await client.lookup_product( "https://warrenlotas.com/products/black-hoodie" ) print(result.catalog_key, result.product.title, result.product.current_price) except OctogenNotFoundError: print("Product not found in any granted catalog.")asyncio.run(main())
import { OctogenClient, OctogenNotFoundError } from "@octogen-ai/sdk";const client = new OctogenClient();try { const result = await client.lookupProduct( "https://warrenlotas.com/products/black-hoodie" ); console.log(result.catalogKey, result.product.title, result.product.currentPrice);} catch (error) { if (error instanceof OctogenNotFoundError) { console.log("Product not found in any granted catalog."); } else { throw error; }}