Get granular URL-level citation data. While the Sources endpoint shows domain-level aggregates, this endpoint provides page-by-page citation details.
List Source URLs
Bearer token. Example: Bearer qw-api-xxx
GET /api/v1/brands/{brandId}/source-urls
Path Parameters
The unique identifier of the brand
Query Parameters
Number of days to include. If not specified, returns all data.
Start date (ISO 8601 format)
End date (ISO 8601 format)
Filter by specific domain
Filter by self domains: true or false
Filter by competitor domains: true or false
Maximum number of URLs to return (max: 100)
Number of results to skip for pagination
Field to sort by: mentions, position, shareOfVoice, url
Response
Indicates if the request was successful
Total number of URLs matching filters
Number of URLs in this response
Full URL of the cited page
Page title (if available)
Whether this is your domain
Whether this is a direct competitor’s domain
Average position in source lists
Share of all citations (0-100)
Example Request
curl -X GET "https://www.qwairy.co/api/v1/brands/cm1234567890abcdef/source-urls?isSelf=true&limit=10" \
-H "Authorization: Bearer qw-api-your-token-here"
Example Response
{
"success": true,
"pagination": {
"total": 156,
"count": 2,
"limit": 10,
"offset": 0
},
"sourceUrls": [
{
"url": "https://mybrand.com/blog/best-practices",
"title": "Best Practices Guide - MyBrand",
"domain": "mybrand.com",
"isSelf": true,
"isCompetitor": false,
"totalMentions": 45,
"avgPosition": 2.1,
"shareOfVoice": 3.5
},
{
"url": "https://mybrand.com/features/comparison",
"title": "Feature Comparison - MyBrand",
"domain": "mybrand.com",
"isSelf": true,
"isCompetitor": false,
"totalMentions": 32,
"avgPosition": 3.4,
"shareOfVoice": 2.1
}
]
}
Error Responses
| Status | Code | Description |
|---|
| 401 | INVALID_TOKEN | Authentication failed |
| 404 | BRAND_NOT_FOUND | Brand doesn’t exist or not accessible |