Documentation

Everything you need to set up and customize StatusDrop. From first embed to custom domains.

Quick Start (30 seconds)

1. Create your stack

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.

2. Add services

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.

3. Embed the widget

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.

Widget Embed

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.

Attributes

AttributeRequiredDescription
data-stackYesYour stack ID (from the embed code on your stack page)
srcYeshttps://statusdrop.dev/widget.js

Behavior

  • Polls for status updates every 60 seconds
  • Hover to see a glass popup with all service statuses and favicons
  • Click to open your hosted status page (or custom domain if configured)
  • Respects light/dark/auto theme from the widget builder
  • Accessible: keyboard navigation, ARIA roles, prefers-reduced-motion support
  • Free tier shows "Powered by StatusDrop" in the popup

Widget Templates

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.

Minimal

Single dot showing overall health with a status label. Minimal footprint, great for nav bars and footers.

Free

Compact Bar

Horizontal bar with colored dots and service names. Best for headers, footers, or sidebars.

Pro

Status Dot

Single colored circle with no text. Just a green, yellow, or red dot with hover popup for details.

Pro

Widget Builder

The visual widget builder (accessible from each stack page) gives you full control:

  • Template picker with visual previews
  • Theme selector: light, dark, or auto (matches user's system preference)
  • Service visibility toggles (hide/show individual services)
  • Service display order (drag-and-drop reorder)
  • Custom status text and header messages
  • Max visible services limit (show "+N more" in popup)
  • Branding toggle (Pro removes "Powered by StatusDrop")
  • Live preview that updates as you configure

Hosted Status Page

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_ID

The 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.

Status Page Builder

Customize your status page with the visual builder:

  • Theme: light, dark, or auto (detects visitor's browser preference)
  • Custom header text (e.g., "All Systems Operational")
  • Per-service visibility (separate from widget visibility)
  • Service branding toggle (hide favicon, domain, and links for a cleaner look)
  • "Powered by StatusDrop" toggle (Pro can remove it)
  • Live preview that matches the real status page

Custom Domain (Pro)

Pro users can point a custom subdomain like status.yourdomain.com to their status page. SSL is included automatically.

Setup steps

  1. Go to your stack page and open the Status Page tab. In the Custom Domain section, enter your subdomain (e.g., status.yourdomain.com) and click Save Domain. You'll receive a verification token.
  2. In your DNS provider (Cloudflare, Route 53, Namecheap, etc.), add two DNS records:
TypeName / HostValue / TargetPurpose
CNAMEstatuscname.vercel-dns.comRoutes traffic to StatusDrop
TXT_statusdrop-verify.statussd-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.

  1. Wait for DNS propagation (usually 1-5 minutes, up to 48 hours for some providers).
  2. Click Verify Domain in your stack settings. StatusDrop will check both the TXT record and the CNAME, then automatically configure SSL and routing.

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.

Cloudflare users

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.

Service Catalog

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:

  • Statuspage.io (Atlassian) - used by Stripe, GitHub, Twilio, Datadog, and hundreds more
  • Instatus - used by Vercel, Resend, Neon, Clerk, and many modern SaaS tools
  • Status.io - used by some enterprise services
  • Custom - auto-detect cascade with HTML keyword parsing for non-standard status pages

Status values are normalized to: operational, degraded, partial outage, major outage, or unknown.

Custom Services (Pro)

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.

Service Display Options

  • Display name - override the default service name
  • Widget visibility - show or hide a service in the widget
  • Status page visibility - show or hide a service on the status page (independent of widget)
  • Hide branding - hide favicon, domain, and link (show only name + status dot)
  • Drag-and-drop reorder - control display order

Health ChecksPro

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.

  • Provide any HTTPS URL that returns a 2xx status code when healthy
  • Checked every 5 minutes (1 minute for Pro) alongside your other services
  • Non-2xx or timeout = marked as major outage
  • Shows up in your widget, status page, and notifications just like any other service

Add a health check from your stack page by clicking "Add Health Check" and entering the endpoint URL.

NotificationsPro

Get notified instantly when a service status changes. Pro users can configure 4 notification channels per stack:

Email

HTML email alerts to any email address. Sent from alerts@statusdrop.dev.

Slack

Rich Block Kit messages to any Slack channel via incoming webhook URL.

Discord

Embed messages to any Discord channel via webhook URL.

Telegram

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.

Telegram setup

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.

RSS Feed

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}/feed

The 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.

Public API

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.

EndpointDescription
GET /api/v1/status/{id}Overall status, services, incidents, AI-friendly summary
GET /api/v1/status/{id}/servicesDetailed service list with check times
GET /api/v1/status/{id}/historyStatus change history (JSON or CSV export)
GET /api/v1/status/{id}/feedRSS 2.0 feed of status change events
GET /api/v1/healthAPI health check
GET /api/v1/openapiOpenAPI 3.1.0 specification

The {id} parameter is your stack ID (the same value from your embed code data-stack attribute).

Full API documentation with examples

Widget Data API

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.

Free vs Pro

FeatureFreePro ($14.99/mo)
Service stacks1Up to 10
Services per stack3Unlimited
Custom status page URLsNo (request only)Unlimited
Health check endpointsNoUnlimited
Widget templates1 (Minimal)All 3
Widget themeLight / Dark / AutoLight / Dark / Auto
Check interval5 minutes1 minute
Status pageYes (with branding)Yes (no branding)
Custom domainNoYes (SSL included)
NotificationsNoEmail, Slack, Discord, Telegram
Status history7 days90 days
"Powered by StatusDrop"RequiredOptional (removable)
API keyNo1 per account
Catalog publishingNoYes
RSS feedYesYes
Public APIYesYes
Authenticated APINoFull CRUD
CSV history exportYesYes

Annual billing available at $99.99/year ($8.33/mo). Early adopter pricing is locked forever.