Uptime Check API - Monitor URL Status with History
Sends a HEAD request to the URL, records status and response time, and persists the result for 7 days in edge KV. Returns the current check plus the last 10 history entries for that URL (hashed for storage). Treats 2xx and 3xx as up; 4xx, 5xx, and network errors as down.
Code examples
curl -X POST https://api.botoi.com/v1/uptime/check \
-H "Content-Type: application/json" \
-d '{"url":"https://api.stripe.com/healthcheck"}'When to use this API
Build a status page without running a monitor
Schedule this endpoint from a cron job every 5 minutes. The rolling history gives you the last 50 minutes of data without any database on your side. Render it on a status page or Slack board.
Smoke-test deploys
After each production deploy, call the endpoint against 3-5 critical URLs. Fail the deploy pipeline when any of them comes back is_up:false. Catches DNS misroutes and CDN cache issues early.
Third-party dependency tracking
For every external API your service depends on (Stripe, SendGrid, your auth provider), run hourly checks. The 10-check history surfaces intermittent outages that single-point checks miss.
Frequently asked questions
How long is history retained?
Is the history per URL or per caller?
What counts as "up"?
What is the request timeout?
Does HEAD work for every URL?
Get your API key
Free tier includes 5 requests per minute with no credit card required. Upgrade for higher limits.