List a site's most viewed pages over the last 30 days
Returns the pages of the site with a view in the last 30 UTC days, most viewed first, at most 50. These are the figures of the Page views tab of the Engagement report and of the Views column of the Pages list. Pages with no view in the window are left out, and there is no paging, cursor or filter. The figures are computed once a day, so `meta.computedAt` says when they were last computed (`null` before the first computation). `meta.countingOn` is `false` while page-view counting is off for the site: `data` is then empty, and that is not the same as no page being viewed. Switch counting on under Settings, Site access.
Authorization
ApiKeyAuth A WorkOS org-scoped API key, created from the dashboard's organization settings page. Identifies the tenant every read and write is scoped to. Missing, malformed, unknown, revoked, expired, or non-organization-owned keys all return 401 (no distinction, so the response can't be used to probe which keys or org ids exist).
In: header
Path Parameters
The site id (prefixed site_). A site id that isn't yours is a 404, same as any other cross-tenant id.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/api/v1/sites/string/page-views"{ "data": [ { "url": "https://shop.example.com/products/waterproof-jacket", "title": "Waterproof jacket", "views30d": 1240 }, { "url": "https://shop.example.com/", "title": null, "views30d": 980 } ], "meta": { "computedAt": "2026-10-27T04:14:05.000Z", "countingOn": true, "windowDays": 30 }}Delete an exclusion
Removes a rule or an excluded address. Discovery may find its pages again from the next sitemap import or traffic run; nothing is restored at once. Recorded in the audit log, attributed to the API key. Returns the id and a deleted flag.
List a site's starter questions
Returns the site's library in its own order, each question with the state and the 14-day performance the dashboard shows. The totals by state and by source count the whole library whatever the filters, and `meta.matching` counts the questions the filters leave. To see what a shopper is offered on a page, send `appliesToPath` and `appliesToLanguage` (and `appliesToPageType` when the page declares one). The list then holds the switched-on questions that match the page's targeting and have text in that language, in display order, at most three as on the storefront. A page that declares no type is offered the questions that target page types, as on the storefront. Filters combine with AND. `limit` is 1 to 100 (50 by default), and a cursor is bound to the filters and the sort it was issued for.