A robust, Vercel-ready Node.js wrapper for the Weverse API. Designed for developers, streamers, and data archivists who want to integrate Weverse content into their applications, Discord bots, or OBS overlays.
Disclaimer: This is an unofficial API wrapper. Weverse endpoints are subject to change without notice. Use responsibly and at your own risk.
- Vercel Ready: fully optimized for Serverless deployment (Vercel, AWS Lambda).
- RSS Feed Generator: Convert community posts into RSS feeds for Feedly, Inoreader, or Discord bots.
- Post Calendar: Generate
.icscalendar files to subscribe to artist updates in Google Calendar. - Smart Widgets: Beautiful HTML widgets for OBS overlays or Notion embeds with Glassmorphism design.
- Data Export: Download community posts as JSON for archiving or analysis.
- Engagement: Fetch comments and user notifications.
- Security: RSA encryption login, no hardcoded credentials, and Helmet/Rate-Limit protection.
- Performance: Built-in in-memory caching (
node-cache) to respect API limits.
- Node.js (v18 or higher)
- A Weverse Account
-
Clone the repository:
git clone https://github.com/kiy0w0/weverse-api.git cd weverse-api -
Install dependencies:
npm install
-
Configure Environment Variables: Copy
.env.exampleto.env:cp .env.example .env
Required Variables:
# Your Weverse Account Credentials WEVERSE_EMAIL=your_email@example.com WEVERSE_PASSWORD=your_password # Server Config NODE_ENV=development PORT=3001
Start the development server:
npm run devThe server will start at http://localhost:3001.
Run the comprehensive test suite (Unit & Integration tests):
npm testThis project is pre-configured for Vercel.
- Fork this repository.
- Log in to Vercel and create a "New Project".
- Import your forked repository.
- In the Environment Variables section, add:
WEVERSE_EMAIL: Your emailWEVERSE_PASSWORD: Your password
- Click Deploy.
Explore the interactive Swagger documentation at /api-docs when running locally.
- RSS Feed:
GET /api/communities/{id}/rss - Calendar:
GET /api/communities/{id}/calendar - Widget:
GET /api/widgets/latest/{id} - Export:
GET /api/communities/{id}/export
- Posts:
GET /api/communities/{id}/posts?type=artist - Single Post:
GET /api/posts/{postId} - Comments:
GET /api/posts/{postId}/comments - Notifications:
GET /api/notifications
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Created by @kiy0w0 - feel free to contact me!
Project Link: https://github.com/kiy0w0/weverse-api