API Quota Implementation

I want to implement API Quota in such a way that

  1. Different user can have different API Quota limit based on their subscription plan.
  2. Quota should be reset @midnight every day for all users.
  3. I should be able to fetch total and available quota for each user so that we can display it on user profile page.
  4. How to bind Quota with each user? we are using JWT for authnticaton and authorization.

I didnt find seperate plugin for API quota. Can we use rate limiting plugin to implement API quota ? If yes then please share the approach.