A dynamic status badge generator for Render.com deployments. Automatically displays your service's deploy status (Live, Failed, Deploying) in your README or docs using Shields.io and Render's API.
- Real-time Status: Automatically updates based on Render's deploy status.
- Customizable: Supports Shields.io styles (flat, plastic, etc.).
- Multi-Project Ready: Use across multiple repos/services via
.env
config. - CI/CD Integration: Built-in GitHub Actions workflow for auto-updates.
- Open Source: MIT licensed — modify and distribute freely!
npm install render-status-badge
# or
yarn add render-status-badge
Create a .env
file in your project root:
RENDER_API_KEY="your_render_api_key_here"
RENDER_SERVICE_ID="your_service_id_here"
Run the script to get your dynamic badge URL:
npx render-status-badge
# Output: https://img.shields.io/badge/Render-Live-brightgreen?logo=render&style=for-the-badge
Paste the generated URL into your markdown:

Add this workflow (.github/workflows/update-badge.yml
) to auto-update your badge:
name: Update Render Status Badge
on:
schedule:
- cron: '*/5 * * * *' # Runs every 5 minutes
workflow_dispatch:
jobs:
update-badge:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Generate Badge
env:
RENDER_API_KEY: ${{ secrets.RENDER_API_KEY }}
RENDER_SERVICE_ID: ${{ secrets.RENDER_SERVICE_ID }}
run: npx render-status-badge >> badge-url.txt
- name: Update README
run: |
sed -i "s|https://img.shields.io/badge/Render-Unknown-lightgrey?logo=render
git commit -am "Update Render status badge" && git push
Environment Variable | Required | Description |
---|---|---|
RENDER_API_KEY |
Yes | Render API key (get it here) |
RENDER_SERVICE_ID |
Yes | Your Render service ID |
Contributions are welcome! Here’s how:
- Report Issues: Open a GitHub issue for bugs or feature requests.
- Suggest Features: Propose improvements via Discussions.
- Submit PRs: Fork the repo, create a branch, and open a PR.
MIT License — see LICENSE for details.
Made by Milton Vafana
Credits to Render and Shields.io