---
title: "List sources"
method: GET
path: "/sources"
tags: ["Sources"]
---

# List sources

`GET /sources`

## Request

- Base URL: `https://api.screvi.com/api/v1`
- URL: `https://api.screvi.com/api/v1/sources`
- Auth: API key in header `X-API-Key`

Returns a paginated list of your sources (books, articles, tweets, etc.) along with the number of highlights in each.

## Query parameters

- `page` integer
- `per_page` integer
- `type` 'book' | 'article' | 'tweet' | 'podcast' | 'video' | 'self' | 'custom' | 'youtube' | 'author' | 'topics'
- `search` string
- `updated_since` string, date-time
- `include_deleted` boolean
- `include_empty` boolean
- `include_metadata` boolean

## Response `200`

A paginated list of sources

- object
  - `data` Source[]
    - `id` string, uuid
    - `name` string
    - `type` 'book' | 'article' | 'tweet' | 'self' | 'podcast' | 'video' | 'custom' | 'youtube' | 'pdf'
    - `author` string, nullable
    - `image_url` string, nullable
    - `url` string, nullable
    - `origin` string, nullable
    - `note` string, nullable: Note written on the source itself, distinct from notes on its highlights
    - `tags` Tag[]: Tags on the source itself. Populated for articles; always empty for books and other import sources, which cannot be tagged yet.
      - `id` string, uuid
      - `name` string
      - `color` string, nullable
    - `highlight_count` integer
    - `created_at` string, date-time
    - `metadata` object: Free-form JSON stored with the source. Only returned when `include_metadata=true`.
  - `pagination` Pagination
    - `page` integer
    - `per_page` integer
    - `total` integer
    - `total_pages` integer
    - `has_more` boolean

## Other responses

- `401`: Missing or invalid API key

---

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