[go: nahoru, domu]

In order to deliver reliable services to AdWords API users across the globe, we use a Token Bucket algorithm to meter requests and determine the queries per second (QPS) rate. This is intended to prevent malicious or out-of-control software from overwhelming the AdWords API servers and affecting other users.

We recognize that your AdWords API client application may sometimes exceed the limit and receive a RateExceededError due to factors not fully in your control. Don’t worry. RateExceededError is usually transient and automatically resolved after 30 seconds of inactivity.

Rate limits fluctuate based on different variables, including server load. So we don’t recommend a fixed QPS limit to developers. That’s why it’s extremely important to understand how to handle RateExceededError, and develop your software with rate limits in mind.

Please take a look at our detailed AdWords API Rate Limit guide to learn more about:

  • Different types of rate limits and rate limit scopes
  • Operational limits for different account access levels
  • Recommended practices to avoid exceeding different rate limits
  • Tips for handling RateExceededError gracefully in your application, if it happens

When you need to retrieve a large set of objects, such as a list of criteria for an account, it’s tempting to use one simple query with a paging parameter to pull the data from the server page-by-page.

While this approach is acceptable for most queries, it has some limitations:

  • The AdWords API does not allow you to retrieve data whose start index is past 50000
  • Unit cost for the request will depend on the number of pages and will be relatively expensive
  • A parallel update request may interfere with the process
  • Error handling and retry logic could be complex

We recommend using one of the following approaches instead:

  1. Use AdHoc reporting to obtain data. With reports, you can still retrieve most fields available through SOAP requests, with the added bonus of AdHoc reporting being faster and free of unit costs.
  2. Try to narrow the query as much as possible with predicates. Group queries by Campaign and AdGroup to retrieve only required data and to fit all results into one response.

Also, you can save bandwidth and retrieve large results faster by enabling transparent gzip compression. Check out our best practices page for more details on this feature and other recommendations.

As always, please feel free to ask any questions regarding the AdWords API on our forum or during scheduled office hours.