CoreCited
API docs menu

Get cited sources

The domains AI answers cite, and which of them feed your competitors instead of you.

GET/api/v1/brands/{brandId}/sources

The top 20 domains cited in the brand's answers over the last 14 days, sorted by gap: how many more competitor mentions than yours appeared in the answers that cited them.

A high gap is a lead. It points to a page that AI engines trust and that talks about your rivals, which makes it the place to get mentioned. Only web-grounded engines (Perplexity and Google's AI surfaces) return citations; ChatGPT, Claude and Gemini name brands without links.

Parameters

NameInTypeDescription
brandIdpathstring (UUID)A brand id from GET /api/v1/brands.

Request

curl https://corecited.com/api/v1/brands/7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14/sources \
  -H "Authorization: Bearer $CORECITED_API_KEY"

Response

200 OK with the fields below inside data. Numbers are JSON numbers, dates are strings, and a field listed as null-able is always present, holding null when there is no value.

FieldTypeDescription
brandobjectThe brand this response is about.
brand.idstringThe brand's id. Use it in every /brands/{brandId}/… path.
brand.namestringThe brand name as configured in CoreCited.
brand.domainstringThe brand's website exactly as entered during setup. This is often a full URL such as https://www.example.com/, not a bare host.
sourcesobject[]The top 20 cited domains, biggest gap first, then most cited. Only web-grounded engines return citations.
sources[].domainstringThe cited host, without www.
sources[].countnumberCitations of this domain in successful runs over the last 14 days.
sources[].sourceTypestringThe most common classification of this domain's citations: ugc, forum, corporate, listicle, review, news, docs or other.
sources[].competitorMentionsnumberCompetitor mentions in the answers that cited this domain. Each answer counts once per domain.
sources[].brandMentionsnumberYour brand's mentions in the answers that cited this domain. Each answer counts once per domain.
sources[].gapnumbercompetitorMentions − brandMentions. A high gap marks a source that feeds your rivals and not you.
sources[].isOwnDomainbooleanTrue when the cited domain is your brand's own site.

Example

200 OK
{
  "data": {
    "brand": {
      "id": "7d1c2b9e-4a3f-4e61-9b2a-0c5d8e7f6a14",
      "name": "Acme Resume",
      "domain": "https://www.acmeresume.com/"
    },
    "sources": [
      {
        "domain": "reddit.com",
        "count": 18,
        "sourceType": "forum",
        "competitorMentions": 27,
        "brandMentions": 2,
        "gap": 25,
        "isOwnDomain": false
      },
      {
        "domain": "acmeresume.com",
        "count": 6,
        "sourceType": "corporate",
        "competitorMentions": 3,
        "brandMentions": 6,
        "gap": -3,
        "isOwnDomain": true
      }
    ]
  }
}

Errors

StatusCodeWhen
401missing_keyNo key was sent in Authorization or x-api-key.
401invalid_keyThe key is malformed, unknown, or has been revoked.
402plan_requiredThe workspace is not on a plan that includes API access. This is checked on every request, so it also happens after a downgrade.
404not_foundThe brand id is not a UUID, does not exist, or belongs to another workspace. These cases are deliberately indistinguishable.
429rate_limitedThe workspace used up its requests for the current minute. All keys share one limit.
500internalSomething failed on our side. The response carries no detail by design.

Every error has the same body. See Errors for what to do about each one.