Visibility Per-prompt visibility scores by model and day
The visibility API returns per-prompt, per-model, per-day records showing how visible your brand is across AI search platforms. One row per active prompt × model × UTC day.
Returns visibility records for paid properties in the API key's scope. Ordered by date, newest first. Default range: the last 30 UTC days.
Header Value Required AuthorizationBearer hdg_sk_live_...Yes
Parameter Type Description propertyIdstring Return records for one property only. promptIdstring Return records for one prompt only. modelstring Return records for one AI platform only (e.g. chatgpt). fromstring Range start, UTC day (yyyy-MM-dd). Inclusive. tostring Range end, UTC day (yyyy-MM-dd). Inclusive. limitinteger Maximum results per page. Default: 100, max: 1000. offsetinteger Rows to skip. Default: 0.
curl "https://api.useheading.com/v1/visibility?from=2026-07-01&to=2026-07-21&model=chatgpt" \
-H "Authorization: Bearer hdg_sk_live_abc123..."
{
"data" : [
{
"date" : "2026-07-21" ,
"model" : "chatgpt" ,
"promptId" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
"visibilityPct" : 66.7 ,
"mentionCount" : 2 ,
"citationCount" : 1 ,
"avgPosition" : 1.5 ,
"avgSentiment" : 0.42 ,
"property" : {
"id" : "f1e2d3c4-b5a6-7890-abcd-ef1234567890" ,
"name" : "Acme Corp"
}
}
],
"total" : 1
}
Field Type Description datestring UTC day (yyyy-MM-dd) modelstring AI platform identifier promptIdstring Prompt UUID. Matches id on /v1/prompts. visibilityPctnumber Share of the day's responses mentioning the brand (0-100) mentionCountnumber Responses mentioning the brand citationCountnumber Times the property's own domain was cited avgPositionnumber or null Average rank among brands in the answer (1 = first) avgSentimentnumber or null Average mention sentiment propertyobject The property these records belong to property.idstring Property UUID property.namestring Property display name
Status Code When 400INVALID_PARAMInvalid query parameter 401MISSING_AUTHNo Authorization header 401INVALID_AUTHHeader is not Bearer {key} 401INVALID_KEYInvalid or revoked API key 429RATE_LIMIT_EXCEEDEDRate limit exceeded (100 req/min) 500INTERNAL_ERRORServer error