Embodiments of the present disclosure enable this level of granularity in throttling requests. More specifically, a load-balancing system as described herein can include a configurable granularity of request throttling to control access to specific resources according to the needs of each resource. Illustratively, requests to access a given resource, such as a storage snapshot, may be throttled according various parameters of each request, such as to the snapshot to be accessed, the API used to access it, the client account requesting access, etc. Any individual parameter, or combination of these parameters may make up a resource access key used to throttle the requests. Under this configuration, a client may send requests up to the throttle limit for a given key, and the service host may throttle any future requests for that key, but may continue to service requests for a different key. Thus, the client's account-level throttle limit may be increased over the throttle limit for a given resource without creating a risk that the client will starve access to that resource.