List shopping results
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/shopping \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/shopping"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://www.qwairy.co/api/v1/brands/{brandId}/shopping', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"pagination": {
"total": 123,
"count": 123,
"limit": 123,
"offset": 123
},
"shopping": [
{
"id": "<string>",
"productName": "<string>",
"description": "<string>",
"image": "<string>",
"rating": 123,
"reviews": 123,
"options": [
{}
],
"prompt": "<string>",
"createdAt": "<string>"
}
]
}Signals
List shopping results
List shopping observations extracted from stored answers.
GET
https://www.qwairy.co
/
api
/
v1
/
brands
/
{brandId}
/
shopping
List shopping results
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/shopping \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/shopping"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://www.qwairy.co/api/v1/brands/{brandId}/shopping', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"pagination": {
"total": 123,
"count": 123,
"limit": 123,
"offset": 123
},
"shopping": [
{
"id": "<string>",
"productName": "<string>",
"description": "<string>",
"image": "<string>",
"rating": 123,
"reviews": 123,
"options": [
{}
],
"prompt": "<string>",
"createdAt": "<string>"
}
]
}Returns shopping observations extracted from stored answers. Product details, ratings, reviews, and purchase options can be
null or empty when they were not captured.
string
required
Bearer token. Example:
Bearer qw-api-xxxGET /api/v1/brands/{brandId}/shopping
Path parameters
string
required
The unique identifier of the brand
Query parameters
number
Number of days to include. If not specified, returns all data.
string
Start date in
YYYY-MM-DD. Provide it with endDate; a lone boundary is currently ignored. Choose either period or the complete date pair.string
End date in
YYYY-MM-DD. Provide it with startDate; a lone boundary is currently ignored. Do not combine the complete date pair with period.string
Filter by one or more provider aliases or model IDs, separated by commas.
number
default:"50"
Maximum number of products to return (max: 100)
number
default:"0"
Number of results to skip for pagination
string
default:"createdAt"
Field to sort by:
createdAt, rating, reviews, productNamestring
default:"desc"
Sort order:
asc or descResponse
boolean
Indicates if the request was successful
object
array
Synthetic request
curl -X GET "https://www.qwairy.co/api/v1/brands/cm1234567890abcdef/shopping?limit=10" \
-H "Authorization: Bearer qw-api-your-token-here"
Synthetic response
{
"success": true,
"pagination": {
"total": 85,
"count": 2,
"limit": 10,
"offset": 0
},
"shopping": [
{
"id": "shop1",
"productName": "Northstar Analytics Pro",
"description": "Synthetic product description",
"image": "https://assets.northstar.example/product-image.jpg",
"rating": 4.5,
"reviews": 1250,
"options": [
{
"price": "$99/month",
"currency": "USD",
"websiteName": "Northstar Labs",
"websiteUrl": "https://northstar.example/pricing"
}
],
"prompt": "What is the best CRM software for enterprise?",
"createdAt": "2026-07-15T10:30:00Z"
},
{
"id": "shop2",
"productName": "Orbit Insights",
"description": "Synthetic analytics product",
"image": null,
"rating": 4.2,
"reviews": 890,
"options": [],
"prompt": "Compare top analytics platforms",
"createdAt": "2026-07-14T15:45:00Z"
}
]
}
Errors
| Status | Code | Description |
|---|---|---|
| 400 | INVALID_PARAMETER | Invalid filter, pagination, or sort value |
| 401 | gateway error | Authentication failed |
| 404 | BRAND_NOT_FOUND | Brand doesn’t exist or not accessible |
| 429 | gateway error | Rate limit exceeded; honor Retry-After |

