Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rewind.rest/llms.txt

Use this file to discover all available pages before exploring further.

Check the API is up

No authentication required for the health endpoint:
curl https://api.rewind.rest/v1/health
{
  "status": "ok",
  "timestamp": "2026-03-18T21:00:00.000Z"
}

Authenticate

All other endpoints require a Bearer token in the Authorization header. There are two key types:
  • Read keys (rw_live_...) — access all GET endpoints
  • Admin keys (rw_admin_...) — access all endpoints including sync triggers
curl -H "Authorization: Bearer rw_live_..." \
  https://api.rewind.rest/v1/listening/recent

Fetch recent scrobbles

curl -H "Authorization: Bearer rw_live_..." \
  https://api.rewind.rest/v1/listening/recent?limit=5
{
  "data": [
    {
      "track": { "id": 4296, "name": "Cherry" },
      "artist": { "id": 551, "name": "Ratatat" },
      "album": { "id": 1566, "name": "Ratatat", "image": { "url": "..." } },
      "scrobbled_at": "2026-03-18T01:14:04.000Z"
    }
  ]
}

Fetch running stats

curl -H "Authorization: Bearer rw_live_..." \
  https://api.rewind.rest/v1/running/stats
{
  "data": {
    "total_runs": 1350,
    "total_distance_mi": 6069.88,
    "total_elevation_ft": 238690.03,
    "total_duration": "828:56:08",
    "avg_pace": "8:12/mi",
    "years_active": 17
  }
}

Pagination

List endpoints return paginated responses. Use page and limit query parameters:
curl -H "Authorization: Bearer rw_live_..." \
  "https://api.rewind.rest/v1/watching/movies?page=2&limit=10"
{
  "data": [...],
  "pagination": {
    "page": 2,
    "limit": 10,
    "total": 694,
    "total_pages": 70
  }
}
The activity feed uses cursor-based pagination instead — see the Feed API reference for details.

Date filtering

Most list and stats endpoints accept optional date filters:
ParameterFormatDescription
dateYYYY-MM-DDFilter to a specific date
fromISO 8601Filter from this date (inclusive)
toISO 8601Filter to this date (inclusive)
curl -H "Authorization: Bearer rw_live_..." \
  "https://api.rewind.rest/v1/listening/recent?from=2026-01-01&to=2026-03-31"

OpenAPI spec

Every endpoint is published as a machine-readable OpenAPI 3.1 document — use it to generate clients, drive agent tools, or import into Postman.

Errors

All errors follow the same envelope:
{
  "error": "Not found",
  "status": 404
}
Common status codes: 400 (bad request), 401 (unauthorized), 404 (not found), 500 (server error).

Next steps

Explore the domain-specific guides to understand what data is available: