You might make this more obvious. Also, you might state how to distinguish between "sorry we need more time to look this up" and an actual 404 or error.
504 Gateway Timeout would be the obvious one, since if I'm reading this correctly it's essentially a timeout of zero; 5xx status codes are indicative of retriability later on.
But I think that sort of performance would make the free tier essentially worthless. “All you have to do is hit our API endpoint, and BAM, you get results back.” Except you really don't. Analogy: a caching DNS resolver that returned an instant SERVFAIL if the results weren't already in memory wouldn't be considered acceptable even for demo purposes anywhere that I've seen.
Hey premchai21, thanks for the feedback! You're completely right. I'll be making some adjustments to the way this operates over the coming days to make things much simpler.
I guess I disagree here (but who doesn't with HTTP status codes...). I try to reserve 5XX codes for actual errors. In this case, no error occurred, the response is just delayed.
I suppose being able to try out the API on the software level is useful, yes. I'm not sure how one is supposed to figure out whether results are likely to be good enough for a given application if they're so unpredictably degraded. I do suspect my perception is being colored by the website text, as quoted above.
HTTP code 202 Accepted seems appropriate for this (http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)