### Usage Example: Stack Exchange Site Monitor [JavaScript Site Monitor][1] in 20 lines of code or less.... Demonstrates the use of Soapi.js to query stackauth.com to get an up-to-date list of Stack Exchange sites and then polling `/stats` for each one on a revolving timer. [![enter image description here][2]][2] $(document).ready(function siteMonitor() { var apiKey = ''; new Soapi.RouteFactory("", apiKey).Sites().getResponse(function(data) { var sites = []; for (var i = 0; i < data.items.length; i++) { sites.push(data.items[i].api_endpoint.substring(7)); } var siteIndex = 0; var delay = 10; // get it started var pollingInterval = 20000; // 20 seconds per site, > 1 minute between identical requests $.each(sites, function(idx, itm) { $('<div/>').addClass('stats').attr('id', itm.replace(/\./g, '')).appendTo(document.body); }); function update() { var client = new Soapi.RouteFactory(sites[siteIndex], apiKey) .Stats() .getResponse(function(data) { var id = sites[siteIndex].replace(/\./g, ''); $('#' + id).hide().fadeIn(100).jqotesub("#template", data.items[0]); siteIndex++; if (siteIndex == sites.length) { siteIndex = 0; delay = pollingInterval; } window.setTimeout(update, delay); }); } update(); }); }); [1]: http://soapi.info/Code/JS/Stable/StackExchangeStatusMonitor.htm [2]: https://i.sstatic.net/zW78S.png