GET /sites/sources

Returns citation domains from AI responses, showing which sources are most frequently cited.

Request

Endpoint

https://knowatoa.com/api/v2/sites/sources

Query Parameters

Parameter Type Required Description
site_id string Yes Site prefix ID (e.g., tpc_abc123) - must be a target site
api_key string Yes Your API authentication key
flat string No Set to "true" for flat JSON format
format string No Set to "csv" for CSV export
start_date string No Period start (YYYY-MM-DD). With end_date, returns period metrics instead of the latest refresh. See Period Comparison
end_date string No Period end (YYYY-MM-DD), inclusive
compare_start string No Comparison period start. Defaults to the equal-length period before start_date
compare_end string No Comparison period end, inclusive
group_by string No Set to "category" to return one flat JSON or CSV row per citation category instead of per domain. Nested JSON always includes both

Response

Nested JSON Format

{
  "site": {
    "id": "tpc_abc123",
    "name": "Example Site",
    "external_id": "example.com"
  },
  "refresh_date": "2025-01-15",
  "sources": [
    {
      "domain": "wikipedia.org",
      "count": 45,
      "percentage": 22.5,
      "category": "reference",
      "relationship": "third_party"
    },
    {
      "domain": "example.com",
      "count": 30,
      "percentage": 15.0,
      "category": null,
      "relationship": "you"
    }
  ],
  "categories": [
    {
      "category": "reference",
      "label": "Reference",
      "count": 45,
      "domains": 1,
      "percentage": 22.5
    },
    {
      "category": "you",
      "label": "You",
      "count": 30,
      "domains": 1,
      "percentage": 15.0
    }
  ]
}

Response Fields

Field Type Description
domain string Citation domain
count integer Number of times cited
percentage float Percentage of total citations
category string The domain’s category (for example news, review, social, government, education, real_estate, marketplace). null until the domain is classified
relationship string you (your site’s domain), competitor (a tracked competitor’s domain), or third_party. Domains are reported at the registrable level (shop.example.com is cited as example.com). A domain matches a site when it is the registrable domain of the site’s URL, or when its name equals one of the site’s brand words. Shared platforms where many businesses have pages (for example google.com, yelp.com, zillow.com, apartments.com, rentcafe.com) are always third_party, even for a site saved on a subdomain of one, because its citations can’t be told apart from other tenants’. A domain used by more than one tracked site is also third_party

Categories

categories rolls citations up by category across every cited domain. Your site’s and competitors’ domains are grouped as you and competitor first; other domains use their category, or other when unclassified. Each row has category, label, count (citations), domains (distinct cited domains), and percentage of all citations. With group_by=category, flat JSON and CSV return these rows (plus the site columns) instead of per-domain rows. In period CSV and flat rows, category and relationship come after the citation_count_* columns.

Period Comparison

Returns period, compare_to, metrics.citation_count (citations in completed AI responses to tracked questions, for the AI services on your plan), sources: every domain cited in either period with its category, relationship, and citation_count, sorted by the current count, and categories: per category, citation_count and domains (distinct cited domains), each with current, previous, change_points, and change_percent. A domain cited only in the comparison period shows current: 0.

Notes

  • Only available for target sites (not competitors)
  • Sources sorted by count (descending)
  • Percentages rounded to 1 decimal place
  • Returns 400 Bad Request if site is a competitor