Mixpanel Reports & Segmentation
Which campaign drove sign-ups last week, and did those users come back? Pull saved Insights and funnel reports, retention cohorts, event segmentation by any property, and user profile lookups from a Mixpanel project, all read-only.
Connect this API to an AI agent Browse all specs
What you can do with Mixpanel Reports & Segmentation via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /insights |
querySavedInsightsReport | Get the results of a saved Insights report by its bookmark id |
| GET | /funnels/list |
listSavedFunnels | List the saved funnels in a project |
| GET | /funnels |
queryFunnel | Get conversion data for a saved funnel over a date range |
| GET | /retention |
queryRetention | Get a retention report: how many users came back after a first event |
| GET | /retention/addiction |
queryFrequency | Get a frequency report: how often users repeat an event |
| GET | /segmentation |
querySegmentation | Count an event over time, split and filtered by a property |
| GET | /segmentation/numeric |
querySegmentationNumericBuckets | Count an event split into numeric buckets of a property |
| GET | /segmentation/sum |
querySegmentationSum | Sum a numeric property of an event over time (e.g. revenue) |
| GET | /segmentation/average |
querySegmentationAverage | Average a numeric property of an event over time |
| GET | /events |
getEventCounts | Get total, unique or average counts for a set of events |
| GET | /events/top |
listTodaysTopEvents | List today's most common events |
| GET | /events/names |
listTopEventNames | List the most common event names of the last 31 days |
| GET | /events/properties |
getEventPropertyValueCounts | Count an event per value of one property over time |
| GET | /events/properties/top |
listTopEventProperties | List the most common property names sent with an event |
| GET | /events/properties/values |
listTopEventPropertyValues | List the most common values of an event property |
| POST | /engage |
queryUserProfiles | Look up user profiles by id, filter or cohort |
| POST | /cohorts/list |
listCohorts | List the saved cohorts in a project with their sizes |
Authentication
ServiceAccount
HTTP Basic
Mixpanel service account, sent as HTTP Basic auth (username = service account username, password = service account secret).
How to get a credential
- In Mixpanel, open Organization Settings > Service Accounts (organization admin or owner role needed).
- Click Add Service Account, give it a name and the Consumer role (read-only is enough), and add it to the projects it should read.
- Copy the username and the secret; the secret is shown only once.
- Note the project id (Project Settings > Overview); every call needs it as
project_id.
Permissions used
| Project role | Operations |
|---|---|
| Consumer (or higher) on the project | every operation in this spec (all are read-only queries) |
Common errors
- 401 Unauthorized: wrong username/secret, or the secret was rotated. Create a new secret.
- 403 Forbidden: the service account is not a member of that project, or the project id is wrong.
- 400 Bad Request: a required parameter is missing or malformed (dates must be
YYYY-MM-DD;eventlists are JSON arrays). - 429 Too Many Requests: the Query API allows 60 queries per hour and 5 concurrent queries per project. Wait and retry.
Store the username and secret as a Basic-auth credential in VX Agents; never paste them into chat.
Usage guide
Setup
- Credential: a Mixpanel service account (username + secret) with the Consumer role on the project, stored as a Basic-auth credential.
- Pin
project_id(Project Settings > Overview) as a preset parameter; every operation requires it. Pinworkspace_idtoo if the project uses data views. - Server:
mixpanelfor US projects,eu.mixpanelfor EU data residency,in.mixpanelfor India.
Answer a growth question
listTopEventNamesto learn the exact event names in the project (names are case-sensitive).listTopEventPropertiesandlistTopEventPropertyValuesfor the event, to find the property to split by (e.g.utm_source,$browser).querySegmentationwithevent,from_date,to_date,on=properties["utm_source"]andunit=day|week|month. UsequerySegmentationSum/querySegmentationAveragefor revenue-style numbers.- For conversion:
listSavedFunnels, thenqueryFunnelwith thefunnel_idand the date range. - For stickiness:
queryRetention(born_event= first action,event= return action) orqueryFrequency. - When the user already has a saved report,
querySavedInsightsReportwith itsbookmark_id(the number in the report URL) returns exactly what they see in the UI. - To see who is behind a number:
listCohorts, thenqueryUserProfileswithfilter_by_cohortor awhereexpression.
Good to know
- All operations are read-only; nothing changes in Mixpanel.
- Dates are
YYYY-MM-DDin the project's timezone and both ends are inclusive. eventongetEventCountsis a JSON array string, e.g.["Sign Up","Purchase"].whereandonuse Mixpanel segmentation expressions, e.g.properties["country"]=="US".- Rate limit: 60 queries per hour and 5 concurrent queries per project. Prefer one wide query over many narrow ones, and reuse results.
queryUserProfilespages withpage+session_idfrom the previous response.- Source: Mixpanel Query API reference (https://docs.mixpanel.com/reference/query-api), checked 2026-10-16.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Mixpanel Reports & Segmentation” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.