Savee Developers

Saves

GET
/v1/saves

List the authenticated user's saves

Newest first. Includes the caller's private saves, with one exception: if the caller has enabled Hide private board saves from profile feed in their Savee settings, saves that belong to a private board are left out here too. The user field on each save is omitted because the caller is implicitly the owner.

Authorization

Authorization
Required
Bearer <token>

Personal access token (sv_live_…) — represents you and carries every scope, so no scope is required for this call. Best for your own scripts and internal tools. Generate one at https://savee.com/developers/.

In: header


Authorization
Required
Bearer <token>

OAuth access token (sv_at_…) — obtained on one of your users’ behalf and limited to the scopes they approved. Use this when you’re building a product other people sign into with Savee. See https://docs.savee.com/api/oauth.

Missing the scope below returns 403 with a WWW-Authenticate: Bearer error="insufficient_scope" header naming it.

In: header

Scope: saves:read

Query Parameters

limitinteger

Page size (default 30, max 100).

Example: 30Minimum: 1Maximum: 100

cursorstring

Opaque cursor returned in next_cursor from the previous page. Pass it through verbatim — the encoding is an implementation detail and may change.

Example: "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"
Status codeDescription
200A page of saves.
400Invalid input.
401Missing or invalid Bearer token.
402Authenticated but the user has no active subscription.
403The Public API is not available on this account.
429Rate limit exceeded. Retry after the number of seconds in Retry-After.
500Unexpected server error.
curl -X GET "https://api.savee.com/v1/saves?limit=30&cursor=eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"

{
  "data": [
    {
      "id": "67aada20d242ec0009400825",
      "url": "https://savee.com/i/UXb_bvc/",
      "name": "Brutalist poster",
      "source_url": "https://example.com/poster",
      "created_at": "2026-05-08T12:00:00.000Z",
      "is_private": false,
      "total_saves": 42,
      "media": {
        "type": "image",
        "width": 1600,
        "height": 2400,
        "thumbnail": "https://dm.savee.com/asset_image/w420/6r4nDqE.avif",
        "original": "https://dm.savee.com/asset_image/original/6r4nDqE.avif"
      },
      "colors": [
        {
          "color": "#1A1A1A",
          "amount": 0.62
        }
      ],
      "user": {
        "id": "63e1a4c2d242ec00094007f1",
        "username": "aliceb",
        "name": "Alice Bauer",
        "url": "https://savee.com/aliceb/",
        "avatar_url": "https://dm.savee.com/user-avatar/original/8kQ2mZp.jpg"
      }
    }
  ],
  "next_cursor": "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ",
  "has_more": true
}

GET
/v1/feed

List the authenticated user’s home feed

Saves from users this user follows (and platform-curated content), newest first. Each save includes a user object describing the saver.

Authorization

Authorization
Required
Bearer <token>

Personal access token (sv_live_…) — represents you and carries every scope, so no scope is required for this call. Best for your own scripts and internal tools. Generate one at https://savee.com/developers/.

In: header


Authorization
Required
Bearer <token>

OAuth access token (sv_at_…) — obtained on one of your users’ behalf and limited to the scopes they approved. Use this when you’re building a product other people sign into with Savee. See https://docs.savee.com/api/oauth.

Missing the scope below returns 403 with a WWW-Authenticate: Bearer error="insufficient_scope" header naming it.

In: header

Scope: saves:read

Query Parameters

limitinteger

Page size (default 30, max 100).

Example: 30Minimum: 1Maximum: 100

cursorstring

Opaque cursor returned in next_cursor from the previous page. Pass it through verbatim — the encoding is an implementation detail and may change.

Example: "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"
Status codeDescription
200A page of feed saves.
400Invalid input.
401Missing or invalid Bearer token.
402Authenticated but the user has no active subscription.
403The Public API is not available on this account.
429Rate limit exceeded. Retry after the number of seconds in Retry-After.
500Unexpected server error.
curl -X GET "https://api.savee.com/v1/feed?limit=30&cursor=eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"

