---
title: "List the Atlas of sources"
method: GET
path: "/sources"
tags: ["Atlas"]
---

# List the Atlas of sources

`GET /sources`

## Request

- Base URL: `https://api.epovest.com/v1`
- URL: `https://api.epovest.com/v1/sources`
- Auth: HTTP bearer

The map of the sources the AIs cite when they answer your trackers. Every entry is a
registrable domain, so `fr.wikipedia.org` and `en.wikipedia.org` are one and the same source.
The Atlas you read lists the sources your own surveys surfaced, and it grows as you measure
more; the AI Authority scale stays computed across every measurement Epovest runs, which is
what makes a 61 mean the same thing on your Atlas as on anyone else's.

## Query parameters

- `domain` string
- `engine` 'chatgpt' | 'claude' | 'gemini' | 'perplexity' | 'mistral' | 'grok': The AI assistants the questions are asked to.
- `sort` 'detections' | 'engines' | 'freshness' | 'domain' | 'aa_chatgpt' | 'aa_claude' | 'aa_gemini' | 'aa_perplexity' | 'aa_mistral' | 'aa_grok'
- `dir` 'asc' | 'desc'
- `project_id` string
- `page` integer
- `per_page` integer

## Response `200`

One page of the Atlas.

- object
  - `sources` Source[], required
    - `id` string, uuid, required
    - `domain` string, required: The registrable domain, so a hosting platform counts as one source rather than one per author.
    - `engines` EngineAuthority[], required: Which engines cite this source, and what it weighs on each.
      - `engine` 'chatgpt' | 'claude' | 'gemini' | 'perplexity' | 'mistral' | 'grok', required: The AI assistants the questions are asked to.
      - `aa` integer, required
    - `last_detected_on` string, date, required
  - `pagination` Pagination, required
    - `page` integer, required
    - `per_page` integer, required
    - `total` integer, required
    - `pages` integer, required

## Other responses

- `401`: `unauthenticated`: missing, unknown or revoked key.
- `403`: `insufficient_scope`: the credential may not do this, either because the key lacks the scope, or, on a one-click connection, because the person lacks the role the action needs (manager, or owner to start, pause and top up). On that path, read it as "this person may not do this" and tell them which role the action needs.
- `404`: `not_found`: unknown for this account.
- `422`: `invalid_engine`, `invalid_sort`, `invalid_direction` or `invalid_project`.
- `429`: `rate_limited`: 120 requests per minute per credential, sliding window. Retry after `Retry-After` seconds.

---

[API](https://skmtc.dev/epovest/apis/epovest-api.md) · [All operations](https://skmtc.dev/epovest/apis/epovest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/epovest/apis/epovest-api/revisions/7a78ee27ecbb?raw)
