Though I made GAEAPIMonitor to keep track of APIs on our server for downtime, it has turn out to be more useful than that. I have started to use it to monitor page changes, such as for package tracking. You can find the latest changes I have added for page monitoring, as well as other new features highlighted below.

More descriptive alerts

DM Alerts now includes a link to preview the content, and a more meaningful error alert message. The preview link also includes description of content changes that cannot fit into Twitter 140 characters limit, and a button to remove the alert.

Content changes alert

You can configure GAEAPIMonitor to only receive alerts when there is significant content changes to the monitored page. This is done by specifying a minimum percentage change for each URL monitored. It also includes more meaningful description of content changes (showing what is added and removed) using google's diff-match-patch cleanup semantics feature.

Verifying error 408 to reduce false alerts

In the previous version, there were quite a lot of false alerts for ...

GAEAPIMonitor - Open source API monitoring tool on Google AppEngine

Being involved in a quite a bit of mobile application projects with server component, makes it difficult to ensure that both client and server are in good shape. Some important things to keep track of are the server down-time, broken API, API request times, etc. It can be a logistical nightmare and a bit of a headache, so I decided to make a Google AppEngine application to do the monitoring automatically.

GAEAPIMonitor is written in Python. It runs in AppEngine every 10 minutes with a cron job (configurable). Every time a check is initiated, it fetches all the API from DataStore, and dispatches each of them into separate Task Queues to ensure that all API checks are completed regardless of number of APIs required for checking. If a particular criteria is fulfilled, the application sends out a Twitter DM using Tweepy. If you are using Twitter for iPhone, you will probably get the alert immediately as a PUSH message. Content change alerts includes percentage change, calculated from Levenshtein distance using google-diff-match-patch library.


  • form to enter information about the API
  • API parameters entered in a form in JSON format
  • support HTTP GET and POST
  • sends alert when:
    • API request exceeds ...