canonical: https://jentic.com/apis/mouseflow.com/mouseflow

# Mouseflow API

Jentic publishes the only available OpenAPI specification for Mouseflow API, keeping it validated and agent-ready. Mouseflow is a session replay and behavioural analytics platform that records visitor sessions, generates heatmaps, and exposes tagging and variable controls for segmentation. The 18-endpoint API covers website management, listing and inspecting recordings, in-progress recording status, recording tags, share and watched flags, and heatmap retrieval. Authentication uses HTTP basic auth, with US and EU regional base URLs available.

## For AI agents

List and inspect Mouseflow session recordings, manage tags and stars on individual recordings, and pull heatmap data for tracked websites.

## Scope

Does not handle event funnels, A/B testing, or feature flag evaluation - use for Mouseflow session recordings, tags, and heatmaps only.

## Capabilities

- List the websites in a Mouseflow account via GET /websites
- Read details of a specific website via GET `/websites/{website_id}`
- List session recordings for a website via GET `/websites/{website_id}/recordings`
- Inspect in-progress recordings via `/websites/{website_id}/recordings/inprogress`
- Tag, star, share, or mark a recording as watched via the per-recording endpoints
- Manage the set of available recording tags for a website
- Retrieve heatmaps associated with a website

## Use cases

### QA Triage from Session Recordings

Product and QA teams pull recent recordings from Mouseflow, tag them by symptom, and route them to the right engineer. The `/websites/{website_id}/recordings` list provides the queue, `/websites/{website_id}/recordings/{recording_id}/tag` attaches a label, and the watched flag tracks who has reviewed each one. This collapses a manual triage workflow into a scriptable loop.

Example prompt: List recordings for a website created in the last 24 hours, filter to those tagged 'error', and mark each as watched once a teammate reviews it.

### Heatmap Retrieval for Conversion Pages

Conversion teams retrieve heatmap data from Mouseflow to understand where visitors click and scroll on critical landing pages. The heatmap endpoint returns the data needed to render heatmaps in internal dashboards or to compare versions of a page in a CMS-driven A/B workflow.

Example prompt: Retrieve the heatmap for a high-traffic landing page and feed the data into an internal dashboard.

### In-Progress Recording Monitoring

Operations and support teams watch in-progress recordings to spot live frustration before sessions end. The `/websites/{website_id}/recordings/inprogress` endpoint exposes that live queue so an internal tool can flag potentially escalating sessions and alert support staff.

Example prompt: Poll `/websites/{website_id}/recordings/inprogress` and alert the support team if any session has been active for more than 10 minutes.

### Behavioural Analytics Agent via Jentic

An AI analytics agent that needs to surface noteworthy sessions searches Jentic for the recording listing operation, loads its schema, and executes. Jentic injects the basic auth credentials, so the agent never sees the raw API key. The same agent can star or tag recordings via Jentic to keep them in front of human reviewers.

Example prompt: Search Jentic for 'list Mouseflow session recordings', load `/websites/{website_id}/recordings`, and execute it with the target website ID.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/websites` | List tracked websites |
| GET | `/websites/{website_id}` | Read a single website |
| GET | `/websites/{website_id}/recordings` | List recordings for a website |
| GET | `/websites/{website_id}/recordings/inprogress` | List in-progress recordings |
| GET | `/websites/{website_id}/recordings/{recording_id}` | Read a specific recording |
| GET | `/websites/{website_id}/recordings/tags` | List the tag catalogue for a website |
| POST | `/websites/{website_id}/recordings/{recording_id}/tag` | Tag a recording |
| POST | `/websites/{website_id}/recordings/{recording_id}/star` | Star a recording |

## Key resources

- **Websites** — List and inspect tracked websites in the account.
- **Recordings** — List session recordings, inspect details, and manage star/share/watched flags.
- **Recording Management** — Tag, star, share, and mark watched on individual recordings.
- **Tags** — Manage the catalogue of tags available for recordings on a website.
- **Heatmaps** — Retrieve heatmap data for tracked pages.

## Why Jentic

- **Setup:** Wiring Mouseflow by hand means building its basic-auth header from your API key, targeting the regional host, and threading the website id through every recordings and tags call. Through Jentic you install once, import the Mouseflow API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Mouseflow puts the website id in the URL path (`/websites/{website_id}/...`), so a rule can pin your agent to one website: it can read that site's recordings and tags and nothing else. You choose the operations it may call, so writes like tagging or starring a recording are not included unless you add them.
- **Credential handling:** Your Mouseflow API key is stored once, encrypted, by your own Jentic One instance and used to build the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list session recordings' or 'tag a Mouseflow recording', and Jentic returns the matching operation with its input schema, so the agent picks the right call without scanning the docs.

## Related APIs

- **Heap API** — Heap captures auto-tracked product events rather than full session replays.
- **Mixpanel API** — Mixpanel focuses on product event analytics and funnels rather than session video.
- **Slack API** — Slack receives links to noteworthy Mouseflow recordings flagged by an internal triage agent.

## FAQ

### Why is there no official OpenAPI spec for Mouseflow API?

Mouseflow does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Mouseflow API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Mouseflow API use?

Mouseflow uses HTTP basic authentication with an API key. Use the api-us.mouseflow.com or api-eu.mouseflow.com base URL depending on your account region. Through Jentic, the credentials live in the encrypted vault and are attached as the Authorization header at call time.

### Can I retrieve session recordings via the Mouseflow API?

Yes. List a website's recordings via GET `/websites/{website_id}/recordings` and read individual recordings by ID. The API also exposes in-progress recordings, tags, star, share, and watched flags so an internal tool can drive a full triage workflow.

### What are the rate limits for the Mouseflow API?

Mouseflow does not publish hard rate limits in the spec. Treat listings as paginated reads and avoid polling individual recordings inside tight loops; back off on 429 responses if encountered.

### How do I list session recordings through Jentic?

Run pip install jentic, search 'list Mouseflow session recordings', load `/websites/{website_id}/recordings`, and execute it with the target website ID. Jentic supplies the basic-auth credentials from your vault.

### Is the Mouseflow API free?

API access is included with paid Mouseflow plans. The free trial does not include API access in all configurations; check current pricing at mouseflow.com.

### Can I limit what my agent is allowed to do with the Mouseflow API?

Yes. Because you run Jentic One yourself, your own rules decide which Mouseflow operations and credentials the agent may use. Mouseflow puts the website id in the URL path, so a rule can pin the agent to a single website and let it read only that site's recordings, tags, and heatmaps. You also choose the operations it may call, so write actions like tagging or starring a recording stay off unless you add them.
