"As an Administrator, I want to limit the number of API calls that can be made without an OAuth 2.0 API key during a particular period of time, so I can plan for and manage API traffic usage."
This ticket was originally to have a global pool for all API calls without an OAuth 2.0 client ID. However, based on a discussion on the wiki page, we decided to have a pool for each IPv4 or IPv6 calling address.
This doesn't keep the total pool of calls bounded at a reasonable size, which is a bummer for capacity estimation, but it's somewhat more useful for client developers to estimate their effort.
So, this task is to have a rate limit per IP address only for requests that are made without an OAuth 2.0 ID. This can be very simple; no need to do things like identify VPNs or IP blocks or TOR nodes or whatever. Just a pool per IP address.
For MVP, a good value is 500 requests/hour per IP address.