Public API
Rate Limiting
Rate limiting is enforced to ensure fair usage and prevent abuse of the API, with a limit of 15 requests per 10 seconds. This means that any client making requests to the endpoint should ensure that they do not exceed this limit, as doing so could result in temporarily blocked access. It is advisable to implement request throttling on the client side to manage request rates efficiently and ensure compliance with these limits.
Retrieve a list of all your pages.
GET
/api/public/pages
Headers
Content-Type
application/json
Authorization
Bearer <token>
Response
{
"personalPages": {
"count": 3,
"pages": [
{
"id": "page_001",
"title": "Personal Page A",
"slug": "my-slug-a",
"note": "page-a-note",
"createdAt": "2025-01-01T10:00:00.000Z",
"updatedAt": "2025-01-10T15:00:00.000Z"
},
{
"id": "page_002",
"title": "Personal Page B",
"slug": "my-slug-b",
"note": "page-b-note",
"createdAt": "2025-02-01T12:30:00.000Z",
"updatedAt": "2025-02-15T08:45:00.000Z"
},
{
"id": "page_003",
"title": "Personal Page C",
"slug": "my-slug-c",
"note": "page-c-note",
"createdAt": "2025-03-01T09:20:00.000Z",
"updatedAt": "2025-03-20T17:00:00.000Z"
}
]
},
"organizationPages": {
"count": 3,
"organizations": [
{
"organization": {
"id": "org_001",
"name": "Example Organization"
},
"pages": [
{
"id": "org_page_001",
"title": "Org Page A",
"slug": "org-slug-a",
"note": "org-page-a-note",
"createdAt": "2025-04-01T11:00:00.000Z",
"updatedAt": "2025-04-05T14:00:00.000Z"
},
{
"id": "org_page_002",
"title": "Org Page B",
"slug": "org-slug-b",
"note": "org-page-b-note",
"createdAt": "2025-04-10T10:15:00.000Z",
"updatedAt": "2025-04-15T16:30:00.000Z"
},
{
"id": "org_page_003",
"title": "Org Page C",
"slug": "org-slug-c",
"note": "org-page-c-note",
"createdAt": "2025-04-20T09:45:00.000Z",
"updatedAt": "2025-04-25T13:20:00.000Z"
}
]
}
]
},
"summary": {
"totalPersonalPages": 3,
"totalOrganizationPages": 3,
"totalPages": 6,
"organizationsCount": 1
}
}
Retrieve analytics data for a specific page by its slug.
GET
/api/public/stats/[slug]
Headers
Content-Type
application/json
Authorization
Bearer <token>
Query params
startDate
YYYY-MM-DD (optional)
Start date for data filtering
endDate
YYYY-MM-DD (optional)
End date for data filtering
Response
{
"slug": "my-page-slug",
"totalViews": 1234,
"totalClicks": 456,
"totalDirect": 78,
"totalChatbotClicks": 90,
"totalSafed": 12,
"totalBlocked": 34,
"topCountries": [
{ "country": "US", "views": 320 },
{ "country": "FR", "views": 215 }
],
"topLinks": [
{ "url": "https://example.com", "clicks": 140 }
],
"topReferrers": [
{ "referrer": "https://google.com", "views": 300 },
{ "referrer": "https://facebook.com", "views": 200 }
],
"topDeviceTypes": [
{ "deviceType": "mobile", "views": 500 },
{ "deviceType": "desktop", "views": 400 }
],
"dailyStats": [
{
"date": "2025-06-20",
"views": 120,
"clicks": 45
}
]
}
Last updated