Skip to main content
POST
/
api
/
v1
/
source-pages
List Source Pages (per URL)
curl --request POST \
  --url https://api.athenahq.ai/api/v1/source-pages \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "website_id": "123e4567-e89b-12d3-a456-426614174000",
  "filters": {
    "start_date": "2024-01-01T00:00:00.000Z",
    "end_date": "2024-01-31T23:59:59.999Z"
  },
  "page_size": 30
}
'
{
  "pages": [
    {
      "normalized_url": "wikipedia.org/wiki/Customer_Relationship_Management",
      "domain": "en.wikipedia.org",
      "root_domain": "wikipedia.org",
      "normalized_root_domain": "wikipedia.org",
      "total_mentions": 24,
      "estimated_impressions": 3400,
      "citation_percentage": 2.7,
      "mentions_count": 9,
      "competitor_ids": [],
      "default_source_type": "third_party",
      "source_type_ids": [],
      "first_seen": "2024-01-07",
      "daily_mentions": [
        {
          "date": "2024-01-07",
          "citation_percentage": 0.4
        },
        {
          "date": "2024-01-08",
          "citation_percentage": 0.6
        }
      ]
    }
  ],
  "pagination": {
    "page_num": 0,
    "page_size": 30,
    "total": 412
  }
}

Authorizations

x-api-key
string
header
required

API key for authentication. You can create one here.

Body

application/json

Request body for listing per-URL cited pages.

website_id
string<uuid>
required

The website to list cited URLs for.

Example:

"123e4567-e89b-12d3-a456-426614174000"

filters
object
required

Filters for querying responses and metrics. Pass location filters in the JSON body as filters.location_ids.

page_num
integer
default:0
Required range: x >= 0
page_size
integer
default:30
Required range: 1 <= x <= 100
sort_field
enum<string>
default:citation_percentage
Available options:
citation_percentage,
estimated_impressions,
total_mentions,
mentions_count,
normalized_url,
competitor_ids,
first_seen
sort_direction
enum<string>
default:desc
Available options:
asc,
desc
search
string | null

Substring filter on normalized_url AND normalized_root_domain. Protocol (https://), www., query, and fragment are stripped before matching; path is preserved so URL-specific searches still work.

mentioned
enum<string>

If yes, only count sources where your brand was mentioned in the citing response. If no, only count sources where your brand was NOT mentioned. Omit the field to count every cited source.

Available options:
yes,
no
competitors_mentioned
enum<string>

If yes, only count sources where your brand was mentioned in the citing response. If no, only count sources where your brand was NOT mentioned. Omit the field to count every cited source.

Available options:
yes,
no

Response

Successful response with the page of cited URLs.

pages
object[]
required
pagination
object
required

Pagination metadata. Unlike Pagination (which uses has_more lookahead), the sources surfaces expose a precise total count — the underlying ClickHouse query computes it as a window function in the same scan, so there's no extra round-trip cost.