Get answer
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/answers/{answerId} \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/answers/{answerId}"
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}/answers/{answerId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"answer": {
"id": "<string>",
"prompt": {},
"provider": "<string>",
"model": "<string>",
"text": "<string>",
"competitors": [
{}
],
"sources": [
{}
],
"queryFanOuts": [
{}
],
"sentiment": {},
"createdAt": "<string>"
}
}Answers
Get answer
Retrieve a single AI response with full text and detailed analysis.
GET
https://www.qwairy.co
/
api
/
v1
/
brands
/
{brandId}
/
answers
/
{answerId}
Get answer
curl --request GET \
--url https://www.qwairy.co/api/v1/brands/{brandId}/answers/{answerId} \
--header 'Authorization: <authorization>'import requests
url = "https://www.qwairy.co/api/v1/brands/{brandId}/answers/{answerId}"
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}/answers/{answerId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"answer": {
"id": "<string>",
"prompt": {},
"provider": "<string>",
"model": "<string>",
"text": "<string>",
"competitors": [
{}
],
"sources": [
{}
],
"queryFanOuts": [
{}
],
"sentiment": {},
"createdAt": "<string>"
}
}Retrieve one stored answer with its prompt, provider and model labels, detected mentions, citations, query fan-outs, and SELF sentiment.
See Rate limits for retry behavior.
string
required
Bearer token. Example:
Bearer qw-api-xxxPath parameters
string
required
The unique identifier of the brand
string
required
The unique identifier of the answer
Response
boolean
Indicates if the request was successful
object
Show Full answer details
Show Full answer details
string
Answer ID
object
Associated prompt info (id, text, topic, type)
string
AI provider name
string
AI model name
string
Full response text
array
List of mentioned competitors with position, relationship, and sentiment
array
List of cited sources with URL, domain, position, and isSelf flag
array
Recorded search queries with
id, query, raw model ID, and createdAtnumber | null
Sentiment of the SELF mention on a 0 to 100 scale, or
nullstring
Generation timestamp
Synthetic request
curl "https://www.qwairy.co/api/v1/brands/YOUR_BRAND_ID/answers/ANSWER_ID" \
-H "Authorization: Bearer $QWAIRY_API_TOKEN"
Synthetic response
{
"success": true,
"answer": {
"id": "answer_01",
"prompt": {
"id": "prompt_01",
"text": "Which analytics platforms support warehouse exports?",
"topic": "Data exports",
"type": "TOFU"
},
"provider": "ChatGPT",
"model": "GPT-5.4",
"text": "Acme Analytics and Rival Labs both document warehouse export integrations.",
"competitors": [
{
"name": "Acme Analytics",
"position": 3,
"relationship": "SELF",
"sentiment": 85
},
{
"name": "Rival Labs",
"position": 1,
"relationship": "DIRECT",
"sentiment": 80
}
],
"sources": [
{
"url": "https://publisher.example/warehouse-export-comparison",
"domain": "publisher.example",
"position": 1,
"isSelf": false
},
{
"url": "https://acme.example/integrations",
"domain": "acme.example",
"position": 2,
"isSelf": true
}
],
"queryFanOuts": [
{
"id": "search_01",
"query": "analytics warehouse export integrations",
"model": "chatgpt-gpt-5-4",
"createdAt": "2026-07-19T09:59:58.000Z"
}
],
"sentiment": 82,
"createdAt": "2026-07-19T10:00:00.000Z"
}
}
Errors
| Status | Code | Description |
|---|---|---|
| 401 | gateway error | Missing or invalid API token |
| 404 | BRAND_NOT_FOUND | Brand doesn’t exist or not accessible |
| 404 | ANSWER_NOT_FOUND | Answer doesn’t exist |
| 429 | gateway error | Rate limit exceeded; honor Retry-After |

