I'm sorry but even for the client side, I'd feel happier with my users making a request to my own server where I can definite my own caching as per my applications needs.
Calling a third party service should be reserved for advertisements, tracking, and queries to proprietary data (e.g. Google Maps).
I'm not disparaging your efforts here, no doubt its a fine service but I'd want to run it myself not have it as a SaaS.
You do have a fair point though, this functionality does exist in most major programming languages.
It appears that, because it recursively calls it, the call eventually times out. (Google App Engine has this time limit of 10~30 seconds.) I'm not sure if I'll have a solution for this, but I can at least catch the exception. I'll need to look into it further.
Thanks for finding this bug!