Skip to content

Events API

Anything that speaks Plausible’s Events API works. Post to /api/event:

Terminal window
curl -X POST https://stats.example.com/api/event \
-H "User-Agent: Mozilla/5.0 …" \
-H "X-Forwarded-For: 203.0.113.7" \
-H "Content-Type: application/json" \
-d '{"n":"pageview","u":"https://example.com/pricing","d":"example.com","r":null,"w":1280}'
Field Required Meaning
n yes Event name. pageview for pageviews
u yes Full URL, http or https
d yes Site domain as added in Tidemark
r no Referrer URL
w no Window width in pixels, used for the device type
p no Properties object. See limits
h no 1 to include the URL fragment in the path

Long names are also accepted: name, url, domain, props.

Status Body Meaning
202 ok Accepted. Also returned when the event was dropped by a bot filter or shield
400 message Missing name, URL or domain, or an invalid URL
404 Unknown site The domain isn’t a site in Tidemark

The endpoint is cross-origin by design. Visitor identity, location and device come from the request, so a server-side call identifies as your server unless you forward the visitor’s User-Agent and X-Forwarded-For.

The request body may be sent as text/plain, which is what the script does to avoid a CORS preflight.

© 2026 Tidemark · MIT licenseThese docs set no cookies and run no trackers.