AI
Pages crawled
Which of your pages the AI crawlers fetched, and what they came for.
curl --request GET \
--url 'https://truestat.io/api/v1/sites/{siteId}/ai/pages' \
--header 'Authorization: Bearer <token>'{
"data": [
{
"path": "/",
"views": 703,
"purpose": "ai_training"
},
{
"path": "/pricing",
"views": 88,
"purpose": "search"
}
],
"meta": {
"page": {
"limit": 100,
"offset": 0,
"has_more": true
},
"range": {
"to": "2026-09-16T13:40:00.000Z",
"tz": "UTC",
"from": "2026-09-09T13:40:00.000Z",
"clamped": false
},
"site_id": "6fed8980-a119-4a9c-a4d4-53e448ef9f9e"
}
}A ranked list of the pages crawlers actually fetched.
Fetched is not the same as cited
This endpoint and referrals look similar and count opposite things:
Pages crawled
A machine fetched this page. Nobody read it. It may be used to answer a question later, or to train a model, or neither.
Referrals
A person landed on this page after clicking a link in an assistant's answer. Your page was recommended and somebody acted on it.
The interesting reading is the gap. A page crawled heavily and never referred is being consumed rather than recommended — read into a model, not handed to a reader. A page with few fetches and steady referrals is the opposite: it gets cited, and citations bring people.
Neither is automatically good or bad. But they are different things, and a tool that adds them together tells you nothing about either.
purpose travels with the page
Each row carries the purpose of the fetch, so the same path appears more than
once when it was fetched for more than one reason. /pricing under search
and /pricing under ai_training are two rows, and it usually matters which
one grew.
Paging
The default page is 100 rows, ordered by fetches. limit and offset work
as they do everywhere else, and meta.page.has_more tells you whether there
is another page — it is measured, not guessed from a row count.
Crawler traffic is always counted here, whatever bots says. See
crawlers.
Authorizations
AuthorizationstringheaderrequiredAn API key from Settings → API keys. Scopes available: analytics:read, sites:read, sites:write, settings:read, settings:write, goals:read, goals:write, funnels:read, funnels:write, notes:read, notes:write, alerts:read, alerts:write, team:read, team:write, revenue:read, revenue:write.
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path parameters
siteIdstring (uuid)pathrequiredQuery parameters
periodenum<string>querytodayyesterdaylast24hlast7dlast30dlast12mmonthyearallfromstring (date-time)querytostring (date-time)querytzstringquerydefault: UTCbotsenum<string>querydefault: excludedexcludedincludedlimitintegerquerydefault: 100offsetintegerquerydefault: 0filter_pathstringqueryfilter_path_patternstringqueryfilter_hostnamestringqueryfilter_entry_pathstringqueryfilter_exit_linkstringqueryfilter_file_downloadstringqueryfilter_goalstringqueryfilter_browserstringqueryfilter_osstringqueryfilter_devicestringqueryfilter_countrystringqueryfilter_regionstringqueryfilter_citystringqueryfilter_referrerstringqueryfilter_channelstringqueryfilter_utm_sourcestringqueryfilter_utm_mediumstringqueryfilter_utm_campaignstringqueryfilter_gad_campaign_idstringqueryfilter_utm_termstringqueryfilter_bot_kindstringqueryResponse
The answer.
dataunknownmetaobjecterrorobjecterrorobjecterrorobjecterrorobject