REST
Bearer-key JSON endpoints with keyset cursor pagination. updated_since on campaigns and synthesis for incremental syncs.
curl https://app.customerconversations.co/api/client/v1/synthesis \
-H "Authorization: Bearer cc_..." Every Customer Conversations program includes read access to the intelligence behind your portal: published synthesis, campaigns, and quality-gated interviews. Pull it into a dashboard, hand it to an AI agent, or let a partner build on it, with a key you control.
The same numbers and documents your portal shows. Counts reconcile because the API applies the same usable-interview rules.
Bearer-key JSON endpoints with keyset cursor pagination. updated_since on campaigns and synthesis for incremental syncs.
curl https://app.customerconversations.co/api/client/v1/synthesis \
-H "Authorization: Bearer cc_..." A Streamable HTTP MCP server for Claude Code and other agents. Same key, same scopes, same five readers exposed as tools.
{
"mcpServers": {
"customer-conversations": {
"type": "http",
"url": "https://app.customerconversations.co/api/client/v1/mcp",
"headers": { "Authorization": "Bearer cc_..." }
}
}
} Pull the reportable corpus into Looker, Power BI, Google Sheets, or your warehouse on a schedule. The BI guide walks through it.
Open the BI guideThree documents, all public, all served from the API itself.
Base URL
https://app.customerconversations.co
Keys belong to the brand, not to us. A client issues them from their own portal and decides who holds them and what they can see.
app.customerconversations.co, any admin on your brand.
Issue a key, name it for who will hold it, and pick its scopes.
Keys are brand-scoped: every response is already filtered to your data. Rotate or revoke any time.
Building on behalf of a client? Ask them to issue the key. It keeps the data-sharing decision with the brand and takes about a minute.
Tell us what you're connecting and what would make it easier.