Browse the documentation
Get One AI Answer in Full
One run in full: the complete answer text, every brand mentioned, every source cited and every web search the AI ran. Use this after listQueryRuns when the preview isn't enough.
GET
/query-runs/{run_id}
Example request
# $RUN_ID — take one from listQueryRuns.
curl -H "Authorization: Bearer $MENTIONBIRD_API_KEY" \
"https://app.mentionbird.ai/api/v1/query-runs/$RUN_ID"
Example response
Recorded from a live call against a demo workspace, so the shape is exactly what the endpoint returns.
{
"answer_text": "Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here. Acme is the strongest option here.",
"brand": "Acme",
"brand_prompt_id": "bp:1:9Dv6siNdyM4t6TVuNmGTtlq8i258Tlktz9g8HkjWJtM",
"citation_count": 2,
"citations": [
{
"domain": "g2.com",
"page_title": "Best CRM Software 2026",
"url": "https://www.g2.com/categories/crm"
},
{
"domain": "youtube.com",
"page_title": "How to Choose a CRM",
"url": "https://youtube.com/watch?v=aqz-KE-bpKQ"
}
],
"country": "ZZ",
"mentions": [
{
"brand": "Acme",
"is_tracked_brand": true,
"mention_type": "ranked",
"rank": 1,
"sentiment": "positive",
"sentiment_reason": "Named the strongest option for growing teams."
},
{
"brand": "Globex",
"is_tracked_brand": false,
"mention_type": "ranked",
"rank": 2,
"sentiment": "neutral",
"sentiment_reason": "Listed as an alternative without a recommendation."
}
],
"prompt_text": "best crm",
"provider": "openai",
"provider_display": "ChatGPT",
"run_at": "2026-09-24T13:48:50.957069+00:00",
"run_id": "qr:1:tLpe9gGs-dhlkL0FXP3-aghJtMofAUzYwvYu9byVFUk",
"was_mentioned": true,
"web_search_queries": [
"best CRM software 2026"
],
"web_search_query_count": 1
}
Responses
- 200
- The run, with full answer text. web_search_queries lists the searches the AI ran before answering, in order, as plain strings - the terms a brand has to rank for to be found for this prompt. An empty list with web_search_query_count 0 means the AI answered without searching; both null means the searches are not recorded - Perplexity never exposes them, and runs from before we started recording them have none. Each entry in mentions carries sentiment (positive, neutral, negative, or unknown when the run predates sentiment tracking) and sentiment_reason, the phrase in this answer that drove the label - null when there isn't one.
- 400
- Validation error — check the message in `error.message`.
- 401
- Unauthorized — missing, invalid or revoked bearer token.
- 403
- Forbidden — plan lacks API access, or key is read-only.
- 404
- Not found — the brand, prompt or resource does not exist.
- 405
- Method not allowed.
- 500
- Internal error — logged; retry is safe for reads.