{
  "name": "Google Ads API",
  "slug": "google-keyword-planner",
  "website_url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
  "vendor_description": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
  "categories": [
    "seo-keywords"
  ],
  "summary": "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.",
  "capabilities": {
    "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)"
    ],
    "supported_regions": [],
    "supported_languages": [],
    "input_types": [
      "JSON",
      "Protobuf"
    ],
    "output_types": [
      "JSON",
      "Protobuf"
    ],
    "webhooks_supported": false,
    "sandbox_available": true,
    "sdk_languages": [
      "Java",
      "Python",
      ".NET",
      "PHP",
      "Ruby",
      "Perl",
      "Node.js",
      "Go"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "grpc",
    "base_url": "https://googleads.googleapis.com/v24",
    "api_version": "v24",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": "https://developers.google.com/google-ads/api/docs/sunset-dates",
    "auth_methods": [
      "oauth2"
    ],
    "auth_docs_url": "https://developers.google.com/google-ads/api/docs/oauth/overview",
    "idempotency_supported": false,
    "error_format": "vendor-specific",
    "webhook_signing": null,
    "webhook_events_url": null,
    "rate_limit_requests": 1,
    "rate_limit_window": "second",
    "sdk_packages": [
      {
        "stars": 207,
        "package": "com.google.api-ads:google-ads",
        "archived": false,
        "language": "Java",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-java",
        "last_pushed_at": "2026-06-05T20:35:48Z"
      },
      {
        "stars": 707,
        "package": "google-ads",
        "archived": false,
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-python",
        "last_pushed_at": "2026-06-05T13:16:25Z"
      },
      {
        "stars": 87,
        "package": "Google.Ads.GoogleAds",
        "archived": false,
        "language": ".NET",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-dotnet",
        "last_pushed_at": "2026-06-06T18:04:50Z"
      },
      {
        "stars": 347,
        "package": "googleads/google-ads-php",
        "archived": false,
        "language": "PHP",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-php",
        "last_pushed_at": "2026-06-04T18:03:38Z"
      },
      {
        "stars": 83,
        "package": "google-ads-googleads",
        "archived": false,
        "language": "Ruby",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-ruby",
        "last_pushed_at": "2026-05-28T15:40:18Z"
      },
      {
        "stars": 20,
        "package": "Google::Ads::GoogleAds",
        "archived": false,
        "language": "Perl",
        "official": true,
        "repo_url": "https://github.com/googleads/google-ads-perl",
        "last_pushed_at": "2026-05-13T18:32:20Z"
      },
      {
        "package": "google-ads-api",
        "language": "Node.js",
        "official": false,
        "repo_url": "https://www.npmjs.com/package/google-ads-api"
      },
      {
        "stars": 109,
        "package": "github.com/shenzhencenter/google-ads-pb",
        "archived": false,
        "language": "Go",
        "official": false,
        "repo_url": "https://github.com/shenzhencenter/google-ads-pb",
        "last_pushed_at": "2026-05-06T15:44:45Z"
      }
    ],
    "mcp_url": "https://github.com/googleads/google-ads-mcp",
    "quickstart_url": "https://developers.google.com/google-ads/api/docs/get-started/make-first-call"
  },
  "pricing": {
    "pricing_model": null,
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": null,
    "free_tier_available": true,
    "free_tier_limit": null,
    "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.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": false,
    "price_points": []
  },
  "compliance": {
    "soc2": null,
    "hipaa": null,
    "gdpr": true,
    "iso_27001": true,
    "pci_dss": false,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://support.google.com/google-ads/answer/15188209?hl=en",
    "documented_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.",
    "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."
    ]
  },
  "developer": {
    "docs_url": "https://developers.google.com/docs",
    "api_reference_url": null,
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": null,
    "llms_txt_url": null,
    "markdown_docs_url": null
  },
  "adoption": {
    "launched_at": null,
    "ga_date": "2026-04-22",
    "github_stars": 207,
    "github_stars_at": "2026-06-07T18:55:30.898Z",
    "notable_customers": []
  },
  "scores": {
    "agent_friendliness": null,
    "pricing_transparency": null,
    "setup_speed": null,
    "docs_quality": null,
    "procurement_friction": null,
    "trust_readiness": null,
    "best_for": [],
    "avoid_if": []
  },
  "sources": [
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/test-accounts",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/terms",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://business.safety.google/compliance/?hl=en",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/rest/design/json-mappings",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/make-first-call",
      "excerpt": "How to sign up for a developer token · Navigate to API Center in your web browser. Sign in to your Google Ads manager account if prompted. · Complete the API",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://developers.google.com/google-ads/api/rest/design/json-mappings",
      "excerpt": "When using the Google Ads API's REST interface, you're working with JSON representations of the same resources and types defined in the Google Ads API's .proto",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developers.google.com/merchant/api/guides/accounts/test-accounts",
      "excerpt": "By using sandboxed test accounts, you can experiment with API calls, validate code, and identify potential issues early in the development cycle",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs/dotnet/working-with-protobuf",
      "excerpt": "The Google Ads API uses proto3 as its default payload format, requiring an understanding of its conventions and types.",
      "confidence": "high"
    },
    {
      "field": "sandbox_available",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/test-accounts",
      "excerpt": "Don't require an approved developer token, so you can start experimenting with the API immediately, even before your application is reviewed or approved. Can't",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": "1 QPS is calculated as 60 requests per 60 seconds. Limited to 2 requests per second per CID: KeywordPlanIdeaService.GenerateAdGroupTheme.",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "high"
    },
    {
      "field": "output_types",
      "url": "https://developers.google.com/google-ads/api/rest/design/json-mappings",
      "excerpt": "When using the Google Ads API's REST interface, you're working with JSON representations of the same resources and types defined in the Google Ads API's .proto",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://groups.google.com/g/adwords-api/c/82FOMMMA9DM",
      "excerpt": "Hi Team, I would like to know how frequently the cost_micros, campaign_budget_name, ads_spent_date_ct, clicks , impressions etc gets updated",
      "confidence": "medium"
    },
    {
      "field": "webhooks_supported",
      "url": "https://groups.google.com/g/adwords-api/c/PKwAU1ZI1HQ",
      "excerpt": "I'd like to be able to set a balance threshold, and receive a notification (e.g., via email or webhook) when the account balance drops below",
      "confidence": "medium"
    },
    {
      "field": "free_tier_available",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://developers.google.com/google-ads/api/docs/targeting/location-targeting",
      "excerpt": "You can target campaigns to any geographical region for which Google Ads supports location targeting, such as a country, a state, a city, or a postal region.",
      "confidence": "medium"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/make-first-call",
      "excerpt": "How to sign up for a developer token · Navigate to API Center in your web browser. Sign in to your Google Ads manager account if prompted. · Complete the API",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://business.safety.google/compliance/",
      "excerpt": "GDPR. The General Data Protection Regulation (GDPR) went into effect May 25, 2018.",
      "confidence": "high"
    },
    {
      "field": "website_url",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas",
      "excerpt": "Using the KeywordPlanIdeaService , you can search for new keywords that are relevant to your Google Search campaign, or find historical metrics on keywords",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-historical-metrics",
      "excerpt": "To generate historical metrics call KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics with the parameters you would like to include.",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/developer-token",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://business.safety.google/compliance/",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://support.google.com/google-ads/answer/9433788?hl=en",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/targeting/location-targeting",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/support/compliance",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://support.google.com/google-ads/answer/7459813?hl=en",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "soc2",
      "url": "https://support.google.com/google-ads/thread/102096619/security-compliance-reports?hl=en",
      "excerpt": "I am looking to identify the security compliance reports eg ISO27001 or SOC2 reports for Google Marketing Platform products.",
      "confidence": "medium"
    },
    {
      "field": "mcp_server_available",
      "url": "https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server",
      "excerpt": "The Model Context Protocol (MCP) is an open standard that enables Large Language Models (LLMs) to securely interact with external data and",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/rate-limits",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-historical-metrics",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/rate-sheet",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/rate-limits",
      "excerpt": "The Google Ads API buckets requests for rate limiting by queries per second (QPS) per client customer ID (CID) and developer token.",
      "confidence": "high"
    },
    {
      "field": "output_types",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs/dotnet/working-with-protobuf",
      "excerpt": "The Google Ads API uses proto3 as its default payload format, requiring an understanding of its conventions and types.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs",
      "excerpt": "Our client libraries provide high-level views and basic building blocks of Google Ads API functionality, making it easier to develop apps quickly.",
      "confidence": "high"
    },
    {
      "field": "name",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "high"
    },
    {
      "field": "iso_27001",
      "url": "https://support.google.com/google-ads/answer/9433788?hl=en",
      "excerpt": "Google has earned ISO 27001 certification for the systems, applications, people, technology, processes and data centers serving a number of Google products.",
      "confidence": "medium"
    },
    {
      "field": "webhooks_supported",
      "url": "https://zapier.com/apps/google-ads/integrations/webhook",
      "excerpt": "When offline sales data is updated via a webhook, Zapier can push the information to Google Ads as offline conversions.",
      "confidence": "medium"
    },
    {
      "field": "minimum_commitment",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/test-accounts",
      "excerpt": "Don't require an approved developer token, so you can start experimenting with the API immediately, even before your application is reviewed or approved.",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "http://support.google.com/analytics/answer/3379636?hl=en",
      "excerpt": "The Google Ads Data Processing Terms are meant for businesses affected by the European Economic Area (EEA) General Data Protection Regulation (GDPR),",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": "Keyword Planning is a process for getting keyword metrics and forecasts as well as searching for new keywords to add to campaigns.",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics",
      "excerpt": "Forecast metrics provide metrics for proposed or existing campaigns, including: Impressions; Click through rate; Average cost per click; Clicks; Cost.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas",
      "excerpt": "Using the KeywordPlanIdeaService , you can search for new keywords that are relevant to your Google Search campaign, or find historical metrics on keywords",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics",
      "excerpt": "Forecast metrics provide metrics for proposed or existing campaigns, including: Impressions; Click through rate; Average cost per click; Clicks; Cost.",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/rate-limits",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-forecast-metrics",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-historical-metrics",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/rate-sheet",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/test-accounts",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/terms",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://business.safety.google/compliance/?hl=en",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "hipaa",
      "url": "https://developers.google.com/google-ads/api/rest/design/json-mappings",
      "excerpt": null,
      "confidence": "medium"
    },
    {
      "field": "supported_languages",
      "url": "https://support.google.com/google-ads/answer/7459813?hl=en",
      "excerpt": "The Smart campaign interface is available in 44 languages, which can be found here. Note: These languages are different from the ones you can write your ads in.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://cloud.google.com/security/compliance/soc-2",
      "excerpt": "Google Cloud undergoes a regular third-party audit to certify individual products against SOC 2 standards.",
      "confidence": "medium"
    },
    {
      "field": "mcp_server_available",
      "url": "https://github.com/google-marketing-solutions/google_ads_mcp",
      "excerpt": "The Google Ads MCP Server is an implementation of the Model Context Protocol (MCP) that enables Large Language Models (LLMs), such as Gemini, to interact",
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/overview",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/keyword-planning/generate-keyword-ideas",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/developer-token",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://business.safety.google/compliance/",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://support.google.com/google-ads/answer/9433788?hl=en",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/docs/targeting/location-targeting",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://developers.google.com/google-ads/api/support/compliance",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "pci_dss",
      "url": "https://support.google.com/google-ads/answer/7459813?hl=en",
      "excerpt": null,
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/access-levels",
      "excerpt": "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.",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/test-accounts",
      "excerpt": "Don't require an approved developer token, so you can start experimenting with the API immediately, even before your application is reviewed or approved.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/introduction",
      "excerpt": "The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://developers.google.com/google-ads/api/rest/overview",
      "excerpt": "The Google Ads API can be called either using gRPC or REST.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developers.google.com/google-ads/api/rest/design/overview",
      "excerpt": "All REST URLs for a particular version of the API (e.g., v24 ) share a common API version prefix.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developers.google.com/google-ads/api/docs/concepts/versioning",
      "excerpt": "Older Google Ads API versions are periodically sunset, with notices posted on the developer blog and the deprecation schedule updated.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://developers.google.com/google-ads/api/docs/release-notes",
      "excerpt": "1 (2026-02-25). The following new features and updates were added in v23.1.",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/rate-sheet",
      "excerpt": "Each Google Ads API developer token is assigned an access level that determines whether you can affect production accounts and the number of operations and",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/access-levels",
      "excerpt": "Basic Access level allows the developer token to execute up to 15,000 operations per day. This is sufficient for most developers.",
      "confidence": "high"
    },
    {
      "field": "free_tier_limit",
      "url": "https://groups.google.com/g/adwords-api/c/33Z85Q3gkWU",
      "excerpt": "Regarding costs, there is currently no cost required to use the Google Ads API.",
      "confidence": "high"
    },
    {
      "field": "fields_not_found",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/introduction",
      "excerpt": "The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns.",
      "confidence": "medium"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": "Limited to 2 requests per second per developer token: AudienceInsightsService.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_window",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/rate-limits",
      "excerpt": "The Google Ads API buckets requests for rate limiting by queries per second (QPS) per client customer ID (CID) and developer token.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/rate-sheet",
      "excerpt": "Each Google Ads API developer token is assigned an access level that determines whether you can affect production accounts and the number of operations and",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://groups.google.com/g/adwords-api/c/33Z85Q3gkWU",
      "excerpt": "Regarding costs, there is currently no cost required to use the Google Ads API.",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://developers.google.com/google-ads/api/docs/concepts/versioning",
      "excerpt": "Older Google Ads API versions are periodically sunset, with notices posted on the developer blog and the deprecation schedule updated.",
      "confidence": "high"
    },
    {
      "field": "versioning_scheme",
      "url": "https://developers.google.com/google-ads/api/rest/design/overview",
      "excerpt": "All REST URLs for a particular version of the API (e.g., v24 ) share a common API version prefix.",
      "confidence": "high"
    },
    {
      "field": "auth_docs_url",
      "url": "https://developers.google.com/google-ads/api/docs/oauth/overview",
      "excerpt": "Google Ads API utilizes the OAuth 2.0 protocol for authentication and authorization, allowing your app to access user accounts without handling login",
      "confidence": "high"
    },
    {
      "field": "auth_docs_url",
      "url": "https://developers.google.com/google-ads/api/docs/oauth/internals",
      "excerpt": "A single access token can grant varying degrees of access to multiple APIs. A variable parameter called scope controls the set of resources and operations that",
      "confidence": "high"
    },
    {
      "field": "price_basis",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/rate-sheet",
      "excerpt": "Each Google Ads API developer token is assigned an access level that determines whether you can affect production accounts and the number of operations and",
      "confidence": "high"
    },
    {
      "field": "price_basis",
      "url": "https://groups.google.com/g/adwords-api/c/33Z85Q3gkWU",
      "excerpt": "Regarding costs, there is currently no cost required to use the Google Ads API.",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/access-levels",
      "excerpt": "Basic Access level allows the developer token to execute up to 15,000 operations per day. This is sufficient for most developers.",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/make-first-call",
      "excerpt": "Key Point: Note the developer token you obtain from this step and its access level. The developer token is an alphanumeric string that is 22 characters long.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://developers.google.com/google-ads/api/rest/overview",
      "excerpt": "The Google Ads API can be called either using gRPC or REST. Both interfaces expose a resource-oriented design shared with other Google Cloud APIs.",
      "confidence": "high"
    },
    {
      "field": "idempotency_supported",
      "url": "https://developers.google.com/google-ads/api/docs/mutating/best-practices",
      "excerpt": "If a temporary ID is reused in a single job or mutate request, then an error is returned.",
      "confidence": "medium"
    },
    {
      "field": "idempotency_supported",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/handle-errors",
      "excerpt": "The Google Ads API returns error information in a standard format. If an error occurs, the response will contain a GoogleAdsFailure object.",
      "confidence": "medium"
    },
    {
      "field": "idempotency_supported",
      "url": "https://groups.google.com/g/adwords-api/c/MhuvTM-x1ng",
      "excerpt": "Does anyone have any advice on how to retry sweeping account changes or write code that interacts with the API in an idempotent way?",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/introduction",
      "excerpt": "The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns.",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://developers.google.com/google-ads/api/docs/developer-toolkit/mcp-server",
      "excerpt": "By implementing this MCP server, you eliminate the need to write custom \"glue code\" for Google Ads API authentication, resource fetching, and",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://github.com/googleads/google-ads-mcp",
      "excerpt": "Google Ads MCP Server. This repo contains the source code for running an MCP server that interacts with the Google Ads API.",
      "confidence": "high"
    },
    {
      "field": "ga_date",
      "url": "https://developers.google.com/google-ads/api/docs/release-notes",
      "excerpt": "1 (2026-02-25). The following new features and updates were added in v23.1.",
      "confidence": "medium"
    },
    {
      "field": "ga_date",
      "url": "https://www.youtube.com/watch?v=sw_YjsWhYlY",
      "excerpt": "Google Ads API Release Highlights for v24. We're highlighting some of the main features of the release, as well as a live Q&A session.",
      "confidence": "medium"
    },
    {
      "field": "stability",
      "url": "https://developers.google.com/google-ads/api/docs/release-notes",
      "excerpt": "1 (2026-02-25). The following new features and updates were added in v23.1.",
      "confidence": "high"
    },
    {
      "field": "stability",
      "url": "https://developers.google.com/google-ads/api/docs/concepts/versioning",
      "excerpt": "Older Google Ads API versions are periodically sunset, with notices posted on the developer blog and the deprecation schedule updated.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://support.google.com/google-ads/answer/15188209?hl=en",
      "excerpt": "Beginning on June 1, 2026, hourly, daily and weekly reporting data collected by Google Ads one month will be available for 37 months.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "http://ads-developers.googleblog.com/2026/05/new-data-retention-policy-for-google.html",
      "excerpt": "Starting June 1, 2026, Google Ads and related measurement APIs will transition to a 37-month data retention policy for granular performance",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/quotas",
      "excerpt": "Limited to 2 requests per second per developer token: AudienceInsightsService.",
      "confidence": "medium"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://developers.google.com/google-ads/api/docs/productionize/rate-limits",
      "excerpt": "The Google Ads API buckets requests for rate limiting by queries per second (QPS) per client customer ID (CID) and developer token.",
      "confidence": "medium"
    },
    {
      "field": "deprecation_policy_url",
      "url": "https://developers.google.com/google-ads/api/docs/sunset-dates",
      "excerpt": "Ads API · Guides · Reference · Libraries and samples · Policies · Support · Upgrade your API version · Deprecation and sunset. Reporting reference.",
      "confidence": "high"
    },
    {
      "field": "deprecation_policy_url",
      "url": "http://ads-developers.googleblog.com/2025/12/google-ads-api-v19-sunset-reminder.html",
      "excerpt": "Dec 15, 2025 — Google Ads API v19 will sunset on February 11, 2026. Starting on this date, all v19 API requests will begin to fail.",
      "confidence": "high"
    },
    {
      "field": "quickstart_url",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/make-first-call",
      "excerpt": "Key Point: Note the developer token you obtain from this step and its access level. The developer token is an alphanumeric string that is 22 characters long.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developers.google.com/google-ads/api/docs/oauth/overview",
      "excerpt": "Google Ads API utilizes the OAuth 2.0 protocol for authentication and authorization, allowing your app to access user accounts without handling login",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://developers.google.com/google-ads/api/docs/oauth/internals",
      "excerpt": "A single access token can grant varying degrees of access to multiple APIs. A variable parameter called scope controls the set of resources and operations that",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://developers.google.com/google-ads/api/rest/design/overview",
      "excerpt": "All REST URLs for a particular version of the API (e.g., v24 ) share a common API version prefix.",
      "confidence": "medium"
    },
    {
      "field": "api_version",
      "url": "https://developers.google.com/google-ads/api/docs/release-notes",
      "excerpt": "1 (2026-02-25). The following new features and updates were added in v23.1.",
      "confidence": "medium"
    },
    {
      "field": "sdk_packages",
      "url": "https://developers.google.com/google-ads/api/docs/client-libs",
      "excerpt": "Our client libraries provide high-level views and basic building blocks of Google Ads API functionality, making it easier to develop apps quickly.",
      "confidence": "medium"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/googleads/google-ads-python",
      "excerpt": "Google Ads API Client Library for Python. This project hosts the Python client library for the Google Ads API.",
      "confidence": "medium"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/googleads/google-ads-java/",
      "excerpt": "Google Ads API Client Library for Java. This project hosts the Java client library for the Google Ads API. Features.",
      "confidence": "medium"
    },
    {
      "field": "error_format",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/handle-errors",
      "excerpt": "The Google Ads API returns error information in a standard format. If an error occurs, the response will contain a GoogleAdsFailure object.",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://developers.google.com/google-ads/api/docs/best-practices/warnings",
      "excerpt": "GoogleAdsFailure contains a list of GoogleAdsError objects. Therefore, one submitted operation can contain many errors. GoogleAdsError tells you the error",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://metacpan.org/pod/Google::Ads::GoogleAds::GoogleAdsException",
      "excerpt": "The class represents the exception message from Google Ads API server. ... A Google::Ads::GoogleAds::V23::Errors::GoogleAdsFailure object or undef if not found.",
      "confidence": "high"
    },
    {
      "field": "sla_url",
      "url": "https://developers.google.com/google-ads/api/docs/api-policy/terms",
      "excerpt": "This Google Ads API Agreement is a non-exclusive agreement. You acknowledge that Google may be developing and may develop products or services",
      "confidence": "high"
    },
    {
      "field": "sla_url",
      "url": "https://groups.google.com/g/adwords-api/c/W6AsryDsiAc",
      "excerpt": "Realistically, Google is a service provider. They provide a mechanism for advertisers to advertise. They charge handsomely for this service.",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/introduction",
      "excerpt": "The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns.",
      "confidence": "medium"
    },
    {
      "field": "launched_at",
      "url": "https://en.wikipedia.org/wiki/Google_Ads",
      "excerpt": "Google launched AdWords in year 2000. Initially, Google itself would set up and manage advertisers' campaigns",
      "confidence": "medium"
    },
    {
      "field": "launched_at",
      "url": "https://www.dataslayer.ai/blog/the-new-google-ads-api-vs-the-old-google-adwords-api-dataslayer",
      "excerpt": "Aside from that, Google has now upgraded its Google AdWords API to Google Ads API. While this recent change introduced a lot of new features",
      "confidence": "medium"
    },
    {
      "field": "webhook_signing",
      "url": "https://developers.google.com/google-ads/api/docs/get-started/introduction",
      "excerpt": "The Google Ads API is the programmatic interface to Google Ads, used for managing large or complex Google Ads accounts and campaigns.",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "launched_at"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-06T00:00:00.000Z"
}