Savee Developers
API

Overview

Every endpoint in the Savee Public API v1, grouped by what it returns.

Base URL: https://api.savee.com/v1/

Every endpoint is a GET. All of them except /v1/ping and /v1/openapi.json need an Authorization: Bearer … header — either a personal access token (sv_live_…) or an OAuth access token (sv_at_…) obtained on a user's behalf.

EndpointReturnsScope
/v1/pingHealth check—
/v1/openapi.jsonThis API's OpenAPI 3.1 document—
/v1/meThe authenticated user and their planprofile:read
/v1/savesThe caller's saves, newest first (paginated)saves:read
/v1/saves/{saveID}One save, by id or short_idsaves:read
/v1/feedThe caller's home feed (paginated)saves:read
/v1/boardsEvery board the caller can see (not paginated)boards:read
/v1/boards/{boardID}One board, by id or short_idboards:read
/v1/boards/{boardID}/savesSaves on one board (paginated)boards:read + saves:read
/v1/searchSavee's public library (paginated)search:read

Scopes apply to OAuth tokens. A personal access token represents you rather than a third party, so it carries all of them.

Conventions

  • Paginated responses wrap results in { data, next_cursor, has_more }. See pagination.
  • Errors always look like { "error": { "code", "message" } }. See errors.
  • Image URLs are AVIF by default; send Avif-Fallback: 1 for JPG. See image formats.
  • Identifiers (id on saves, boards and users) are stable across renames — safe to store on your side.
  • Short ids. Saves and boards also carry a short_id, equally stable and accepted anywhere the id is. A save's short_id is the segment in its savee.com URL, so https://savee.com/i/997d6DW/ resolves with GET /v1/saves/997d6DW. The two forms are told apart by shape — an id is 24 hex characters, a short_id is 7 — so there's nothing to disambiguate.

On this page