Extract Product
Extract structured product data from a single product page URL using AI.
Endpoint: GET /v1/brand/ai/product
Credits: 10 per request
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | Product page URL to extract from |
Response Schema
{
"success": true,
"product": {
"name": "Stripe Payments",
"description": "Accept payments online, in person, or through your platform with a fully integrated suite of payment products.",
"price": {
"amount": 2.9,
"currency": "USD",
"formatted": "2.9% + 30¢ per transaction"
},
"image_url": "https://stripe.com/img/v3/payments/overview-hero.png",
"url": "https://stripe.com/payments",
"sku": null,
"category": "Payment Processing",
"availability": "available",
"rating": null
},
"url": "https://stripe.com/payments",
"cached": false,
"credits_used": 10,
"request_id": "f2a3b4c5-d6e7-8901-5678-012345678901"
}Code Examples
cURL
curl -X GET "https://api.orsa.dev/v1/brand/ai/product?url=https://stripe.com/payments" \
-H "Authorization: Bearer YOUR_API_KEY"TypeScript
const result = await client.ai.product({
url: 'https://stripe.com/payments',
});
console.log(result.product.name); // "Stripe Payments"
console.log(result.product.price?.formatted); // "2.9% + 30¢ per transaction"
console.log(result.product.category); // "Payment Processing"Python
result = client.ai.product(url="https://stripe.com/payments")
print(result.product.name) # "Stripe Payments"
print(result.product.price.formatted) # "2.9% + 30¢ per transaction"
print(result.product.category) # "Payment Processing"Error Codes
| Code | Status | Description |
|---|---|---|
INPUT_VALIDATION_ERROR | 400 | Invalid or missing URL |
UNAUTHORIZED | 401 | Missing or invalid API key |
RATE_LIMITED | 429 | Rate limit exceeded |
USAGE_EXCEEDED | 402 | Insufficient credits |
WEBSITE_ACCESS_ERROR | 502 | Product extraction failed |
INTERNAL_ERROR | 500 | AI pipeline error |
Notes
- Designed for individual product pages. To discover all products from a domain, use Extract Products.
- Works with e-commerce product pages, SaaS pricing pages, and service description pages.
- The
ratingfield is extracted when available (e.g., from e-commerce sites with reviews). - The
skufield is extracted from structured data (Schema.org) when present on the page. - Results are cached by URL hash. Cached responses return instantly.
- Extraction may take 15-60 seconds for the initial request.