
Plausible
- 125 installs
- 76 repo stars
- Updated August 4, 2026
- vm0-ai/vm0-skills
Use plausible for development tasks
About
plausible: A skill skill for development. This skill provides functionality for development workflows.
- plausible
Plausible by the numbers
- 125 all-time installs (skills.sh)
- Ranked #2,781 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/vm0-ai/vm0-skills --skill plausibleAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 125 |
|---|---|
| repo stars | ★ 76 |
| Last updated | August 4, 2026 |
| Repository | vm0-ai/vm0-skills ↗ |
What it does
Use plausible for development tasks
Files
Troubleshooting
If requests fail, run zero doctor check-connector --env-name PLAUSIBLE_TOKEN or zero doctor check-connector --url https://plausible.io/api/v2/query --method POST
Stats API (v2)
Basic Query - Total Visitors
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews"],
"date_range": "7d"
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonDocs: https://plausible.io/docs/stats-api
Query with Dimensions (Breakdown)
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews", "bounce_rate"],
"date_range": "30d",
"dimensions": ["visit:source"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonTop Pages
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews"],
"date_range": "7d",
"dimensions": ["event:page"],
"order_by": [["pageviews", "desc"]],
"pagination": {
"limit": 10
}
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonGeographic Breakdown
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors"],
"date_range": "30d",
"dimensions": ["visit:country_name", "visit:city_name"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonDevice & Browser Stats
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors"],
"date_range": "7d",
"dimensions": ["visit:device"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonTime Series (Daily)
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews"],
"date_range": "30d",
"dimensions": ["time:day"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonFilter by Page Path
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews"],
"date_range": "7d",
"filters": [["contains", "event:page", ["/blog"]]]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonUTM Campaign Analysis
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "conversion_rate"],
"date_range": "30d",
"dimensions": ["visit:utm_source", "visit:utm_campaign"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonCustom Date Range
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"metrics": ["visitors", "pageviews"],
"date_range": ["2024-01-01", "2024-01-31"]
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X POST "https://plausible.io/api/v2/query" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonSite Provisioning API
List Sites
curl -s -H "Authorization: Bearer $PLAUSIBLE_TOKEN" "https://plausible.io/api/v1/sites"Docs: https://plausible.io/docs/sites-api
Create Site
Write to /tmp/plausible_request.json:
{
"domain": "newsite.com",
"timezone": "America/New_York"
}Then run:
curl -s -X POST "https://plausible.io/api/v1/sites" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonGet Site Details
Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -H "Authorization: Bearer $PLAUSIBLE_TOKEN" "https://plausible.io/api/v1/sites/<your-site-id>"Delete Site
Warning: This will permanently delete the site and all its data.
Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X DELETE -H "Authorization: Bearer $PLAUSIBLE_TOKEN" "https://plausible.io/api/v1/sites/<your-site-id>"Create Goal
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"goal_type": "event",
"event_name": "Signup"
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X PUT "https://plausible.io/api/v1/sites/goals" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonCreate Page Goal
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"goal_type": "page",
"page_path": "/thank-you"
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X PUT "https://plausible.io/api/v1/sites/goals" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonList Goals
Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -H "Authorization: Bearer $PLAUSIBLE_TOKEN" "https://plausible.io/api/v1/sites/goals?site_id=<your-site-id>"Create Shared Link
Write to /tmp/plausible_request.json:
{
"site_id": "<your-site-id>",
"name": "Public Dashboard"
}Replace <your-site-id> with your actual site ID (typically your domain like "example.com"):
curl -s -X PUT "https://plausible.io/api/v1/sites/shared-links" -H "Authorization: Bearer $PLAUSIBLE_TOKEN" -H "Content-Type: application/json" -d @/tmp/plausible_request.jsonAvailable Metrics
| Metric | Type | Description |
|---|---|---|
visitors | int | Unique visitors |
visits | int | Total sessions |
pageviews | int | Page views |
bounce_rate | float | Bounce rate (%) |
visit_duration | int | Avg duration (seconds) |
views_per_visit | float | Pages per session |
conversion_rate | float | Goal conversion rate (requires goal to be configured) |
events | int | Total events |
Note: The conversion_rate metric requires at least one goal to be configured for your site. Create a goal first using the "Create Goal" or "Create Page Goal" endpoints before querying conversion rates.Available Dimensions
Event Dimensions
event:goal- Custom goalsevent:page- Page pathevent:hostname- Hostname
Visit Dimensions
visit:source- Traffic sourcevisit:referrer- Full referrer URLvisit:utm_source- UTM sourcevisit:utm_medium- UTM mediumvisit:utm_campaign- UTM campaignvisit:country_name- Countryvisit:region_name- Region/Statevisit:city_name- Cityvisit:device- Device typevisit:browser- Browser namevisit:browser_version- Browser versionvisit:os- Operating systemvisit:os_version- OS version
Time Dimensions
time- Auto granularitytime:hour- Hourlytime:day- Dailytime:week- Weeklytime:month- Monthly
Filter Operators
| Operator | Description |
|---|---|
is | Equals any value |
is_not | Not equals |
contains | Contains substring |
matches | Regex match |
Complex Filters
["and", [
["is", "visit:country_name", ["United States"]],
["contains", "event:page", ["/blog"]]
]]Date Range Options
| Value | Description |
|---|---|
day | Today |
7d | Last 7 days |
28d | Last 28 days |
30d | Last 30 days |
month | Current month |
6mo | Last 6 months |
12mo | Last 12 months |
year | Current year |
all | All time |
["2024-01-01", "2024-12-31"] | Custom range |
Rate Limits
- 600 requests per hour per API key
API Reference
- Stats API: https://plausible.io/docs/stats-api
- Sites API: https://plausible.io/docs/sites-api
- Main Docs: https://plausible.io/docs