improve api call with conditional response for rate limiting concerns, update views