SaltySoya Archive

API

The archive UI uses these local JSON endpoints.

List Videos

GET /api/videos?limit=24&cursor=&q=&source=twitch&dateFrom=2026-06-02&dateTo=2026-06-06

Returns paginated videos. Each item includes the video id, title, upload date, duration, and a four-hour presigned thumbnail URL.

  • limit: amount of videos to return, up to 48.
  • cursor: value from nextCursor to load the next page.
  • q: search text for title and description.
  • source: use youtube or twitch.
  • dateFrom and dateTo: upload date range in YYYY-MM-DD.

Get One Video

GET /api/videos/<id>

Returns one video with title, description, upload date, duration, a four-hour presigned video URL, and a four-hour presigned thumbnail URL.

  • Use videoUrl as the video player source.
  • Use thumbnailUrl as the poster image or thumbnail source.

Status

GET /api/status

Returns the current reachability state for the Node.js server, SQLite database, and Hetzner S3 bucket.