Problem with coda API too many request for the last fews day

I have been using API to update row status (around 900 rows everyday, one to twice a day) and have been using this API for more than 6 months

However, on march 23 and march 24. it show some problem saying too many request


this is one sample request.

but almost all the rows have this error

is there any problem with CODA API?

2 Likes

I have this problem too :smiling_face_with_tear:

We’ve experiencing the same error, but founded this rate limiting in the API documentation

Hi @Korn_Tris, @nsbofficebt_nsbofficebt, @Orlando_Javier_Morales_Ontiveros - Last week we had to implement a tighter rate limit on doc content changes to deal with some abuse vectors that were compromising our infrastructure. As per that last screenshot, there is a new 3/10 second rate limit on doc content changes (rows, etc).

Are you able to batch your row changes into fewer upsertRows calls? If so I believe that should help keep you within the limit.

2 Likes

We are also encountering the same issue, as of about a week ago. We also made major changes to our Coda document around the same time the 429 Too Many Requests errors appeared, however those document changes were Coda internal and its unclear why they would affect API related rate limits.

In any case, we have now adjusted our code to only make a write request (writing data POST request which updates several hundred rows in the Coda table) once per 10 seconds, and it still raised the 429 errors.

Even more severely, upon running a script whose sole function is to make a single write request, we still get {‘statusCode’: 429, ‘statusMessage’: ‘Too Many Requests’, ‘message’: ‘Too Many Requests’} response (this happens even after not making any API requests for a period of time beforehand). We are stuck here, and would appreciate ideas on how to fix this.

1 Like

Hi @Alan_Edmonds - I apologize for the disruption that came about from this change. 1 request per 10 seconds should be under the limit, so I’m not sure why you are still getting 429 errors. And getting 429 errors even after a single request is even more perplexing. Are you seeing that happen on all docs or just that one?

Rather than set an explicit delay for your requests, a more resilient strategy is to implement exponential backoff, where your code detect 429 errors and automatically retries the requests after a period of time. It’s more complicated to implement, but allows it to adapt to changing rate limits.

Hi Eric, thank you for the reply. We have tried this on a fresh doc and get the same issue. To be clear, an exponential backoff almost certainly won’t work, because we ran the following test:

  1. Turn off all API connection to Coda
  2. Leave Coda alone for half an hour (so all API limts should be reset)
  3. Come back and make an API call to write one single row

When we run the script to write one single row, we get the following error:
{'statusCode': 429, 'statusMessage': 'Too Many Requests', 'message': 'Too Many Requests'}

It doesn’t seem to matter how long we wait or how little data we write to Coda, we get this 429 code in all situations no matter what.

We would really appreciate any help resolving this issue, as it is completely blocking our Coda usage. Thank you very much.

@Eric_Koleda This may or may not be relevant to diagnosing the issue, but I wanted to add that this 429 status only happens upon write requests. Read requests work as expected.

Thanks for the information @Alan_Edmonds. At this point I think we’ll need an engineer to look into your account. Please create a ticket with our support team so they can escalate to the appropriate team.

1 Like

@Eric_Koleda the engineering fix has successfully stopped the 429 errors! Thanks very much

1 Like

Hi we are having the same issue - we use Coda as a supplemental CRM to Airtable and sometimes need to update multiple rows at a time (for example if a group of memberships expire, we will change all of those rows on airtable to Status = Canceled, and that will need to flow for every row into Coda). What is the workaround here, when multiple rows need to be updated at once?

Hi @Amy_Schultz - If your columns has “key columns” (a set of column that form a unique value for that row) then you can use the upsertRows endpoint to update multiple rows at once.

I don’t know how to do this, is someone available to help?

I changed the setting to have the zap auto-run when it fails, and that seems to have resolved it for now.

1 Like