Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
An open-source Express.js website and API for Discord bots, showing live status, server count, and ping on a self-hosted homepage.

A full-stack Next.js TypeScript template focused on functionality over UI, featuring Zustand, TanStack Query, and ESLint 9 support.
Simple Discord Bot Website is an open-source Express.js website template that gives Discord bots a public homepage and a REST API for reporting live stats like server count and ping. Built by JLDENSMORE and maintained as a GitHub repository, it pairs a minimal HTML/CSS/JavaScript front end with a Node.js backend that exposes JSON endpoints for bot status.
Simple Discord Bot Website is a Node.js project that combines a Discord bot landing page with a small backend API. It takes configuration from environment variables — port, support server invite, bot invite link, and the URL of the bot's own server — and produces a website that automatically displays whether the bot is online, how many servers it serves, and its ping. The project runs on Express.js and requires Node.js version 18 or newer, with npm or yarn for dependency management.
The workflow starts by cloning the repository, running npm install, and copying .env.example to .env with your bot's support server, invite link, and bot server URL. After starting the server with npm start, the website automatically fetches stats from the bot server at BOT_SERVER, and the bot can also push stats by sending a POST request to /api/update-stats. The README shows the recommended cadence of updating every 5 to 10 minutes, since the site refreshes every 10 minutes.
Simple Discord Bot Website is free and open source under the MIT License. There are no paid tiers or hosting requirements; you run it on your own Node.js environment.
Yes, the project is released under the MIT License, so it is free to use, modify, and redistribute. You only need your own Node.js 18+ environment to run it.
You need Node.js version 18.0.0 or newer and either npm or yarn. The project also expects a .env file (or config.json) with settings like PORT, SUPPORT_SERVER, BOT_INVITE, and BOT_SERVER before starting.
The bot sends a POST request to /api/update-stats with a JSON body containing serverCount and/or ping. The repository includes Discord.js examples using fetch and discord.py examples using aiohttp to send these updates on an interval.
The main endpoints are GET /api (API info), GET /api/logo (bot avatar in various sizes), GET /api/status and GET /api/stats (bot status, server count, ping, and last update time), and POST /api/update-stats (accepts serverCount and ping fields).