Rate limiting is the process by which an API rejects requests for a variety of reasons, ranging from having too many concurrent connections to the requester forming a poor request for high amounts of data. By implementing rate limiting, the developer essentially installs a spigot which can be relaxed to allow for greater flow, or tightened to reduce the flow within the system.