AdWords API


This page lists various limits in the AdWords API along with the corresponding error that is thrown when the limit is exceeded. General product limits, such as the number of campaigns per account, is listed in the AdWords Help Center.

Please note that UTF-8 encoding is used when calculating byte limits for string values.

  1. Ad
  2. Ad group
  3. Budget
  4. Campaign
  5. Criterion
  6. Feed
  7. General
  8. Targeting idea
  9. Traffic estimator

Description Value Error Notes
Headline length (normal / long) 25 / 30 characters PolicyViolationError or AdError.LINE_TOO_WIDE Double-width characters count as two characters for the purpose of this limit. Longer text ads are allowed in some countries. Campaigns targeting countries that don't allow longer text ads will throw a PolicyViolationError with policyName "line_overflow" if the length is greater than normal maximum but smaller than the longer maximum.
Description1 or description2 length (normal / long) 35 / 38 characters PolicyViolationError or AdError.LINE_TOO_WIDE See above.
Display URL length 255 bytes AdError.LINE_TOO_WIDE Display URLs will be shortened if greater than 35 characters long, but this field allows for additional characters because the domain of the display URL and destination URL must match.
Destination URL length 2,047 bytes AdError.URL_MALFORMED A protocol prefix (such as "http://") is required for destination URLs and is counted against this limit.
Mobile Text Ad Destination URL length 500 bytes AdError.TOO_LONG See above.
Mobile Image Ad Destination URL length 200 bytes AdError.TOO_LONG See above.

Ad group

Description Value Error Notes
Name length 255 bytes AdGroupServiceError.INVALID_ADGROUP_NAME N/A
Shopping ad groups that can be modified in a single request 2 AdGroupCriterionError.OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS N/A


Description Value Error Notes
Maximum number of shared budgets in an account 11,000 EntityCountLimitExceeded.ACCOUNT_LIMIT The budgets limit is 1,000 more than the number of campaigns limit to allow for some room in reassigning budgets if needed. There is no restriction on the number of campaigns that can share a budget.
Maximum number of unshared budgets in an account 20,000 EntityCountLimitExceeded.ACCOUNT_LIMIT These are budgets that are associated with a specific campaign, and cannot be shared between campaigns.


Description Value Error Notes
Name length 128 bytes CampaignError.INVALID_CAMPAIGN_NAME N/A


Description Value Error Notes
Keyword length 80 characters CriterionError.KEYWORD_TEXT_TOO_LONG N/A
Placement URL length 250 characters CriterionError.PLACEMENT_URL_IS_TOO_LONG Protocol prefixes (such as "http://") are stripped from placement URLs and are not counted towards this limit.
Placement URL depth 2 levels CriterionError.INVALID_FORMAT_FOR_PLACEMENT_URL Only applies to placements that target a site section (such as "www.example.com/foo/bar/"). Placements targeting a specific page are not subject to this limit (such as "www.example.com/foo/bar/hello/world.html").
Destination URL length 2,047 bytes CriterionPolicyError.POLICY_ERROR The protocol prefix (such as "http://") is counted towards this limit.
Proximity radius 800 km / 500 mi CriterionError.INVALID_PROXIMITY_RADIUS N/A


Description Value Error Notes
Feeds per account 20 EntityCountLimitExceeded.ACCOUNT_LIMIT We recommend using only one feed per extension type whenever possible.
Feed items per account 400,000 EntityCountLimitExceeded.ACCOUNT_LIMIT N/A
Feed attributes per feed 20 EntityCountLimitExceeded.ACCOUNT_LIMIT N/A
Feed items per matching function 20 EntityCountLimitExceeded.ACCOUNT_LIMIT N/A


Description Value Error Notes
Operations per request 5,000 SizeLimitError.REQUEST_SIZE_LIMIT_EXCEEDED For performance reasons we typically recommend passing no more than 2,000 operations per request. You can read more about batching operations in the Best Practices Guide.
Results per page 10,000 SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED N/A
Results per request 150,000 SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED A get call to a service that touches all your campaigns may result in more than 150K returned items (e.g. AdGroupCriterionService.get()). Use predicates to limit your call to only a few campaigns.
Size of a POST request 16 MB HTTP Error 413 - Request entity too large The maximum allowed content length for a POST body is 16MB.
Start index of request 100,000 SelectorError.START_INDEX_IS_TOO_HIGH To avoid this limit when retrieving a large result set,
  1. Narrow the query as much as possible using predicates. Group queries by Campaign and AdGroup to retrieve only required data and to fit all results into one response.
  2. Use AdHoc reporting to obtain data. You can retrieve most fields with reports.

Targeting idea

Description Value Error Notes
Seed keywords per stats request 800 CollectionSizeError.TOO_MANY N/A
Seed keywords per keyword ideas request 200 CollectionSizeError.TOO_MANY N/A
Seed keywords per placement ideas request 800 CollectionSizeError.TOO_MANY N/A
Seed placements per keyword ideas request 1 CollectionSizeError.TOO_MANY N/A
Seed placements per placement ideas request 5 CollectionSizeError.TOO_MANY N/A

Traffic estimator

Description Value Error Notes
Keyword estimates per request 2,500 TrafficEstimatorError.TOO_MANY_KEYWORD_ESTIMATE_REQUESTS N/A
Sum of keywords x locations x languages in each campaign estimate request 50,000 TrafficEstimatorError.TOO_MANY_TARGETS N/A