{
  "data": [
    {
      "id": "67aada20d242ec0009400825",
      "url": "https://savee.com/i/UXb_bvc/",
      "name": "Brutalist poster",
      "source_url": "https://example.com/poster",
      "created_at": "2026-05-08T12:00:00.000Z",
      "is_private": false,
      "total_saves": 42,
      "media": {
        "type": "image",
        "width": 1600,
        "height": 2400,
        "thumbnail": "https://dm.savee.com/asset_image/w420/6r4nDqE.avif",
        "original": "https://dm.savee.com/asset_image/original/6r4nDqE.avif"
      },
      "colors": [
        {
          "color": "#1A1A1A",
          "amount": 0.62
        }
      ],
      "user": {
        "id": "63e1a4c2d242ec00094007f1",
        "username": "aliceb",
        "name": "Alice Bauer",
        "url": "https://savee.com/aliceb/",
        "avatar_url": "https://dm.savee.com/user-avatar/original/8kQ2mZp.jpg"
      }
    }
  ],
  "next_cursor": "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ",
  "has_more": true
}

GET
/v1/boards/{boardID}/saves

List saves on a specific board

boardID is the board id returned by /v1/boards. Accessible by any user with a role on the board (owner, admin, editor, viewer) and by team members for team-owned boards. Returns 404 when the board does not exist or the caller has no role on it — the API does not confirm whether someone else’s board exists.

Authorization

Authorization
Required
Bearer <token>

Personal access token (sv_live_…) — represents you and carries every scope, so no scope is required for this call. Best for your own scripts and internal tools. Generate one at https://savee.com/developers/.

In: header


Authorization
Required
Bearer <token>

OAuth access token (sv_at_…) — obtained on one of your users’ behalf and limited to the scopes they approved. Use this when you’re building a product other people sign into with Savee. See https://docs.savee.com/api/oauth.

Missing the scope below returns 403 with a WWW-Authenticate: Bearer error="insufficient_scope" header naming it.

In: header

Scope: boards:read, saves:read

Path Parameters

boardID
Required
string

The board id (the id returned by /v1/boards).

Query Parameters

limitinteger

Page size (default 30, max 100).

Example: 30Minimum: 1Maximum: 100

cursorstring

Opaque cursor returned in next_cursor from the previous page. Pass it through verbatim — the encoding is an implementation detail and may change.

Example: "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"
Status codeDescription
200A page of saves on the board.
400Invalid input.
401Missing or invalid Bearer token.
402Authenticated but the user has no active subscription.
403The Public API is not available on this account.
404Board not found or not accessible to the caller.
429Rate limit exceeded. Retry after the number of seconds in Retry-After.
500Unexpected server error.
curl -X GET "https://api.savee.com/v1/boards/string/saves?limit=30&cursor=eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ"

{
  "data": [
    {
      "id": "67aada20d242ec0009400825",
      "url": "https://savee.com/i/UXb_bvc/",
      "name": "Brutalist poster",
      "source_url": "https://example.com/poster",
      "created_at": "2026-05-08T12:00:00.000Z",
      "is_private": false,
      "total_saves": 42,
      "media": {
        "type": "image",
        "width": 1600,
        "height": 2400,
        "thumbnail": "https://dm.savee.com/asset_image/w420/6r4nDqE.avif",
        "original": "https://dm.savee.com/asset_image/original/6r4nDqE.avif"
      },
      "colors": [
        {
          "color": "#1A1A1A",
          "amount": 0.62
        }
      ],
      "user": {
        "id": "63e1a4c2d242ec00094007f1",
        "username": "aliceb",
        "name": "Alice Bauer",
        "url": "https://savee.com/aliceb/",
        "avatar_url": "https://dm.savee.com/user-avatar/original/8kQ2mZp.jpg"
      }
    }
  ],
  "next_cursor": "eyJjIjoiMjAyNi0wNS0wOFQxMjowMDowMFoiLCJpIjoiNjdhYWRhMjAifQ",
  "has_more": true
}

On this page