Plausible: timeseries
plausible_get_timeseriesGet website metrics bucketed by hour, day, week, or month to identify traffic trends, spikes, and drops over any date range.
Instructions
Get metrics bucketed over time (hour/day/week/month) to see trends, spikes and drops.
Examples:
Daily visitors for the last 30 days: {"site_id": "example.com", "date_range": "30d", "interval": "day"}
Hourly traffic today from one country: {"date_range": "day", "interval": "hour", "filters": [{"dimension": "visit:country_name", "operator": "is", "values": ["Germany"]}]}
Monthly signups this year: {"date_range": "year", "interval": "month", "metrics": ["visitors", "events"], "filters": [{"dimension": "event:goal", "operator": "is", "values": ["Signup"]}]}
Dates/times are in the site's reporting timezone. Hourly buckets over long ranges produce many rows; prefer day/week for ranges over a few days.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | Filters combined with logical AND. Each filter matches if any of its values match. | |
| metrics | No | Metrics per bucket. Default: visitors, pageviews | |
| site_id | No | Site domain exactly as registered in Plausible, e.g. "example.com". Optional when PLAUSIBLE_DEFAULT_SITE_ID is set. | |
| interval | No | Bucket size. "auto" lets Plausible pick one that suits the date range | auto |
| fill_gaps | No | Return every bucket in the range, including empty ones (counts become 0, ratios null) | |
| date_range | No | Either a preset ("day", "24h", "7d", "28d", "30d", "91d", "month", "6mo", "12mo", "year", "all") or a custom range {"from": "2024-01-01", "to": "2024-01-31"} | 30d |
| response_format | No | "markdown" (default) for a readable table, "json" for machine-readable rows | markdown |
| include_imported | No | Include imported (e.g. Google Analytics) data where supported |