Uptime Robot Gets An API!

After many requests from the users who would like to integrate Uptime Robot with their apps or create other interfaces for it (like a desktop or mobile), the Uptime Robot API is launched today which makes such integrations possible and so easy.

This is the v1 of the API which covers most of the important stuff including:

  • getting the list of monitors, their details (uptime ratio, URL, friendly name, type, etc.)
  • getting the notification logs for each monitor
  • getting the alert contacts notified after each notification
  • adding new monitors
  • editing monitors
  • deleting monitors.

It is a REST API that can return:

  • XML
  • JSON
  • JSON-p


In order to use it, simply get your apiKey from the My Settings page and head to the API documentation.

What’s next with the API?

In the next version, we’ll be adding:

  • monitor-specific apiKeys” so you can securely use the apiKey in a client’s website without revealing your main apiKey
  • methods for managing alert contacts (adding/editing/deleting them)

Please share your thoughts about the API and/or any other methods that you think should exist in the next version.

39 replies on “Uptime Robot Gets An API!”

Don’t see the point in this…if I wanted to monitor my server from an App i’d just download one of the many that are available…in terms of development there isn’t a lot that can be done with the statuses of my server – in other words there isn’t massive potential for something like this.


API will make sense once you want to use the Uptime Robot engine but pull your data and integrate it into other apps (like creating new monitors from a web hosting control panel or a WordPress plugin displaying the uptime of your blog inside the WP admin panels, etc.).

Otherwise, for simply monitoring servers and getting notification e-mails, Uptime Robot’s own interface is pretty enough for that.

Nice work, UpTimeRobot saved me many times.

Great Service and like everyone else said its even better now. Looking forward to an iPhone App soon πŸ™‚

Really appreciate this new API key release. With the API we can integrate the uptime monitoring result in to our web/blog, it is cool.

Keep the great work.

Hi there. May I suggest that you publish and maintain specific API version numbers for better forwards and backwards compatibility. E.g. if this is API version 1 then users should specify that they expect to use that version, using an appropriate HTTP header or URL variable. When you change the API in future versions in a way that is complex and may change the behavior of variables (either sent or received), then having a simple versioning system will make thinks easier for everyone and prevent breaking the API in deployed applications as you change it. πŸ™‚

Hi there, I’ve been writing a wrapper function in PHP. It seems everything works fine except for the newMonitor function. I’ve tried both newMonitor and addMonitor (text in API documentation is confusing) but neither of them work. addMonitor comes back with 103 and newMonitor an internal server error.
Am I doing something wrong?

That’s a great suggestion. We’ll be keeping the v1 as is and using /v2/method type of URLs for next versions.

Will be checking it and updating this post back.

Yes, sure.


Yes, there seemed to be an issue with the handling of a parameter in newMonitor method and it is fixed now.

P.S. The method name is newMonitor and updated the dos (thx for the heads up).

No0b alert πŸ™‚

I’m trying to use the API and @Mark’s little script to simply display the uptime percentage of one of my monitors on my website.

I’ve got Mark’s script working so that I end up with the correct JSON output for the monitor that I want, using the code:

# getMonitors
$monitors = array(‘xxxxx’);
echo $ur->getMonitors($monitors, 1, 0); // gets only specified monitors and outputs the returned json string

But how do I turn that JSON string into a simple percentage (alltimeuptimeratio) that I can include on my website?

Any help appreciated πŸ˜‰

The API is nice. I was wondering if you plan on adding a postback capability? I’m not sure if the terminology is correct, so here is what it would do…

In the Uptime Robot Settings interface we could add a URL path to a script that will receive notifications (up or down and the monitor ID/name). I could then have my local script parse that data and either store it in the database or use a service like Pusherapp to push notifications out to my admin users.

I think this would make an already awesome product almost perfect.



Yes, that’s a feature in our to-do-list.

We still have some way to go before adding it but it’ll definitely be implemented.

I am thinking to develope a whmcs plugin and display the stats directly to registered clients? Is it possible with your api?

Leave a Reply

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