Categories
Announcements

Introducing the UptimeRobot v3 API

As you may have noticed, we released the latest version of the UptimeRobot API a few weeks ago. Don’t worry, the v2 will remain available; however, it will no longer receive support or updates. New features will be added only to v3.

Built on a RESTful architecture, v3 unlocks more flexibility, cleaner workflows, and expanded capabilities for developers who want tighter control over their monitoring.

Below, we’ll highlight what’s new and how it compares to the legacy v2 API.

Modern, consistent REST design

Here’s a look at what’s changed in this category:

  • HTTP methods & URLs: v2 used POST calls for all actions, with verb-style endpoint names (getMonitors, newMonitor, etc.). v3 uses standard HTTP verbs and resource-oriented paths:
    • GET /monitors – list monitors
    • POST /monitors – create a monitor
    • PATCH /monitors/{id} – update a monitor
    • DELETE /monitors/{id} – delete a monitor

The same approach applies to Public Status Pages (/psps), Maintenance Windows (/maintenance-windows), and Integrations (/integrations).

  • Response format: v3 returns JSON only, simplifying parsing and avoiding extra parameters for format selection.
  • Authentication: v3 supports bearer tokens (JWT) passed in the Authorization header, replacing the need to send API keys in request bodies.
  • Pagination: v2 uses offset and limit, while v3 uses cursor-based pagination, which scales better for large datasets.

Extended resource coverage

We’ve made some enhancements to monitors, public status pages, and maintenance windows as well.

Monitors

  • Supports HTTP, Keyword, Ping, and Port monitors (as in v2) plus two new types:
    • Heartbeat monitors: confirm that scheduled jobs or services are alive by expecting periodic pings.
    • DNS monitors: track DNS records and expiry dates.
  • Uses descriptive string values for parameters instead of numeric codes (e.g., type: HTTP instead of type=1).
  • More granular options for timeouts, success codes, custom HTTP headers, SSL, and domain expiry reminders, tagging, and attaching to maintenance windows.
  • Alert contact assignment is now handled with a structured array instead of encoded strings, making automation easier.

Public Status Pages (PSPs)

  • RESTful endpoints (/psps, /psps/{id}) replace action verbs like newPSP or editPSP.
  • New customization options: light/dark themes, density settings, and incident history display.

Maintenance windows

  • Fully resource-based, with explicit names, start/end times, recurrence rules, and monitor assignments via arrays.
  • More predictable scheduling compared to string-encoded parameters in v2.

New integration system

One of the biggest additions in v3 is integrations. Instead of manually creating alert contacts for each channel, you can programmatically set up integrations for:

  • Slack, Microsoft Teams, Google Chat, Discord
  • Telegram, Pushover, Pushbullet
  • PagerDuty, Splunk, Mattermost, Zapier, Webhooks

User information endpoints

  • GET /user/me – fetches the logged-in user’s profile, limits, and subscription details.
  • GET /user/alert-contacts – lists alert contacts directly.

Other improvements

  • CORS – v3 uses modern authentication headers, simplifying browser-side integrations.
  • Rate limits – same plan-based limits as v2 (10 req/min on free plans; monitor_limit × 2 req/min on Pro, up to 5,000/min), but with standardized 429 responses and rate-limit headers.

Why upgrade to v3?

The v3 API delivers concrete improvements over v2:

  • Consistent RESTful endpoints: no more verb-based calls or POST-only methods; HTTP verbs map directly to CRUD operations.
  • Structured payloads: parameters are named and typed in a predictable way, avoiding numeric codes and string-encoded settings.
  • New capabilities: Heartbeat and DNS monitors, richer PSP customization, detailed maintenance window scheduling, and direct integration management.
  • Better automation support: Cursor-based pagination, machine-readable enums, and JSON-only responses make scripting simpler.
  • Modern authentication: Bearer tokens via the Authorization header enable safer, more flexible integration patterns.
  • Browser-friendly: CORS restrictions in v2 are gone, making client-side API calls easier to implement.

Share your feedback

Explore the UptimeRobot v3 API documentation and start upgrading your scripts and integrations to take advantage of the new capabilities.

We’d love to hear what you think – join the discussion and share your feedback on our Discord community. Your input helps us shape the next iterations of the API and other UptimeRobot features.


Written by Tomas Koprusak

Product Owner | LinkedIn

Tomas Koprusak is a Product Owner at UptimeRobot. He has a rich history in similar roles at global IT powerhouses like IBM, where he started as a developer and moved to a Product Manager position, working with EMEA clients and colleagues from the US, Brazil, and China.

Write for UptimeRobot

Join our External Writers Program and share your know-how with the global UptimeRobot community. Craft practical monitoring tutorials, earn competitive payouts for every accepted article, and let us deliver your insights to the readers who need them most.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Articles