I have been updating about 1000 sheets using Python. Each takes about 2-3 minutes to update. The job ran most of the day yesterday (~8hrs). And when I look at my quotas for Google Sheets API in console.developers.google.com, I have used about 3k in the read group and 4k in the write group. Not nearly close to the 40k quota that is given. 
Now all of the 1000 sheets interact with one sheet because all of the keys are on that one sheet. 
In fact, I have tried using 2 different project sign ins, one through my company domain and one through my gmail, that both have access to these files. When I run it with the company credentials. It also gives me a HttpError 429, and 0 requests have been made with that credential. 
Is there some hidden quota I don't know about? Like calls to one spreadsheet? That's what it seems like. Google, are you cutting me off to the spreadsheet because I accessed it for 8hrs yesterday?
It is bombing on spreadsheets().values().update and spreadsheets().batchUpdate
I had this issue with a long-running script...I am putting batches of data in spreadsheets, and every 100k rows I start on a new spreadsheet. The data is rolled up on a separate spreadsheet using IMPORTRANGE(). the first 3 were fine but the 4th was bombing with the "Resource has been exhausted" error. I noticed that when I saw this error, the IMPORTRANGE() was also failing in the browser. The error must be indicating something wrong with the server where the spreadsheet is stored/served, and is not API-related. Switching to a new spreadsheet fixed the error for me.
Google sheets API v4: HttpError 429. "Resource has been exhausted (e.g. check quota)."