Announcements

APIv2 is Ready to Use … (APIv1 will be retired on 1 June 2017).

Written by Tomas Koprusak 292 words | 2 min read Updated Nov 13, 2025
0%

Uptime Robot’s API is consumed pretty much (with over 5,000,000+ requests/day) for “automating monitor management”, pulling the data to generate custom reports and more.

As the usage grows every day, the APIv2 is built for a faster, more secure and stable experience with added features.

SSL and POST only

The APIv2 expects all parameters to be sent as a POST request and works SSL-only where both changes together help making it more secure.

Updated parameter names and speed

The parameter names and responses are very consistent now. They are all lower-case, separated with “_” (like api_key).

And, most methods are now ~ 2x to 5x faster.

Added features

It is now possible to pull more data with getMonitors method, including:

  • getting the uptime % of a range (or multiple ranges) with custom_uptime_ranges parameter
  • getting the all time duration of statuses with  all_time_uptime_durations parameter
  • getting the logs of a given period with logs_start_date and logs_end_date parameters
  • getting maintenance windows of a monitor

And, maintenance windows can also now be managed with the API too.

Code samples

The updated documentation page now has code samples for each monitor in multiple scripting and programming languages including PHP, Python, Nodejs, Go, Ruby, C# and Java.

When will APIv1 be retired?

APIv2 is the version that will be improved from now on and APIv1 is planned to be retired by 1 June 2017. So, please make sure that you switch to the new API before then.

Suggestions and bug reports

We are already using APIv2 in production, so, it is pretty stable. Yet, there is always a change of bugs and please let us know if you experience one.

Also, look forward to any suggestions and feature requests to make it better.

Start using UptimeRobot today.

Join more than 2M+ users and companies!

  • Get 50 monitors for free - forever!
  • Monitor your website, server, SSL certificates, domains, and more.
  • Create customizable status pages.

Written by

Tomas Koprusak

Product Owner |

He has worked for Sygic as a marketer and co-led the implementation and development of a product acquired from a competitor. He has also worked as a freelance developer, helping clients from various areas. Tomas brings a wealth of industry experience to our team. He spent a few years in the blockchain industry, leading projects and marketing teams at multiple blockchain-based companies. He has presented products and managed deals in more than 10 countries around the world, managed the ICO, and built a successful marketing team at Fuergy that continues to thrive. Tomas managed a product team for the biggest job site in Slovakia, covering development and transformation to a new B2B app. Not only is Tomas skilled at web development, but he also has a deep understanding of SaaS businesses, which makes him an invaluable asset in shaping and leading various projects at UptimeRobot. His focus is always on the continual improvement of our service and user experience. In addition to his professional achievements, Tomas is a devoted father. His personal interests include cycling (he traveled around the whole country of Slovakia), playing guitar (he even played in a band), servicing bikes, music, and enjoying good beer.

19 responses to “APIv2 is Ready to Use … (APIv1 will be retired on 1 June 2017)”

  1. I don’t see any way to pause monitoring in the v2 editMonitor API, am I missing something?

    Also why 4 required fields? The api_key and id of the monitor seem like they should be all that is necessary…

  2. Thanks very much for pointing them out.

    Just updated the docs accordingly.

  3. Once the APIv2 is out of beta, a migration guide will be shared to ease the transition.

  4. I can get “Response Time” chart from my monitor or the values to generate one.

  5. Having a nightmare trying to update to API v2 using Curl via PHP…

    Curl appears to be connecting but no data is being returned by Curl. Just a 200 status code to confirm connection and then nothing…

    Using full API key, format=xml and logs=1… Tried all manner of different approaches but to no avail…

    Any suggestions?

  6. Found my problem… The API update wasn’t the issue… for me it was the simple change in the API keys…

    friendlyname has been changed to friendly_name and this is NOT documented as part of the update…

    Lessons learned:
    1. XML doesn’t output properly in an HTML error log
    2. Sanity check the variables you’re expecting so you don’t waste 8 hours like this…

    Hope the above discovery helps someone else avoid this facePalm moment…

  7. Hello. Thanks for the good work.
    Though, multiple things aren’t alright in API v2 : documentation not up-to-date (i.e missing values in data).

    And I encounter an issue with create_datetime : I live in France, a coutry which is applying a time change twice a year : +1 in spring, -1 in autumn.
    It seems the create_datetime and delete_datetime value your api sends is not taking that into account : I currently create monitors 1 hour in the future …
    Could you fix it ?

  8. Hi, I’m using the PHP cURL APIv2 raw example with a monitor API key or with the main API key, and having always the “Operation timed out after 60004 milliseconds with 0 out of 0 bytes received” error. Can somebody help me? Thanks!

  9. Hi,
    I need some help.
    I am trying to call the getMonitors method, however even with the correct api_key value it keeps telling me:

    missing_parameter”,”parameter_name”:”api_key”

    I have tried contacting your support email but no response yet.
    I really need to get this working as we have rolled out a new automated logging system inwhich we would like to import the data from the expected response.

    Please advise.

    Kind regards,

    Mark

  10. Hi Mark,

    we are sorry for the late reply, do you still have the issue? There were more changes lately, but please send us all the details again and we will be happy to take a look at it, thank you.

  11. Hi Kristian,

    Sorry about to reply here but I do have the same issue on every API calls. Cannot call any of the methods with my readOnly or MonitorSpecific apikeys.
    I got that response for any of the api calls:
    “type”: “missing_parameter”,
    “parameter_name”: “api_key”,
    “message”: “api_key parameter is missing.”

    Please, let me know what is the problem.

    Best Regards,

    vgary

  12. I am using this lib: https://github.com/jpavlav/UptimeRobotPy for Python and Monitors disappear after few days.
    It’s very strange, because Alert Contacts added via API stays in place. Only Monitors added via API disappeared after a few days without any reason. I tested it on 2 accounts.
    Do you have similar issues?

    PS. I know that it isn’t an official library, but after analyzing looks good

Leave a Reply

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

Recent Articles

Recent Articles

Table of Contents