---
ref: tool:mixpanel/query-saved-report
name: Query a saved report
company: company:mixpanel
workflows: []
access: [mcp, cli, api]
tags: [capability:analyze-product-usage, category:product-analytics, has:api, has:cli, has:mcp]
docs: https://docs.mixpanel.com/reference/insights-query
updated: 2026-09-26
---

# Query a saved report

Returns the data behind a saved report, such as an Insights report, by its ID.

Note: Needs the saved report's `bookmark_id`. The Query API allows 60 queries per hour and 5 concurrent queries.

## Set up

Use the first option your agent supports.

### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "mixpanel": { "url": "https://mcp.mixpanel.com/mcp" } } }
```

Call the MCP tool `Get-Report`.

Server URL: https://mcp.mixpanel.com/mcp

Note: An organization admin enables MCP in Settings > Org > Overview first. EU and India projects use `https://mcp-eu.mixpanel.com/mcp` and `https://mcp-in.mixpanel.com/mcp`.

### CLI (official)

Install the command and sign in with it, then confirm it runs.

```sh
pip install mixpanel-headless
mp --version
```

Run `mp query saved-report`.

### API (official)

- Base URL: https://mixpanel.com/api/query
- Endpoint: `GET /insights`
- Auth: send the header `Authorization: Basic $MIXPANEL_SA_TOKEN`
- Get a key: https://mixpanel.com/settings/org#serviceaccounts
- Docs: https://docs.mixpanel.com/reference/query-api

Note: `MIXPANEL_SA_TOKEN` holds the base64 of `<service account username>:<secret>`, and every request carries `project_id`; EU and India projects use `eu.mixpanel.com` and `in.mixpanel.com`.

Before anything else, confirm access with the cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Rules

- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
