I strongly advice to call the function again inside the success of the api call. A solution using setInterval may hammer the site even when it gives errors. Also the request can take longer than 2 second to execute
Here I use jQuery for simplicity’s sake
Use setTimeout inside the success:
function getIt() { 
  $.get("url",function(data) { 
    $("#container").text(data); 
    setTimeout(getIt,2000);
  });
}
getIt();
If the URL is crossdomain, you may want to look into JSON and CORS:
How to get a cross-origin resource sharing (CORS) post request working
2
solved Live Update Get Request [closed]