---
title: "Get a source"
method: GET
path: "/sources/{id}"
tags: ["Sources"]
---

# Get a source

`GET /sources/{id}`

## Request

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

Returns a single source by ID, including its highlights.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `page` integer
- `per_page` integer
- `include_metadata` boolean

## Response `200`

The requested source with its highlights

- object
  - `data` object
    - `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`.
    - `highlights` Highlight[]
      - `id` string, uuid
      - `content` string: The highlight text
      - `note` string, nullable: User note attached to the highlight
      - `favorite` boolean
      - `url` string, nullable
      - `location` number, nullable: Position in the source (Kindle location, page, or offset)
      - `date` string, date-time, nullable
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `tags` Tag[]
        - `id` string, uuid
        - `name` string
        - `color` string, nullable
      - `source` HighlightSource
        - `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
      - `metadata` object: Free-form JSON stored with the highlight. 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
- `404`: Source not found

---

[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)
