Monitoring flickr API usage
I've been using the Flickr web services API for a web mashup. The Flickr API is quite easy to use (especially if you use the Flickrj Java API) and as long as you follow the Flickr terms of service you are free to take advantage of the API. One of the terms of service is "You shall not display more than 30 Flickr user photos per page in your application or use an unreasonable amount of bandwidth." - the tricky bit is the 'unreasonable amount of bandwidth'. What may be perfectly reasonable to me, may be not so nice for Flickr. Since I need a Flickr Key to use the API, Flickr can track my usage of the API, so I've always been a bit worried that sooner or later Flickr would decide that I was using an unreasonable amount of bandwidth and shut me down.
Flickr does help you track your usage. If you visit your Flickr API key page you'll see a link to your usage statistics for each of your API keys. On the statistics page Flickr shows you all sorts of interesting data about how you've used your key.
Here's an excerpt of my Flickr key Stats page:
Flickr is telling me that I'm making about 43,000 calls per day - about one every 2 seconds. This matches my back-of-the-envelope estimate. The plots are nice as well, showing that I have very stable access pattern. The coloring is a bit worrisome - I guess I am in the 'red zone'. It looks like if I want to stay under the Flickr radar I'll need to cut back my accesses to about 50% of what I'm making now. But since they haven't complained yet - we'll see how long we can go at the current access rate.
Flickr has over
250,000,000 photos, it is an incredible resource - and having an API
that lets us write apps using the data just makes the Flickr data more
valuable.