Everything you need to set up and customize StatusDrop. From first embed to custom domains.
Sign up at statusdrop.dev, go to your dashboard, and click "New Stack". Name it after your product (e.g., "My SaaS"). You'll get a unique stack ID used in your widget embed code and API calls.
Search the catalog of 550+ pre-integrated services across 13 categories (payments, cloud, CDN, email, devtools, analytics, auth, database, messaging, monitoring, AI, storage, and more). Click to add services like Stripe, AWS, GitHub, Vercel, Cloudflare, etc. Pro users can also add custom status page URLs and health check endpoints. Free users can request new services to be added to the catalog.
Copy the embed code from your stack page and paste it into your website HTML, just before the closing </body> tag:
<script src="https://statusdrop.dev/widget.js" data-stack="YOUR_STACK_ID"></script>That's it. The widget will appear on your site showing real-time service statuses. It polls for updates every 60 seconds automatically.
The StatusDrop widget is a standalone JavaScript bundle (~14KB gzipped, no dependencies) that renders a status indicator on your website. It runs in an isolated scope and does not interfere with your page styles or scripts.
| Attribute | Required | Description |
|---|---|---|
| data-stack | Yes | Your stack ID (from the embed code on your stack page) |
| src | Yes | https://statusdrop.dev/widget.js |
Choose a template in the visual widget builder. Each template includes a hover popup with full service details. You can also browse 12 preset configurations in the Template Gallery.
Single dot showing overall health with a status label. Minimal footprint, great for nav bars and footers.
Horizontal bar with colored dots and service names. Best for headers, footers, or sidebars.
Single colored circle with no text. Just a green, yellow, or red dot with hover popup for details.
The visual widget builder (accessible from each stack page) gives you full control:
Every stack can have a hosted status page. Enable it from the Status Page tab on your stack page. Your status page is available at:
https://statusdrop.dev/s/YOUR_STACK_IDThe status page shows all visible services with their current status, incident history timeline, and last updated timestamp. Share this URL with your users or link it from your support docs.
Customize your status page with the visual builder:
Pro users can point a custom subdomain like status.yourdomain.com to their status page. SSL is included automatically.
status.yourdomain.com) and click Save Domain. You'll receive a verification token.| Type | Name / Host | Value / Target | Purpose |
|---|---|---|---|
| CNAME | status | cname.vercel-dns.com | Routes traffic to StatusDrop |
| TXT | _statusdrop-verify.status | sd-verify-xxxxx (your token) | Proves domain ownership |
If your subdomain is status.yourdomain.com, the TXT record name would be _statusdrop-verify.status.yourdomain.com.
Once verified, your status page is live at https://status.yourdomain.com with a valid SSL certificate. The widget will also link to your custom domain instead of statusdrop.dev.
If you use Cloudflare, make sure the CNAME proxy is set to DNS Only (gray cloud icon), not Proxied (orange cloud). Cloudflare's proxy can interfere with Vercel's SSL certificate provisioning.
StatusDrop includes a pre-integrated catalog of 550+ popular services across 13 categories: payments, cloud, CDN, email, devtools, analytics, auth, database, messaging, monitoring, AI, storage, and more.
Services are monitored globally by fetching their official status page APIs every 5 minutes (1 minute for Pro). StatusDrop supports 4 parser types:
Status values are normalized to: operational, degraded, partial outage, major outage, or unknown.
Pro users can add custom services by providing any status page URL. StatusDrop auto-detects the format (Statuspage.io, Instatus, Status.io, or HTML parsing). Free users can request new services to be added to the catalog, and we review them within 24 hours.
Pro users can add direct HTTP health check endpoints for their own services. This turns StatusDrop into a lightweight uptime monitor alongside the third-party dependency tracking.
Add a health check from your stack page by clicking "Add Health Check" and entering the endpoint URL.
Get notified instantly when a service status changes. Pro users can configure 4 notification channels per stack:
HTML email alerts to any email address. Sent from alerts@statusdrop.dev.
Rich Block Kit messages to any Slack channel via incoming webhook URL.
Embed messages to any Discord channel via webhook URL.
MarkdownV2 messages to any Telegram chat. Provide bot token and chat ID.
Configure notifications from the Notifications tab on your stack page. Each channel has a "Send Test" button so you can verify your setup before going live.
For Telegram, enter the value in this format: BOT_TOKEN:CHAT_ID. Create a bot via @BotFather on Telegram, then get your chat ID by messaging the bot and checking the Telegram API.
Every stack has an RSS feed of status change events. Subscribe in any RSS reader to track incidents:
https://statusdrop.dev/api/v1/status/{id}/feedThe feed includes service name, old status, new status, and timestamp for each change event. It's a standard RSS 2.0 feed with Atom self-link.
StatusDrop provides a public REST API for querying service status programmatically. No authentication required. All responses are JSON with CORS headers. Rate limited to 120 requests per minute per IP.
| Endpoint | Description |
|---|---|
| GET /api/v1/status/{id} | Overall status, services, incidents, AI-friendly summary |
| GET /api/v1/status/{id}/services | Detailed service list with check times |
| GET /api/v1/status/{id}/history | Status change history (JSON or CSV export) |
| GET /api/v1/status/{id}/feed | RSS 2.0 feed of status change events |
| GET /api/v1/health | API health check |
| GET /api/v1/openapi | OpenAPI 3.1.0 specification |
The {id} parameter is your stack ID (the same value from your embed code data-stack attribute).
The widget fetches data from a separate endpoint optimized for embedding. You can also call it directly for custom integrations:
GET https://statusdrop.dev/api/widget/{id}
Response:
{
"stackName": "My SaaS",
"slug": "my-saas",
"services": [
{
"name": "Stripe",
"domain": "stripe.com",
"status": "operational",
"faviconUrl": "...",
"showLogo": true,
"isClickable": true
}
],
"config": {
"template": "minimal-dot",
"theme": "light",
"showStatusPageLink": true,
"showBranding": true,
"statusTexts": null,
"maxVisibleServices": null,
"popup": { "theme": "light", "opacity": 0.92, "showBranding": true }
},
"statusPageUrl": "https://statusdrop.dev/s/YOUR_STACK_ID",
"lastUpdated": "2026-03-07T12:00:00Z"
}This endpoint is CORS-enabled and cached for 60 seconds with 30s stale-while-revalidate. Rate limited to prevent abuse.
| Feature | Free | Pro ($14.99/mo) |
|---|---|---|
| Service stacks | 1 | Up to 10 |
| Services per stack | 3 | Unlimited |
| Custom status page URLs | No (request only) | Unlimited |
| Health check endpoints | No | Unlimited |
| Widget templates | 1 (Minimal) | All 3 |
| Widget theme | Light / Dark / Auto | Light / Dark / Auto |
| Check interval | 5 minutes | 1 minute |
| Status page | Yes (with branding) | Yes (no branding) |
| Custom domain | No | Yes (SSL included) |
| Notifications | No | Email, Slack, Discord, Telegram |
| Status history | 7 days | 90 days |
| "Powered by StatusDrop" | Required | Optional (removable) |
| API key | No | 1 per account |
| Catalog publishing | No | Yes |
| RSS feed | Yes | Yes |
| Public API | Yes | Yes |
| Authenticated API | No | Full CRUD |
| CSV history export | Yes | Yes |
Annual billing available at $99.99/year ($8.33/mo). Early adopter pricing is locked forever.