https://neuro.appstun.net/api/v1/
Full docs of endpoint: schedule.md
GET /schedule
- Purpose: Weekly schedule for Neuro-sama streams
- Parameters:
week(required),year(optional) - Public: No (Auth required)
- Example:
/schedule?week=25&year=2024
GET /schedule/latest
- Purpose: Latest weekly schedule in database
- Parameters: None
- Public: Yes
GET /schedule/search
- Purpose: Search schedule messages with cursor-based pagination
- Parameters:
query(required),year(optional),limit(optional),sort(optional),type(optional),cursorYear+cursorWeek(optional pair) - Public: No (Auth required)
- Example:
/schedule/search?query=karaoke&limit=10&sort=desc
GET /schedule/devstreamtimes
- Purpose: Scheduled times for devstreams
- Parameters: None
- Public: Yes
GET /schedule/weeks
- Purpose: Available schedule week numbers grouped by year
- Parameters: None
- Public: Yes
Full docs of endpoint: twitch.md
GET /twitch/stream
- Purpose: Current stream information
- Parameters: None
- Public: Yes
GET /twitch/vods
- Purpose: All VODs
- Parameters: None
- Public: No (Auth required)
GET /twitch/vod
- Purpose: Latest or specific VOD
- Purpose: Specific VOD by stream ID
- Parameters:
streamId(required) - Public: No (Auth required)
- Example:
/twitch/vod?streamId=324052648700
Full docs of endpoint: subathon.md
GET /subathon/current
- Purpose: Current active subathon data with goals
- Parameters: None
- Public: Yes
GET /subathon/years
- Purpose: List all subathon years (or year-to-name map in detailed mode)
- Parameters:
detailed(optional, if present returns{ "year": "subathon name" }) - Public: Yes
- Example:
/subathon/years?detailed
GET /subathon
- Purpose: Subathon data for specific year
- Parameters:
year(required) - Public: No (Auth required)
- Example:
/subathon?year=2024
Full docs of endpoint: websocket.md
GET /api/ws/ticket
- Purpose: Generate one-time ticket for secure WebSocket authentication
- Parameters: None
- Public: No (Auth required)
WSS /api/ws
- Purpose: Receive real-time stream/schedule/subathon events
- Authentication: Required (ticket query param or Authorization header)
- Event Types:
scheduleUpdate,subathonUpdate,subathonGoalUpdate,streamOnline,streamUpdate,streamOffline,streamRaidIncoming,streamRaidOutgoing - Example:
/api/ws?ticket=YOUR_ONE_TIME_TICKET
In Header: Authorization: Bearer YOUR_API_TOKEN
Note
To access non-public API endpoints, you need an API token.
Visit the API Dashboard, connect with your Twitch account, and click the Generate API Token button to create one.
For a quick overview of endpoints requiring authentication, refer to needsAuth.md.