Google Ads API

Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns. [1]

developers.google.com/google-ads/api/docs/keyword-planning/overview · Agent JSON · Last verified 2026-06-06 · Source confidence: high

Google Keyword Planner, accessed through the Google Ads API, generates keyword ideas, historical metrics, and forecasts for campaign planning. It is a gRPC API using OAuth2, with eight official client libraries and an MCP server, and is self-serve for developers with a Google Ads account. The API is GDPR and ISO 27001 compliant. Best for teams already building on Google Ads that need programmatic keyword data.

Scores

Scores are derived in a separate pass from the literal fields below; not yet computed for this profile.

Pricing & procurement

Pricing model
Unknown [2]
Published pricing
Yes [3]
Free tier
Yes [4]
Free tier details
The Google Ads API is free to use; there are no charges for using the Google Ads API at Explorer Access, Basic Access, or Standard Access levels. [5]
Self-serve signup
Yes [6]
Requires sales call
No [7]
Enterprise plan
No [8]

Capabilities

  • Historical data
  • Local / geo data
  • PPC / ad data
Supported actions
KeywordPlanIdeaService.GenerateKeywordIdeas, KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics, KeywordPlanIdeaService.GenerateKeywordForecastMetrics, KeywordPlanIdeaService.GenerateAdGroupTheme, KeywordPlanService.mutate (create/update/remove keyword plans), KeywordPlanCampaignService.mutate (create/update/remove plan campaigns), KeywordPlanAdGroupService.mutate (create/update/remove plan ad groups), KeywordPlanAdGroupKeywordService.mutate (create/update/remove plan ad group keywords), KeywordPlanCampaignKeywordService.mutate (create/update/remove plan campaign negative keywords) [9]
Input types
JSON, Protobuf [10]
Output types
JSON, Protobuf [11]
Webhooks
No [12]
Sandbox / test mode
Yes [13]
SDK languages
Java, Python, .NET, PHP, Ruby, Perl, Node.js, Go [14]
MCP server
Yes [15]

Trust & compliance

SOC 2
Unknown [16]
HIPAA
Unknown [17]
GDPR
Yes [18]
ISO 27001
Yes [19]
PCI DSS
No [20]
Published SLA
No [21]
Rate limits
KeywordPlanIdeaService: GenerateKeywordIdeas 1 QPS per CID, GenerateKeywordHistoricalMetrics 1 QPS per CID, GenerateKeywordForecastMetrics 1 QPS per CID, GenerateAdGroupTheme 2 QPS per CID (1 QPS calculated as 60 requests per 60 seconds). Daily API operations: Explorer Access 2,880/day against production accounts, 15,000/day against test accounts; Basic Access 15,000/day against both test and production accounts. Keyword Plan object limits: 10,000 KeywordPlan per account, 200 KeywordPlanAdGroup per KeywordPlan, 10,000 KeywordPlanAdGroupKeyword per KeywordPlan, 1,000 KeywordPlanCampaignKeyword per KeywordPlan, 1 KeywordPlanCampaign per KeywordPlan. [22]
Known restrictions
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 do receive the same response over a long time span., In the case of historical metrics, the statistics refresh monthly., Forecasts are based on your campaign running unmodified for the duration of the forecast period. Changing the campaign, including bids and targeting prior to the forecast period, changes performance., Google may require that your app provide certain capabilities or features as listed in the Required Minimum Functionality (RMF). Non-compliance may result in fees., KeywordPlanCampaign is limited to 1 per KeywordPlan. [23]

Developer surface

Docs rendering: static

Integration

API style
grpc
Base URL
https://googleads.googleapis.com/v24
Version
v24
Versioning
url
Stability
ga
Auth methods
oauth2
Idempotency keys
No
Error format
vendor-specific
Rate limit
1 / second

SDKs

  • Java com.google.api-ads:google-ads · repo · updated 2026-06 · 207
  • Python google-ads · repo · updated 2026-06 · 707
  • .NET Google.Ads.GoogleAds · repo · updated 2026-06 · 87
  • PHP googleads/google-ads-php · repo · updated 2026-06 · 347
  • Ruby google-ads-googleads · repo · updated 2026-05 · 83
  • Perl Google::Ads::GoogleAds · repo · updated 2026-05 · 20
  • Node.js google-ads-api · repo
  • Go github.com/shenzhencenter/google-ads-pb · repo · updated 2026-05 · 109

Adoption & maturity

GA
2026-04-22

Other SEO & Keyword Data APIs

  • DataForSEO

    We provide comprehensive SEO and digital marketing data solutions via API

    Usage · public pricing · self-serve

  • Ahrefs API

    With Ahrefs API, you can use data from your Ahrefs workspace to create custom integrations and automations.

    Hybrid · public pricing · self-serve

  • Serpstat API

    The most cost-effective API SEO data provider

    Subscription · public pricing · self-serve

  • Semrush API

    Semrush API (Application Programming Interface) is a method of extracting raw Semrush data without manually logging into the platform.

    Hybrid · public pricing · self-serve

  • Keywords Everywhere

    Pull search volume, CPC, competition, related keywords, traffic and backlink data into your own app, over one REST API, using the same API key you already use in the extension.

    Hybrid · free tier · public pricing · self-serve

  • Moz API

    Moz API gives you the power to quickly create custom SEO tools, dashboards, and integrations — affordably and at scale.

    Hybrid · free tier · public pricing · self-serve

