> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Plausible

> Connect Plausible to your Atako agents — 9 read and 0 write actions.

Let your agents read your Plausible Analytics stats — visitors, pageviews, top pages, traffic sources, time series and goals — for the sites of your team.

## Connection

* **Authentication**: API key.
* **Required settings**:
  * **Plausible host** — plausible.io for Plausible Cloud; for a self-hosted instance, its domain without https\:// or a path (e.g. plausible.example.com).

<Note>
  In Plausible, select the team whose sites you want to read (top-right menu), click your account name → Settings → API Keys → New API Key, choose "Stats API", then Create API Key and copy it (it is shown only once). Owners, Admins, Editors and Billing members can create one; Viewers cannot. The key only reads the sites of that team. A Stats API key covers everything this connector reads (a "Sites API" key also works). Stats API access depends on your Plausible plan — see their pricing page. Self-hosted (Community Edition): enter your instance domain below.

  See [Plausible's documentation](https://plausible.io/docs/stats-api#authentication).
</Note>

## Read actions (9)

| Action | Description |
| - | - |
| `get_aggregate` | Get aggregate totals of a site over a period (one row, no grouping). site\_id and date\_range are required; metrics defaults to visitors, visits, pageviews, views\_per\_visit, bounce\_rate, visit\_duration. filters (optional) uses the same array format as query\_stats, e.g. \[\["is","event:page",\["/pricing"]]]. include\_imports (boolean) adds imported data (e.g. from Google Analytics) when possible. |
| `get_site` | Get one site by domain: timezone, custom properties and tracker script configuration. |
| `get_timeseries` | Get a time series of a site over a period: one row per time bucket, empty buckets included (time labels). site\_id and date\_range are required; interval (hour \| day \| week \| month) picks the bucket, automatic when omitted; metrics defaults to visitors, pageviews. filters (optional) uses the same array format as query\_stats, e.g. \[\["is","event:page",\["/pricing"]]]. |
| `get_top_pages` | Get the most viewed pages of a site over a period (grouped by event:page, sorted by the first metric, descending). site\_id and date\_range are required; metrics defaults to visitors, pageviews; limit (1-1000, default 10). filters (optional) uses the same array format as query\_stats, e.g. \[\["is","event:page",\["/pricing"]]]. |
| `get_top_sources` | Get the main traffic sources of a site over a period, sorted by the first metric, descending. site\_id and date\_range are required; group\_by is one of visit:source (default), visit:referrer, visit:channel, visit:utm\_source, visit:utm\_medium, visit:utm\_campaign; metrics defaults to visitors; limit (1-1000, default 10). filters (optional) uses the same array format as query\_stats, e.g. \[\["is","event:page",\["/pricing"]]]. |
| `list_goals` | List the goals of a site (id, goal\_type event \| page, display\_name, event\_name, page\_path, custom\_props), with cursor pagination. A goal display\_name is the value to use with the event:goal dimension or filter. |
| `list_sites` | List the sites the key can access (domain, timezone), with cursor pagination (after / before / limit). team\_id (from list\_teams) restricts to one team. The domain is the site\_id of every other action. |
| `list_teams` | List the teams the account can access (id, name, api\_available), with cursor pagination (after / before / limit). |
| `query_stats` | Query stats (Stats API v2, read-only POST). Arguments: site\_id (string, required: site domain); metrics (required array of strings among visitors, visits, pageviews, views\_per\_visit, bounce\_rate, visit\_duration, events, scroll\_depth, percentage, conversion\_rate, group\_conversion\_rate, average\_revenue, total\_revenue, time\_on\_page); date\_range (required: shortcut string like "7d" or a 2-string ISO array \["2026-01-01","2026-01-31"]); dimensions (optional array of strings to group by, e.g. \["event:page"], \["visit:source"], \["visit:country\_name","visit:city\_name"], \["time:day"], \["event:goal"], \["event:props:\<name>"]); filters (optional array, e.g. \[\["is","event:page",\["/"]]] — see the field description); order\_by (optional array of \[metric\_or\_dimension, "asc"\|"desc"] pairs); include (optional object: imports, time\_labels, total\_rows booleans); pagination (optional object \{limit, offset}). Returns results as rows of \{dimensions: \[...], metrics: \[...]} in the order requested, plus meta and the executed query. |

## Write actions (0)

This connector is read-only — it exposes no write actions.

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.