Skip to main content
POST
/
v2
/
prompts
/
answers
curl -X POST https://api.tryprofound.com/v2/prompts/answers \
  -H "X-API-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "start_date": "2026-06-18",
    "end_date": "2026-06-19",
    "limit": 10
  }'
{
  "info": {
    "total_results": 27690,
    "count": 10,
    "next_cursor": "Z0FBQUFBQnFQcjNsbDZZaWlzZjR2cXJt...",
    "models": ["ChatGPT", "Google Gemini", "Perplexity", "Claude", "..."],
    "include": [
      "run_id", "date", "model", "topic", "topic_id", "persona", "region",
      "tags", "prompt", "prompt_id", "response", "mentions", "citations",
      "search_queries", "analysis_types"
    ],
    "start_date": "2026-06-18",
    "end_date": "2026-06-19",
    "filter": null
  },
  "data": [
    {
      "run_id": "<uuid>",
      "date": "2026-06-19",
      "model": { "id": "<uuid>", "name": "ChatGPT" },
      "topic": "<string>",
      "topic_id": "<uuid>",
      "region": "United States",
      "persona": null,
      "tags": [],
      "prompt": "<prompt text>",
      "prompt_id": "<uuid>",
      "response": "<full model response text>",
      "mentions": ["Profound", "<string>"],
      "citations": ["https://example.com/article"],
      "search_queries": ["<search query>"],
      "analysis_types": ["visibility"]
    }
    // ...9 more rows (count: 10, total_results: 27690); paginate with next_cursor
  ]
}
The raw per-execution rows behind every report: one row per model response, with its mentions, citations, and search queries. No aggregation.
  • No group_by / sort: rows are newest-first by date.
  • include picks which fields to return (response, mentions, citations, search_queries, …); omit it for all.
  • mentions is a flat, deduped list in the order entities appear in the response.
  • Filters: prompt-level fields plus analysis_type (prompt-level: visibility·sentiment·factcheck), and top-level domain/page leaves: is one value or in a list (exact cited-URL match).
New to the v2 reports? See Filtering & concepts for the shared request shape, filter tree, grouping, and pagination.
POST /v2/prompts/answers/stream takes the same request body and returns Server-Sent Events: one summary event (the info block), then one result event per row. limit/cursor are ignored; it returns everything by default. Pass max_results to cap.
Response (text/event-stream)
event: summary
data: { ...the info block... }

event: result    ← one per row, same shape as data[] above
data: {"date": "2026-06-19", "model": {"name": "ChatGPT"}, "prompt": "<prompt text>", "mentions": ["Profound", "<string>"], "citations": ["https://example.com/article"]}
curl -X POST https://api.tryprofound.com/v2/prompts/answers \
  -H "X-API-Key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "category_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "start_date": "2026-06-18",
    "end_date": "2026-06-19",
    "limit": 10
  }'
{
  "info": {
    "total_results": 27690,
    "count": 10,
    "next_cursor": "Z0FBQUFBQnFQcjNsbDZZaWlzZjR2cXJt...",
    "models": ["ChatGPT", "Google Gemini", "Perplexity", "Claude", "..."],
    "include": [
      "run_id", "date", "model", "topic", "topic_id", "persona", "region",
      "tags", "prompt", "prompt_id", "response", "mentions", "citations",
      "search_queries", "analysis_types"
    ],
    "start_date": "2026-06-18",
    "end_date": "2026-06-19",
    "filter": null
  },
  "data": [
    {
      "run_id": "<uuid>",
      "date": "2026-06-19",
      "model": { "id": "<uuid>", "name": "ChatGPT" },
      "topic": "<string>",
      "topic_id": "<uuid>",
      "region": "United States",
      "persona": null,
      "tags": [],
      "prompt": "<prompt text>",
      "prompt_id": "<uuid>",
      "response": "<full model response text>",
      "mentions": ["Profound", "<string>"],
      "citations": ["https://example.com/article"],
      "search_queries": ["<search query>"],
      "analysis_types": ["visibility"]
    }
    // ...9 more rows (count: 10, total_results: 27690); paginate with next_cursor
  ]
}

Authorizations

X-API-Key
string
header
required

Body

application/json
category_id
string
required
start_date
string
required

YYYY-MM-DD, ET, inclusive

end_date
string
required

YYYY-MM-DD, ET, inclusive

include
enum<string>[] | null

Which row fields to return: run_id, date, model, topic, topic_id, region, persona, tags, prompt, prompt_id, response, mentions, citations, search_queries, analysis_types, sentiment_claims. Omit for all of them.

Available options:
run_id,
date,
model,
topic,
topic_id,
persona,
region,
tags,
prompt,
prompt_id,
response,
mentions,
citations,
search_queries,
analysis_types,
sentiment_claims
filter
FilterNode · object

and/or/not tree over model, topic, region, persona, prompt, tag, analysis_type (visibility/sentiment/factcheck); plus top-level and leaves domain or page (is one value, or in a list). Substring-search the prompt with {"field": "prompt", "op": "contains", "value": "…"}.

limit
integer | null

Page size; default 10, max 50.

Required range: 0 < x <= 50
max_results
integer | null

Stream endpoint only: cap the number of streamed rows (default: all).

Required range: x > 0
cursor
string | null

Response

Successful Response

The response is of type Response Query Answers V2 V2 Prompts Answers Post · object.