People live life, we help you understand itBook a demo →
Developers

Consumer truth as a tool call.

ARIA and Persona are available to your agents and apps over open standards. Use MCP when you want an assistant or agent to call ARIA or Persona as a tool with per-user OAuth sign-in. Use the ARIA API when you want direct programmatic integration in your own backend.

Transport Streamable HTTPAuth (MCP) OAuth 2.1 · Convosight accountAPI keys or client secret None for MCPAuth (API) Team API key · on request
Overview

Pick your integration.

MCP lets an AI assistant or agent (Claude, Cursor, VS Code and other MCP clients) call ARIA as a tool, with each user signing in to their own account. The API is for integrating ARIA directly into your own applications and backends.

AttributeARIA MCPPersona MCPARIA APIPersona API
StatusAvailableAvailableAvailableComing soon
Best forAssistants, IDEs, agentsConcept & claim testing in assistantsYour own apps and backendsYour own apps and backends
AuthOAuth 2.1 sign-in with your Convosight accountconfirmTeam API key, issued by the ARIA adminn/a
AccessPublic URL. Access on request: confirmBy request: Coming soon
AnswersPlain text, in the tool callconfirmPlain text, async (poll for it)n/a
DocsARIA MCP guideconfirmARIA API guide (below)Notify me
Convosight ARIA MCPAvailable

Quick start: ARIA MCP

ARIA runs as a remote Model Context Protocol (MCP) server. Add one URL to Claude, VS Code, Cursor or any other MCP client, sign in with your Convosight account, and your assistant can call ARIA for consumer intelligence.

What your agent gets

Access to ARIA, Convosight's social intelligence assistant, with real-time data across Facebook Groups, Instagram, TikTok, YouTube, Reddit and other communities.

Brand sentimentInfluencer performanceCampaign trackingAudience insightsCompetitor benchmarking
  1. Get accessThe server URL is https://aria-mcp.convosight.com/sse. Access is on request: email .
  2. Add it to your clientOne remote server, over Streamable HTTP. Pick your client below.
  3. Sign in with your Convosight accountYour client opens a standard OAuth 2.1 sign-in the first time. No API keys or client secret to paste.
  4. Ask in plain languagePass the question as the user asked it. ARIA researches it live, usually in 2–3 minutes.
# Claude Code
claude mcp add --transport http aria https://aria-mcp.convosight.com/sse
◆Use the Streamable HTTP transport. The path ends in /sse for legacy reasons.
Transport: Streamable HTTP. Auth: OAuth 2.1 (authorization code with PKCE). Your client prompts you to sign in with your Convosight account the first time you use it. There are no API keys or client secret to paste.
Read the ARIA MCP guide →
Tool reference

One tool: ask ARIA.

ARIA MCP exposes a single tool, ask_aria_text. It takes a question in plain language and returns ARIA's answer as plain-text prose, so it works in any client, including ones without a rich UI.

InputTypeRequiredNotes
questionstringYesPass the user's question verbatim. Don't rephrase it.
session_idUUIDNoReturned by a previous call. Pass it on follow-ups in the same conversation so ARIA keeps the context.
On successThe answer as plain text, plus structured content with the answer and a session_id for follow-ups.
On failureA readable error message in the text, plus an error field in the structured content.
Follow-upsSend the session_id back with the next question to keep the thread.
Long-running calls

ARIA researches live. Give it time.

Each call blocks until ARIA finishes researching. That usually takes 2–3 minutes and can take up to 15. Set your agent's tool-call timeout, and the timeout on anything proxying the request, well above that.

