AI
Referrals
People who arrived from an assistant's answer, and the page they landed on.
curl --request GET \
--url 'https://truestat.io/api/v1/sites/{siteId}/ai/referrals' \
--header 'Authorization: Bearer <token>'{
"data": [
{
"path": "/tools/instagram-handle-checker",
"views": 4,
"source": "chatgpt.com",
"visitors": 2
}
],
"meta": {
"page": {
"limit": 100,
"offset": 0,
"has_more": false
},
"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"
}
}The people who came to your site from ChatGPT, Perplexity and their neighbours — and the page each one landed on.
The one endpoint here that counts people
Everything else under /ai/ counts machines. This counts visitors, and they
are ordinary visitors: they appear in your
overview totals, in /breakdowns/path,
and in your goals if they convert. Nothing here is a separate universe of
traffic.
What this endpoint adds is the pairing. source is the assistant that sent
them and path is where they landed, so a row says this assistant pointed
somebody at this page and they went.
That is as close to a citation report as the web allows. Assistants do not publish who they cite. A referral is the visible half: somebody saw your page named in an answer and clicked.
Reading the numbers honestly
Referral counts from assistants are small, and they are small for structural reasons rather than because something is broken:
An answer often satisfies the question. The reader never needs the source.
Some assistants strip the referrer, so the visit arrives unattributed and lands under direct traffic instead.
Citation is not guaranteed even when your page was used.
So treat this as a floor, not a total. It undercounts, and the honest version of that statement is worth more than a bigger number arrived at by guessing.
The trend is usually the useful part: which pages start getting cited after you rewrite them, and which assistants send people at all.
Compare it with what was crawled
Put this next to pages crawled. Heavy crawling with no referrals means your pages are being read into models rather than recommended to readers; referrals from a page nothing crawls recently means an older fetch is still being cited.
visitors counts distinct people and views counts their page views, so
views is the larger number when somebody reads more than one page.
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