I am trying to create a reporting user. One of the reports the user will run is the API Usage Last 7 Days report. I want to minimize the access to as much as possible but it seems the user's profile has to have Modify All Data checked. That checks a number of other admin options and provides full access to all standard and custom objects. Something I want to limit as much as possible. If the community knows a quick minimum permissions needed that would be awesome. I have a feeling I'll just have to do a trial and error of unchecking and checking permissions.
Here's a link to where you can find a list of all User Profile permission descriptions which includes what they do. From the list, you should be able to determine what permissions your profile needs to have.