Clarification on API error codes

165 views
Skip to first unread message

Oksana Sulyma

unread,
May 21, 2024, 11:05:52 AM5/21/24
to Google Ads API and AdWords API Forum
Hi Google Ads API team,

Using reporting API for various accounts, we face temporary errors like: 

error : { "message": "Resource has been exhausted (e.g. check quota).", "code": 8, "status": "RESOURCE_EXHAUSTED", "details": [ { "@type": "google.ads.googleads.v16.errors.googleadsfailure-bin", "data": "<Unknown Binary Data>" }, { "@type": "grpc-status-details-bin", "data": "<Unknown Binary Data>" }, { "@type": "request-id", "data": "R0nAJOVxhkE-9OMaTT_jOA" } ] }

OR
{ "message": "Deadline Exceeded", "code": 4, "status": "DEADLINE_EXCEEDED", "details": [] }

OR
{ "message": "Connection reset by peer", "code": 14, "status": "UNAVAILABLE", "details": [] }

And I can't find in documentation details on error codes like 8, 4, 14 from my examples.
Could you please help me? Do you have a documentation page that contents complete list of error codes and error descriptions?

Thanks!

Google Ads API Forum Advisor

unread,
May 21, 2024, 11:48:44 AM5/21/24
to adwor...@googlegroups.com
Hi,

Thank you for reaching out to the Google Ads API support team.

I could see that you have encountered the following errors:

1)  "RESOURCE_EXHAUSTED" error, which means that a system frequency limit has been exceeded. Kindly prevent sending too many requests in a short period of time and also ensure to set up short delays between requests or combine more operations in fewer requests. Also, please check this sample code for how to Handle a Rate Exceeded Error for more information.

Additionally, we also have daily API operation limits where requests that violate these limits are rejected with the error: RESOURCE_EXHAUSTED. You may check out API Limits and Quotas for more information. 

2)  DEADLINE_EXCEEDED error. This is a deadline exceeded error. This could be due to low timeout. However, could you confirm if you’ve set a low timeout? Wait for about 30 seconds, then retry the request. If the error persists try breaking the request into multiple, smaller requests that can be completed more quickly. For more information you may check this document which will explain how to handle this error. 

3) The "Connection reset by peer" error, this issue appears to be client library specific. Could you please confirm which Client Library you are using ?

If the error still persists, after following the above suggestions, provide us with the updated complete API logs (request and response with request-id and request header) generated at your end.

If you are using a client library and haven't enabled the logging yet, I would request you to enable logging for the specific client library that you are using. You can refer to the guides Java.NetPHPPythonRuby or Perl to enable logging at your end. For REST interface requests, you can enable logging via the curl command by using the -i flag.

You can send the details via Reply privately to the author option, or direct private reply to this email.
 
This message is in relation to case "ref:!00D1U01174p.!5004Q02tJ2wC:ref" (ADR-00235902)

Thanks,
 
Google Logo Google Ads API Team


Oksana Sulyma

unread,
May 22, 2024, 3:22:13 AM5/22/24
to Google Ads API and AdWords API Forum
Hi Google Ads API team! 

Thanks so much for clarifications and quick response. 
We are using official google-ads-php library. 

And my main task now is in distinguishing error messages for proper processing at our side - like you've mentioned - have a delays, break to smaller requests, etc. 

And I'm looking for proper field in error response (like message, code, status) to be a base for errors sorting. This is why I've asked for documentation on codes. Cause we know that error messages could be an object of changes. 
What would you recommend me in this situation? Will it be correct to use status field (like "RESOURCE_EXHAUSTED", "DEADLINE_EXCEEDED", "UNAVAILABLE") to split errors by groups for different processing? 
Can we think that all errors we get have code and status? 

Thanks again for all your help!
Oksana

Oksana Sulyma

unread,
May 31, 2024, 8:20:18 AM5/31/24
to Google Ads API and AdWords API Forum
Hi team! Friendly reminder on my question. Thanks!

Google Ads API Forum Advisor

unread,
May 31, 2024, 2:02:07 PM5/31/24
to adwor...@googlegroups.com
Hi,

All Google Ads API services have default settings including timeouts that are used by the transport. Any service of a given Google Ads API version has a dedicated JSON file with these default settings defined at service and method levels. You may refer to this guide which has information about errors. Hope this helps.

Oksana Sulyma

unread,
Jun 3, 2024, 8:30:34 AM6/3/24
to Google Ads API and AdWords API Forum
Thanks for your answers team, now I understand better. 
Speaking of Reports and GoogleAdsService.SearchStream,  where can I find documentation on error codes like 8, 4, 14 from my examples?
Do you have a documentation page that contents complete list of error codes and error descriptions for Reports and GoogleAdsService.SearchStream ?
Using Reports and GoogleAdsService.SearchStream we get various errors and I'm looking for documentation on possible errors codes, statuses, details.
Thanks,
Oksana

Google Ads API Forum Advisor

unread,
Jun 3, 2024, 12:55:17 PM6/3/24
to oksana....@gmail.com, adwor...@googlegroups.com
Hi Oksana,

I would suggest you refer to the document Error types to get more information on the errors in the Google Ads API. Please go through the guides Common Errors and Asynchronous errors for more details.

I hope this helps! Feel free to get back to us in case of any further queries.

Oksana Sulyma

unread,
Jun 5, 2024, 9:07:42 AM6/5/24
to Google Ads API and AdWords API Forum
Thanks team! 
I think I've found what I needed here: https://grpc.github.io/grpc/core/md_doc_statuscodes.html 
So as example getting error:
error : { "message": "Resource has been exhausted (e.g. check quota).", "code": 8, "status": "RESOURCE_EXHAUSTED",
}
we can search for  "status": "RESOURCE_EXHAUSTED" in Google Ads documentation for errors and find that it belongs to enum https://developers.google.com/google-ads/api/reference/rpc/v16/InternalErrorEnum.InternalError#internal_error which are retrievable error (per https://developers.google.com/google-ads/api/docs/best-practices/error-types).

Google Ads team, could you please confirm that my logic on Google Ads API errors categorisation is correct? 
Thanks!
Reply all
Reply to author
Forward
0 new messages