See all SEO & Keyword Data APIs APIs →

References

Each field above carries a numbered source — hover for a preview, click to jump here.

  1. Description: developers.google.com
  2. Pricing model: developers.google.com
  3. Published pricing: developers.google.com
  4. Free tier: developers.google.com
  5. Free tier details: developers.google.com
  6. Self-serve signup: developers.google.com · developers.google.com
  7. Requires sales call: developers.google.com · developers.google.com
  8. Enterprise plan: developers.google.com
  9. Supported actions: developers.google.com · developers.google.com · developers.google.com · developers.google.com
  10. Input types: developers.google.com · developers.google.com
  11. Output types: developers.google.com · developers.google.com
  12. Webhooks: groups.google.com · zapier.com
  13. Sandbox: developers.google.com · developers.google.com
  14. SDK languages: developers.google.com
  15. MCP server: developers.google.com · github.com
  16. SOC 2: support.google.com · cloud.google.com
  17. HIPAA: developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · business.safety.google · support.google.com · developers.google.com · developers.google.com · support.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · business.safety.google · developers.google.com
  18. GDPR: business.safety.google · support.google.com
  19. ISO 27001: support.google.com
  20. PCI DSS: developers.google.com · developers.google.com · developers.google.com · developers.google.com · business.safety.google · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · developers.google.com · business.safety.google · support.google.com · developers.google.com · developers.google.com · support.google.com
  21. Published SLA: groups.google.com
  22. Rate limits: developers.google.com · developers.google.com
  23. Known restrictions: developers.google.com · developers.google.com · developers.google.com

Change history

Every field change, who made it, and when — from our audited data pipeline and editors.

  1. 2026-06-08 Docs URL: (none)https://developers.google.com/docs
  2. 2026-06-08 Rendering: (none)static
  3. 2026-06-08 Llms Txt Present: (none)No
  4. 2026-06-07 SDK Packages: Java, Python, .NET, PHP, Ruby, Perl, Node.js, GoJava, Python, .NET, PHP, Ruby, Perl, Node.js, Go
  5. 2026-06-07 SDK Packages: Java, Python, .NET, PHP, Ruby, Perl, Node.js, GoJava, Python, .NET, PHP, Ruby, Perl, Node.js, Go
  6. 2026-06-07 Summary Md: (none)Google Keyword Planner, accessed through the Google Ads API, generates keyword …
  7. 2026-06-07 SDK Packages: Java, Python, .NET, PHP, Ruby, Perl, Node.js, GoJava, Python, .NET, PHP, Ruby, Perl, Node.js, Go
  8. 2026-06-07 Github Stars At: (none)2026-06-07T18:55:30.898Z
  9. 2026-06-07 Github Stars: (none)207
  10. 2026-06-07 SDK Packages: Java, C#, PHP, Python, Ruby, PerlJava, Python, .NET, PHP, Ruby, Perl, Node.js, Go
  11. 2026-06-07 MCP URL: (none)https://github.com/googleads/google-ads-mcp
  12. 2026-06-07 Quickstart URL: (none)https://developers.google.com/google-ads/api/docs/get-started/make-first-call
  13. 2026-06-07 Idempotency Supported: (none)No
  14. 2026-06-07 Error Format: (none)vendor-specific
  15. 2026-06-07 Rate Limit Window: (none)second
  16. 2026-06-07 Requires Verification: (none)No
  17. 2026-06-07 Data Retention Policy URL: (none)https://support.google.com/google-ads/answer/15188209?hl=en
  18. 2026-06-07 GA Date: (none)2026-04-22
  19. 2026-06-07 Fields Not Found: (none)launched_at
  20. 2026-06-07 SDK Languages: Java, C#, PHP, Python, Ruby, PerlJava, Python, .NET, PHP, Ruby, Perl, Node.js, Go
  21. 2026-06-07 Rate Limit Requests: (none)1
  22. 2026-06-07 Auth Methods: (none)oauth2
  23. 2026-06-07 Auth Docs URL: (none)https://developers.google.com/google-ads/api/docs/oauth/overview
  24. 2026-06-07 API Style: (none)grpc
  25. 2026-06-07 Base URL: (none)https://googleads.googleapis.com/v24
  26. 2026-06-07 API Version: (none)v24
  27. 2026-06-07 Versioning Scheme: (none)url
  28. 2026-06-07 Stability: (none)ga
  29. 2026-06-07 Deprecation Policy URL: (none)https://developers.google.com/google-ads/api/docs/sunset-dates
  30. 2026-06-07 SDK Packages: (none)Java, C#, PHP, Python, Ruby, Perl
  31. 2026-06-07 Capabilities: {"local_data":true,"ppc_ad_data":true,"historical_data":true}{"local_data":true,"ppc_ad_data":true,"historical_data":true}