Track which websites AI platforms cite when answering questions about your industry. Identify opportunities to get your content cited, and monitor which sources influence AI responses in your space.
See Entities for the complete Source object structure.
List Sources
Bearer token. Example: Bearer qw-api-xxx
GET /api/v1/brands/{brandId}/sources
Path Parameters
The unique identifier of the brand
Query Parameters
Number of days to include
Start date (ISO 8601 format)
End date (ISO 8601 format)
Filter by source type: INSTITUTIONAL, COMMERCIAL, MEDIA, BLOG, etc.
Maximum number of sources to return (max: 100)
Number of results to skip for pagination
Field to sort by: mentions, position, rate, domain
Response
Indicates if the request was successful
Total number of sources matching filters
Number of sources in this response
Whether this is your own domain
Average position in source lists
Example Request
curl -X GET "https://qwairy.co/api/v1/brands/cm1234567890abcdef/sources?limit=10&offset=0" \
-H "Authorization: Bearer qw-api-your-token-here"
Example Response
{
"success" : true ,
"pagination" : {
"total" : 45 ,
"count" : 2 ,
"limit" : 10 ,
"offset" : 0
},
"sources" : [
{
"id" : "src1" ,
"domain" : "industry-news.com" ,
"type" : "MEDIA" ,
"isSelf" : false ,
"totalMentions" : 102 ,
"rate" : 5.10 ,
"avgPosition" : 3.2
},
{
"id" : "src2" ,
"domain" : "mybrand.com" ,
"type" : "INSTITUTIONAL" ,
"isSelf" : true ,
"totalMentions" : 45 ,
"rate" : 2.25 ,
"avgPosition" : 2.1
}
]
}
Get Source Details
GET /api/v1/brands/{brandId}/sources/{sourceId}
Path Parameters
The unique identifier of the brand
The unique identifier of the source
Query Parameters
Number of days to include
Start date (ISO 8601 format)
End date (ISO 8601 format)
Response
Returns detailed source information with breakdowns by provider and topic.
Example Response
{
"success" : true ,
"source" : {
"id" : "src1" ,
"domain" : "industry-news.com" ,
"type" : "MEDIA" ,
"status" : "ACTIVE" ,
"isSelf" : false ,
"totalMentions" : 102 ,
"rate" : 5.10 ,
"avgPosition" : 3.2 ,
"byProvider" : [
{ "provider" : "ChatGPT" , "mentions" : 60 , "avgPosition" : 3.1 },
{ "provider" : "Perplexity" , "mentions" : 42 , "avgPosition" : 3.4 }
],
"byTopic" : [
{ "topic" : "Product Reviews" , "mentions" : 55 , "avgPosition" : 2.8 },
{ "topic" : "Comparisons" , "mentions" : 30 , "avgPosition" : 3.5 }
]
}
}
Get Source Evolution
Track how a source’s citation metrics change over time.
GET /api/v1/brands/{brandId}/sources/{sourceId}/evolution
Path Parameters
The unique identifier of the brand
The unique identifier of the source
Query Parameters
Number of days to include
Start date (ISO 8601 format)
End date (ISO 8601 format)
Example Request
curl -X GET "https://qwairy.co/api/v1/brands/cm1234567890abcdef/sources/src1/evolution?period=7" \
-H "Authorization: Bearer qw-api-your-token-here"
Example Response
{
"success" : true ,
"source" : {
"id" : "src1" ,
"domain" : "industry-news.com" ,
"isSelf" : false
},
"evolution" : [
{
"date" : "2024-12-01" ,
"mentions" : 5 ,
"avgPosition" : 3.1
},
{
"date" : "2024-12-02" ,
"mentions" : 8 ,
"avgPosition" : 2.9
}
]
}
Error Responses
Status Code Description 401 INVALID_TOKENAuthentication failed 404 BRAND_NOT_FOUNDBrand doesn’t exist or not accessible 404 SOURCE_NOT_FOUNDSource doesn’t exist