Optional: show progress. Instead of waiting on a silent connection, your client can opt in to status updates. Add a progressToken of your choice (any value that's unique to that call) to the request's _meta. The server then streams progress notifications on the same response, ahead of the final answer. Leave it out and you simply get the final answer.

// tools/call with an optional progress token
{
  "method": "tools/call",
  "params": {
    "name": "ask_aria_text",
    "arguments": {
      "question": "Which hair care concerns are rising among USA consumers in the last 4 weeks?"
    },
    "_meta": { "progressToken": "<any-unique-value>" }
  }
}
◆Standard MCP progress notifications. progress ticks up roughly every 25 seconds. It isn't a percentage. message is safe to show in a “still working” indicator.
Using an MCP SDK? Most official clients handle this for you. The TypeScript SDK, for example, attaches the token and calls your onprogress handler for each update. Check your SDK's client docs before wiring it up by hand.
Building your own agent

Connecting a custom MCP client

Off-the-shelf clients like Claude, VS Code and Cursor handle sign-in for you. If you're wiring ARIA into your own agent or app, here's what to sort out first.

  1. Request your connection detailsEmail reachus@convosight.com. We'll share your MCP URL and the OAuth client details for your app.
  2. Send us your redirect URI(s)The callback URL(s) your app uses after sign-in, so we can register your app.
  3. Auto-discover the OAuth endpointsUse the server's standard OAuth metadata to find the authorize and token endpoints. Don't hardcode them.
  4. Allow long-running callsSet tool-call and proxy timeouts well above 15 minutes, and opt in to progress updates if you want a live status.
  5. Thread follow-upsKeep the session_id from each answer and send it with the next question.
Troubleshooting

Errors and timeouts

Errors come back as normal, successful responses. There's no special status code to catch. Check the returned text, or the error field in the structured content, to spot these cases.
What you seeWhat it meansWhat to do
“ARIA is taking longer than expected to research this question. Please try asking again.”The question ran past 15 minutes.Ask again. Narrowing the question can help.
“Your ARIA session has expired. Please reconnect the integration.”Your sign-in has expired.Reconnect ARIA in your client and sign in again.
“ARIA session not found. Try asking your question again.”The session ID wasn't recognised.Ask again, or start without a session ID.
“ARIA is temporarily unavailable. Please try again in a moment.”A temporary issue on our side.Wait a moment, then retry.
A message explaining why ARIA can't answerARIA can't answer this question for content reasons.Rephrase the question, or ask a different one.

ARIA doesn't retry automatically after a timeout or a temporary failure. If you want retries, re-issue the call from your side. Still stuck? Email reachus@convosight.com.

Convosight Persona MCPAvailable

Quick start: Persona MCP

Persona turns social data into evidence-grounded consumer twins. With Persona MCP, you can talk to a Persona from any MCP-compatible assistant and pressure-test claims, concepts and messaging without switching tools.

Setup shown by analogy with ARIA MCP. confirm: Persona MCP docs/setup URL, and whether it uses the same OAuth flow and account entitlements as ARIA MCP
# Claude Code
claude mcp add --transport http persona <your-persona-mcp-url>
◆Persona MCP URL is a placeholder: no public URL exists yet.
A Persona isn't a real person or a statistical sample. Treat it as a well-evidenced view of a cohort, not a forecast.
MCP config example

Discover with ARIA. Validate with Persona.

Take an ARIA insight straight to a Persona and push back on it. Add both servers to the same client and your assistant can call either one.

mcp.json
// One client, both Convosight servers
{
  "mcpServers": {
    "aria": {
      "url": "https://aria-mcp.convosight.com/sse"
    },
    "persona": {
      "url": "<your-persona-mcp-url>"
    }
  }
}
◆Both URLs are placeholders. Server names are examples.
Convosight ARIA APIAvailable

Build ARIA into your own product.

The ARIA API lets you integrate ARIA's consumer intelligence directly into your apps, dashboards, workflows and agents. Call ARIA from your own backend, internal tools or agent framework. The same ARIA behind our app, ChatGPT and MCP.

It works over plain HTTP and it's asynchronous: you send a question, get a session_id back straight away, then poll until the answer is ready.

Access is by request. Your team gets an API key issued by the ARIA admin, along with your base URL and quota. Keys aren't self-serve. to get started.

How it works

  1. AskPOST · questionSend your question. You get 202 Accepted and a session_id.
  2. PollGET …/{session_id}Every 3–5 seconds while status is in_progress.
  3. Read the answerdone · errordone returns the answer as plain text. error returns a message, and it's safe to ask again.
  4. Follow upPOST + session_idOnce the turn is done, ask again with the same session_id and ARIA keeps the context.

Authentication

Send your team API key as the raw value of the Authorization header on every request. Don't add a Bearer prefix. Keys can be deactivated or expire; either one returns a 401.

Authorization: <YOUR_TEAM_API_KEY>
Content-Type: application/json
◆Replace <YOUR_TEAM_API_KEY> with your team's key. Keep it server-side.

Endpoints

Both endpoints sit under your team's base URL, shown here as <aria-api-base-url>. You get it with your API access.

RequestWhat it doesReturns
POST <aria-api-base-url>Asks a question: starts a new conversation, or continues one if you pass a session_id.202 · { "session_id": 12345 }
GET <aria-api-base-url>/{session_id}Checks progress and returns the answer when it's ready.A status object (see below)

Request body (POST)

FieldTypeRequiredNotes
questionstringYesNot empty. Must not ask about a period outside your team's lookback window.
session_idintegerNoLeave it out to start a new conversation. Pass a previous value to continue that one.

Status values (GET)

statusResponseWhat to do
in_progress{ "status": "in_progress" }Keep polling every 3–5 seconds.
done{ "status": "done", "answer": "..." }Show the answer. It's plain text.
error{ "status": "error", "error": "..." }A general error message. It's safe to retry by asking again.

Polling client examples

Each example asks a question, polls until it's done, then asks a follow-up in the same session.

aria-poll.sh
# 1. Configure once (server-side; never ship the key to a browser)
export ARIA_API_BASE_URL="<aria-api-base-url>"
export ARIA_API_KEY="<YOUR_TEAM_API_KEY>"

# 2. Ask a question -> 202 Accepted + a session_id
curl -s -X POST "$ARIA_API_BASE_URL" \
  -H "Authorization: $ARIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "How did our engagement trend last month?"}'
# { "session_id": 12345 }

# 3. Poll every 3-5 s until status is done or error (~5 min max)
SESSION_ID=12345
for i in $(seq 1 75); do
  sleep 4
  RES=$(curl -s "$ARIA_API_BASE_URL/$SESSION_ID" -H "Authorization: $ARIA_API_KEY")
  STATUS=$(echo "$RES" | jq -r .status)
  if [ "$STATUS" != "in_progress" ]; then break; fi
done
echo "$RES" | jq -r 'if .status == "done" then .answer else .error end'

# 4. Follow up in the same conversation (after the last turn is done)
curl -s -X POST "$ARIA_API_BASE_URL" \
  -H "Authorization: $ARIA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "Which platform drove most of it?", "session_id": 12345}'
◆Replace <aria-api-base-url> and <YOUR_TEAM_API_KEY> with the details you get with API access. 12345 is an example session_id. The cURL example uses jq.
Errors and limits →

Want to offer ARIA to your customers inside a product you sell? That's a partnership. Talk to us.

ARIA API · errors & limits

Error codes

HTTPWhat it meansWhat to doRetry?
400The body is invalid, the question asks about a period outside your lookback window, or your team's quota for the current period is used up.Read the message. Fix the body or the period. Quota errors clear at the start of the next period.No
401The API key is missing, invalid, deactivated or expired.Check the header. Ask your ARIA admin for a new key if needed.No
404The session_id doesn't exist or belongs to another team.Check the ID, or start a new conversation.No
409A question is already running in this session.Wait until the status is done or error, then retry.Yes, once the turn ends
429You polled the same session again within 3 seconds.Slow down and retry with backoff.Yes, with backoff

Limits and behaviour

Lookback windowARIA answers about the last N months, set per team. Questions about earlier periods (say, “in 2023”) are rejected with a 400 and don't use quota.
Per-team quotaEach accepted question uses one unit of your team's quota, counted daily, monthly or yearly depending on your setup. Rejected questions aren't charged.
Polling is freeStatus checks don't count against your quota.
One turn per sessionOne question at a time in each session; a second one gets a 409. Separate sessions can run in parallel.
3 s minimum between pollsPoll each session every 3–5 seconds. Polling faster gets a 429.
Set a client timeoutStop polling after about 5 minutes and show your user a friendly message.

Best practices

  1. Keep the API key server-sideStore it in a secrets manager. Never ship it in browser or mobile code.
  2. Reuse the session_id for follow-upsSo ARIA keeps the conversational context.
  3. Retry 429s with backoffA 429 only means you polled too fast. Wait, then poll again.
  4. Don't retry 400 quota errorsThey won't succeed until your next quota period starts.
What comes back

Plain-text answers, ready for your UI.

A written answerPlain-text prose, in plain language, answering the question you asked.
The key insights behind itWhat people said, showed and felt.
A session to keep the threadFollow-ups in the same session keep ARIA's context.

Over both MCP and the API, answers are plain text, so you decide how they render. The ARIA API returns the answer text only, without source links. confirm whether MCP answers include links to the source posts, as the public MCP docs say

Data

Data, in one line

We get your account reference, your question and session info. You get the answer. Convosight doesn't train AI models on your questions and has no access to your systems.

Convosight Persona APIComing soon

Persona, inside your own product. Coming soon.

A Persona API so you can build evidence-grounded consumer twins into your own tools and workflows.

Persona MCP is available today. confirm Persona API timing; don't publish a date until it's confirmed

Prototype form · nothing is submitted.

You're on the list.

We'll email you when the Persona API launches.

Consumer truth as a tool call.

Looking for the marketer view? See all integrations →