Upriver API
A social insights API for ad generation platforms. It provides structured signals, like psychographics, behavioral insights, trends, and audience language, to help AI models generate relevant, higher-converting ads.
A social insights API for ad generation platforms. It provides structured signals, like psychographics, behavioral insights, trends, and audience language, to help AI models generate relevant, higher-converting ads.
Returns a list of products associated with a brand. Requires brand_url on every request, including pagination requests that send cursor. When cursor is provided, brand_url must match the brand encoded in that cursor.
Response format:
Returns verified products and services; pricing plans, features, gift cards, documentation and signup actions are excluded. Use limit=1–20 and optionally filter by tier: primary or secondary. Products are discovered in bounded batches, with primary offerings preferred within each batch; this is not a global ranking or an exhaustive catalog. Continue with next_cursor and the same tier filter. A page may be empty while has_more is true.
Input model for brand product research endpoint.
Required. Brand website URL to research for products. HTTP URLs are upgraded to HTTPS. Provide this on every request, including pagination requests that also send a cursor.
Deprecated — brand name is now resolved automatically from the URL. This field is accepted but ignored.
Format for the response: 'json' for structured data, 'text' for natural language
Use this to paginate through results, providing the next_cursor returned from a previous request. When set, brand_url is still required and must match the brand encoded in the cursor. If omitted, the first page of results is returned.
Optional product relationship filter: primary is what the business mainly sells or provides; secondary covers complementary or incidental offerings outside its main business. Omit to include all verified products, including those whose relationship cannot be established. Use the same filter on every pagination request.
Maximum products to return, from 1 to 20. Fewer may be returned when the website supports fewer offerings.
Which per-product fields to return. Allowed values: 'description', 'image_url'. Omit the field to get 'description' only (the default). Add 'image_url' to also get product images. An explicit empty list returns name, url, and tier when known. Unrequested fields are omitted. Example: ["description", "image_url"]
curl https://api.upriver.ai/v1/brand/products \
--request POST \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_SECRET_TOKEN' \
--data '{
"brand_url": "https://glossier.com",
"limit": 5,
"include": [
"description",
"image_url"
]
}'
{
"brand_url": "https://www.glossier.com",
"brand_name": "Glossier",
"products": [
{
"name": "Boy Brow",
"tier": "primary",
"category": "Brows",
"description": "A brushable, buildable brow gel that shapes and fills brows.",
"url": "https://www.glossier.com/products/boy-brow",
"image_url": "https://www.glossier.com/cdn/images/boy-brow.jpg"
}
],
"next_cursor": "string",
"has_more": true,
"effort": "low"
}