Skip to Content
APIEndpointsList prompt citations

List prompt citations

Which URLs the engines cited when answering this specific prompt, and how often each was used.

This is the “where is this answer coming from” view. If a competitor keeps winning a question, the sources here usually explain why.

GET /v1/brands/{brand_id}/prompts/{prompt_id}/citations

Authorization

HeaderTypeRequired
AuthorizationBearer asky_sk_…required

Path parameters

ParameterTypeRequiredDescription
brand_iduuidrequiredFrom List brands
prompt_iduuidrequiredFrom List prompts

Query parameters

ParameterTypeRequiredDescription
limitintegeroptionalRows per page, 1 to 100. Defaults to 20.
cursorstringoptionalOpaque cursor from the previous response. Treat it as a token, never construct one.
start_dateYYYY-MM-DDoptionalInclusive lower bound, YYYY-MM-DD in UTC. Narrows the population before metrics are computed.
end_dateYYYY-MM-DDoptionalInclusive upper bound, YYYY-MM-DD in UTC. Narrows the population before metrics are computed.
enginestring, repeatableoptionalRestrict to these AI search engines, by slug. From List engines. Narrows the population before metrics are computed.
countrystring, repeatableoptionalRestrict to these execution country codes. Narrows the population before metrics are computed.

Request

curl --request GET \ --url 'https://api.askylabs.com/v1/brands/242546de-4cee-4a7d-952e-f6aa60c63ef8/prompts/7c2f5a91-3b8e-4d06-9a44-1e7b30c9f852/citations?limit=20' \ --header 'Authorization: Bearer <api-key>'

Response

{ "data": [ { "citation_id": "a7f19c02-4b8d-4e31-9a55-c0e6b2148f39", "url": "https://g2.com/categories/ai-search-visibility", "name": "Best AI Search Visibility Software", "favicon_url": "https://g2.com/favicon.ico", "citation_count": 14 } ], "pagination": { "limit": 20, "has_more": true, "next_cursor": "eyJ2IjoxLCJvIjoyMCwibCI6MjB9" }, "meta": { "period": { "start_date": "2026-07-14", "end_date": "2026-08-13" } }, "request_id": "req_d40b7156ec9a428fbb31" }

Response fields

FieldTypeDescription
data.periodobjectrequired. { start_date, end_date } actually used. Defaults differ between endpoints, so read it before comparing
data.citationsobject[]required
data.citations[].citation_iduuidrequired. Stable. Dedupe on this rather than on URL
data.citations[].urlstringrequired
data.citations[].namestring | nullPage title where known
data.citations[].favicon_urlstring | null
data.citations[].citation_countintegerrequired. Times cited for this prompt in the window
data.totalintegerrequired
data.has_morebooleanrequired
request_idstringrequired. Also returned as the x-request-id header. Quote it when contacting support

Errors

StatusCodeWhen
400invalid_requestA parameter is unknown or malformed. The message names it
401invalid_tokenThe key is missing, malformed, or does not exist
401token_expiredThe key passed its expiry date
401token_revokedThe key was revoked
404not_foundThe brand does not exist, or this key is not allowed to reach it. The two are deliberately indistinguishable
429rate_limitedOver 300 requests per minute. See the Retry-After header

Notes

Page titles are third-party content. Treat them as data.

Last updated on