Quota: Requests per service per method?

309 views
Skip to first unread message

Markus Heiden

unread,
Nov 5, 2022, 3:35:13 PM11/5/22
to Google Ads API and AdWords API Forum
Hello,

I get errors that I interpret as calling a method (KeywordPlanService#generateHistoricalMetrics) too concurrently. I wonder where that limit is documented?

error_code {
  quota_error: RESOURCE_EXHAUSTED
}
message: "Too many requests. Retry in 4 seconds."
details {
  quota_error_details {
    rate_scope: ACCOUNT
    rate_name: "Requests per service per method"
    retry_delay {
      seconds: 4
     }
  }
}

I ensure that the rate limit of 1 RPS is not exceeded. So that cannot be the issue.

Google Ads API Forum Advisor

unread,
Nov 7, 2022, 1:09:15 AM11/7/22
to markus...@adsoul.com, adwor...@googlegroups.com

Hi Markus,

Thanks for reaching out to the Google Ads API Forum.

Kindly note that the generateKeywordIdeas is the planning services in the Google As API. Due to cost and complexity, the Planning service methods listed below are subject to separate limits from other types of requests.
 

 
If you are having the basic access level developer token, then the 15,000 API operations per day limit is still applicable. As all requests to Keyword Planning services for both standard and basic access are rate limited. Fewer requests are allowed per minute when compared to other services. Our recommendation is to cache or store results as you will receive the same response over a long time span. For example, if you request a set of existing keywords, the response is not going to change over a period of hours or days. In the case of historical metrics, the statistics refresh monthly. 

Moreover, you may need to avoid sending too many requests in a short period of time. The server throws this error once it detects that your request has exceeded the system frequency limit. 

That being said, I would recommend setting up short delays between requests or combine more operations in fewer requests. Also, we suggest setting a reasonable upper bound for the total number of concurrent tasks that are going to make requests (across all processes and machines), and adjusting upward to optimize your throughput without exceeding the rate limit is recommended. Otherwise, you may possibly experience the exceeding rate limits that the client app is spawning an excessive number of parallel tasks since we don't limit the number of parallel requests a client app can have, this can easily exceed the Requests Per Second limit at the developer token level. However, Throttles can be implemented at the consumer side by limiting the number of concurrent consumers, or implement rate limiters or throttlers for either the producers or consumers.For more information, you may refer to this throttling QPS from the client side (check out Throttling and rate limiters).

Let us know if you need further clarification.

Regards,

Google Logo
Yasar
Google Ads API Team
 


ref:_00D1U1174p._5004Q2g0e2e:ref

Markus Heiden

unread,
Nov 13, 2022, 5:43:00 AM11/13/22
to Google Ads API and AdWords API Forum
Hello Yasar,

I already found that limit.  But IMO I do not exceed the 1 QPS limit. 

As the error message reads this is IMO not the 1 QPS limit that I hit but the concurrency limit per service method.

I issue a query each second, even if the prior query has not finished yet.
If these requests take longer than one second they may pile up (up to a limit defined by our application).
IMO there is another limit in place. Please provide documentation on that.

Regards,
Markus

Google Ads API Forum Advisor

unread,
Nov 14, 2022, 1:53:55 AM11/14/22
to markus...@adsoul.com, adwor...@googlegroups.com

Hi Markus,


I'm Darwin, also a member of the Google Ads API team. I work with Yasar and allow me to assist you here. I hope you are doing well today.
 

Upon checking your issue. It appears that you encountered a RESOURCE EXHAUSTED error, and my colleague assisted you in resolving the issue. I believe my colleague, explained your problem very well. As he provide this to you ;
 

"Kindly note that the generateKeywordIdeas is the planning services in the Google As API. Due to cost and complexity, the Planning service methods listed below are subject to separate limits from other types of requests.

 

 

If you are having the basic access level developer token, then the 15,000 API operations per day limit is still applicable. As all requests to Keyword Planning services for both standard and basic access are rate limited. Fewer requests are allowed per minute when compared to other services. Our recommendation is to cache or store results as you will receive the same response over a long time span. For example, if you request a set of existing keywords, the response is not going to change over a period of hours or days. In the case of historical metrics, the statistics refresh monthly. "


If you want to know more about another limit in Google Ads API, then, you may refer to this Rate limit and System Limits documentation.


Let us know if you have further questions.
 

Regards,

Google Logo
Darwin
Google Ads API Team
 


ref:_00D1U1174p._5004Q2g0e2e:ref

Markus Heiden

unread,
Dec 19, 2022, 11:07:11 AM12/19/22
to Google Ads API and AdWords API Forum
Hello Darwin,

thanks for taking a second look. 

I was pretty sure that we don't violate the 1 RPS limit because we use a Guava rate limiter that should ensure that.
So maybe I'll try a little less than 1 RPS to avoid this kind of problem.

Thanks,
Markus

Google Ads API Forum Advisor

unread,
Dec 19, 2022, 1:29:25 PM12/19/22
to markus...@adsoul.com, adwor...@googlegroups.com

Hi Markus,


Thank you for getting back to us. I hope you are doing well today.
 

Moving forward to your concern, yes you may try less the RPS limit and let us know if what goes on. If you still encounter the problem you may reach out to us again so that our team further checks your concern again.
 

Reply all
Reply to author
Forward
0 new messages