List source URLs
Changed onRequest
- Base URLhttps://api.llmpulse.ai/api/v1
- URLhttps://api.llmpulse.ai/api/v1/dimensions/sources
- AuthAPI key in header Authorization
Query parameters
Project ID
Filter by one AI model. It must be a model enabled for the API key's user: an unknown value, or a model the user has not enabled, returns 422 ERR_INVALID_PARAM with the valid values in the message.
One collection/tag ID or a comma-separated list of IDs. A query value is always a string on the wire, so it is typed as one: the previous integer-or-string union made generators emit a wrapper type they could not serialize.
One ISO country code or a comma-separated list (e.g. US,GB,DE)
One ISO language code or a comma-separated list (e.g. en,es,de)
Filter by prompt ID
End of the window. A date-only value such as 2026-09-01 covers that whole day. Pass a full timestamp to end the window earlier.
Filter by source ownership. Owned and competitor matching honor the project's exact-subdomain setting. Any other value, including a differently cased one, returns ERR_INVALID_PARAM.
Filter by which brands are mentioned, as a two-axis matrix (your brand x competitors): mentions_you / not_mentions_you, mentions_competitor / not_mentions_competitor, and the four combined cells you_and_competitor, competitor_not_you (a rival wins and you are absent), you_not_competitor, no_brands (no tracked brand appears, i.e. open space; on answers, finished answers only). Combine with 'competitors' to narrow the competitor side to specific rivals; on a negative cell that reads 'none of these'. On /dimensions/sources it applies to the crawled content of each cited page instead of the answer text. The legacy value 'competitors_only' is still accepted as an alias of competitor_not_you.
Comma-separated competitor IDs (unknown IDs return ERR_INVALID_PARAM)
Rectangular output for BI tools (Tableau, Excel, Sheets, ELT). Omit for the default nested JSON. 'flat' returns the same metadata plus 'columns' and 'rows'; 'csv' returns those rows as text/csv. Errors are always returned as JSON.
One prompt type or a comma-separated list: informational, navigational, commercial, transactional
Filter by brand kind: brand (own brand/products), brand_other (competitors/other brands), non_brand (generic, no brand named). For fair 1:1 brand-vs-competitor comparisons (visibility, share of voice), use non_brand: brand-focused prompts skew results toward the brand they name. The in-app Overview page applies non_brand by default.
Number of days to look back (alternative to from/to)
Response
Paginated sources
Changes
- info
added the new optional
queryrequest parameterbrand_kind - info
added the new optional
queryrequest parameterprompt_type - info
added the new optional
queryrequest parameterrange
- info
- info
added the non-success response with the status
- info