Data access

API

Everything on this site is also available as JSON, RSS and image cards. Read-only, no key, no rate limit beyond good manners.

Base URL https://infovore.skyhong.tw

All endpoints are GET and return UTF-8 JSON unless noted. Times are ISO 8601 in UTC; "a day" means a Taipei (UTC+8) calendar day. Only public activities are exposed: raw health samples, private events and Dayflow screen text never leave the server. Responses are not cached by the server, but the data behind them refreshes hourly, so please do not poll faster than that. Content belongs to the original platforms; credit "Sky Hong · infovore" when you reuse it.

Activities

EndpointReturns
/api/activities.jsonA page of public activities, newest first, as { data, total, limit, offset }.
Query: q text match on title and metadata · source platform id · kind media kind · status · since/until ISO instants · limit (1–500, default 100) · offset
/feed.jsonThe latest 100 activities in the same shape.
Query: limit
/feed.xmlRSS 2.0 feed of the latest 100 activities.
/api/wrapped/<year>.jsonA year-in-review summary: totals by source and kind, most active titles, average rating.
Years 2000–2200

Time

EndpointReturns
/api/time-spent.jsonRecorded time per platform across seven windows (last24h, last28d, day, week, month, year, allTime) in seconds, each marked measured or estimated, plus daily: seconds per Taipei day for the last 28 days per source.

Platform mirrors

The last snapshot pulled from each connected platform, as { fetchedAt, data } where data carries profile, stats, entries and a platform-specific extra.

EndpointReturns
/api/backloggd.jsonBackloggd snapshot.
/api/kitsu.jsonKitsu snapshot.
/api/statsfm.jsonstats.fm snapshot.
/api/simkl.jsonSimkl snapshot.
/api/goodreads.jsonGoodreads snapshot.
/api/youtube.jsonYouTube snapshot.
/api/health.jsonHealth snapshot.
/api/dayflow.jsonDayflow snapshot.
/api/computai.jsonComputAI snapshot.

Cards

Rendered share cards, in .svg (vector), .png and .webp. Pass ?scale=2 for retina rasters where supported.

EndpointReturns
/card/now.svgnow card
/card/word-cloud.svgword-cloud card
/card/word-cloud-plain.svgword-cloud-plain card
/card/activity-rhythm.svgactivity-rhythm card
/card/dayflow.svgdayflow card
/card/dayflow-keywords.svgdayflow-keywords card
/card/dayflow-categories.svgdayflow-categories card
/card/backloggd.svgbackloggd card
/card/kitsu.svgkitsu card
/card/kitsu-anime.svgkitsu-anime card
/card/kitsu-manga.svgkitsu-manga card
/card/statsfm.svgstatsfm card
/card/statsfm-albums.svgstatsfm-albums card
/card/statsfm-artists.svgstatsfm-artists card
/card/simkl.svgsimkl card
/card/simkl-shows.svgsimkl-shows card
/card/simkl-movies.svgsimkl-movies card
/card/goodreads.svggoodreads card
/card/youtube.svgyoutube card
/card/youtube-channels.svgyoutube-channels card
/card/youtube-topics.svgyoutube-topics card
/card/ai-agents.svgai-agents card
/card/ai-agents-light.svgai-agents-light card
/card/health.svghealth card
/card/health-sleep.svghealth-sleep card
/card/health-sleep-stages.svghealth-sleep-stages card
/card/health-exercise.svghealth-exercise card
/card/health-steps.svghealth-steps card

Service

EndpointReturns
/statusCollector status: refresh schedule, database counts, last fetch and error per source, card list.
/healthzhealthy, degraded or unhealthy (HTTP 503) from source freshness.
/mcpModel Context Protocol endpoint (POST) exposing the archive as tools for AI agents.

Examples

# Everything with "Daft Punk" in it, last 90 days
curl -s 'https://infovore.skyhong.tw/api/activities.json?q=Daft%20Punk&since=2026-07-06T00:00:00Z' | jq '.data[] | {title, source, occurredAt}'

# Hours per platform this month
curl -s 'https://infovore.skyhong.tw/api/time-spent.json' | jq '.sources[] | {source, hours: (.windows.month / 3600 | floor)}'

# Embed a card
<img src="https://infovore.skyhong.tw/card/now.webp" width="520" alt="What Sky Hong is up to">