Google Ads · Capability

Google Ads API

The Google Ads API is the modern programmatic interface to Google Ads and the next generation of the AdWords API. It enables developers to interact directly with the Google Ads platform, vastly increasing the efficiency of managing large or complex Google Ads accounts and campaigns. The API allows for creating, reading, updating, and removing campaigns, ad groups, ads, keywords, and retrieving performance reports using Google Ads Query Language (GAQL).

Run with Naftiko GoogleAdsAPI

What You Can Do

POST
Searchgoogleads — Search Using Google Ads Query Language
/v18/customers/{customerId}/googleAds:search
POST
Searchstreamgoogleads — Search Stream Using Google Ads Query Language
/v18/customers/{customerId}/googleAds:searchStream
POST
Mutatecampaigns — Google Ads Create, Update, or Remove Campaigns
/v18/customers/{customerId}/campaigns:mutate
POST
Mutateadgroups — Google Ads Create, Update, or Remove Ad Groups
/v18/customers/{customerId}/adGroups:mutate
POST
Mutateadgroupads — Google Ads Create, Update, or Remove Ads
/v18/customers/{customerId}/adGroupAds:mutate
POST
Mutateadgroupcriteria — Google Ads Create, Update, or Remove Keywords and Criteria
/v18/customers/{customerId}/adGroupCriteria:mutate
POST
Mutatecampaignbudgets — Google Ads Create, Update, or Remove Campaign Budgets
/v18/customers/{customerId}/campaignBudgets:mutate
POST
Mutatebiddingstrategies — Google Ads Create, Update, or Remove Bidding Strategies
/v18/customers/{customerId}/biddingStrategies:mutate
GET
Getcustomer — Google Ads Get Customer Account Details
/v18/customers/{customerId}
GET
Listaccessiblecustomers — Google Ads List Accessible Customer Accounts
/v18/customers:listAccessibleCustomers

MCP Tools

searchgoogleads

Search Using Google Ads Query Language

searchstreamgoogleads

Search Stream Using Google Ads Query Language

mutatecampaigns

Google Ads Create, Update, or Remove Campaigns

mutateadgroups

Google Ads Create, Update, or Remove Ad Groups

mutateadgroupads

Google Ads Create, Update, or Remove Ads

mutateadgroupcriteria

Google Ads Create, Update, or Remove Keywords and Criteria

mutatecampaignbudgets

Google Ads Create, Update, or Remove Campaign Budgets

mutatebiddingstrategies

Google Ads Create, Update, or Remove Bidding Strategies

getcustomer

Google Ads Get Customer Account Details

read-only idempotent
listaccessiblecustomers

Google Ads List Accessible Customer Accounts

read-only idempotent

Capability Spec

google-ads-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Google Ads API
  description: The Google Ads API is the modern programmatic interface to Google Ads and the next generation of the AdWords
    API. It enables developers to interact directly with the Google Ads platform, vastly increasing the efficiency of managing
    large or complex Google Ads accounts and campaigns. The API allows for creating, reading, updating, and removing campaigns,
    ad groups, ads, keywords, and retrieving performance reports using Google Ads Query Language (GAQL).
  tags:
  - Google
  - Ads
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: google-ads
    baseUri: https://googleads.googleapis.com
    description: Google Ads API HTTP API.
    authentication:
      type: bearer
      token: '{{GOOGLE_ADS_TOKEN}}'
    resources:
    - name: v18-customers-customerid-googleads-search
      path: /v18/customers/{customerId}/googleAds:search
      operations:
      - name: searchgoogleads
        method: POST
        description: Search Using Google Ads Query Language
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-googleads-searchstream
      path: /v18/customers/{customerId}/googleAds:searchStream
      operations:
      - name: searchstreamgoogleads
        method: POST
        description: Search Stream Using Google Ads Query Language
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-campaigns-mutate
      path: /v18/customers/{customerId}/campaigns:mutate
      operations:
      - name: mutatecampaigns
        method: POST
        description: Google Ads Create, Update, or Remove Campaigns
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-adgroups-mutate
      path: /v18/customers/{customerId}/adGroups:mutate
      operations:
      - name: mutateadgroups
        method: POST
        description: Google Ads Create, Update, or Remove Ad Groups
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-adgroupads-mutate
      path: /v18/customers/{customerId}/adGroupAds:mutate
      operations:
      - name: mutateadgroupads
        method: POST
        description: Google Ads Create, Update, or Remove Ads
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-adgroupcriteria-mutate
      path: /v18/customers/{customerId}/adGroupCriteria:mutate
      operations:
      - name: mutateadgroupcriteria
        method: POST
        description: Google Ads Create, Update, or Remove Keywords and Criteria
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-campaignbudgets-mutate
      path: /v18/customers/{customerId}/campaignBudgets:mutate
      operations:
      - name: mutatecampaignbudgets
        method: POST
        description: Google Ads Create, Update, or Remove Campaign Budgets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid-biddingstrategies-mutat
      path: /v18/customers/{customerId}/biddingStrategies:mutate
      operations:
      - name: mutatebiddingstrategies
        method: POST
        description: Google Ads Create, Update, or Remove Bidding Strategies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-customerid
      path: /v18/customers/{customerId}
      operations:
      - name: getcustomer
        method: GET
        description: Google Ads Get Customer Account Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v18-customers-listaccessiblecustomers
      path: /v18/customers:listAccessibleCustomers
      operations:
      - name: listaccessiblecustomers
        method: GET
        description: Google Ads List Accessible Customer Accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: google-ads-rest
    description: REST adapter for Google Ads API.
    resources:
    - path: /v18/customers/{customerId}/googleAds:search
      name: searchgoogleads
      operations:
      - method: POST
        name: searchgoogleads
        description: Search Using Google Ads Query Language
        call: google-ads.searchgoogleads
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/googleAds:searchStream
      name: searchstreamgoogleads
      operations:
      - method: POST
        name: searchstreamgoogleads
        description: Search Stream Using Google Ads Query Language
        call: google-ads.searchstreamgoogleads
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/campaigns:mutate
      name: mutatecampaigns
      operations:
      - method: POST
        name: mutatecampaigns
        description: Google Ads Create, Update, or Remove Campaigns
        call: google-ads.mutatecampaigns
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/adGroups:mutate
      name: mutateadgroups
      operations:
      - method: POST
        name: mutateadgroups
        description: Google Ads Create, Update, or Remove Ad Groups
        call: google-ads.mutateadgroups
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/adGroupAds:mutate
      name: mutateadgroupads
      operations:
      - method: POST
        name: mutateadgroupads
        description: Google Ads Create, Update, or Remove Ads
        call: google-ads.mutateadgroupads
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/adGroupCriteria:mutate
      name: mutateadgroupcriteria
      operations:
      - method: POST
        name: mutateadgroupcriteria
        description: Google Ads Create, Update, or Remove Keywords and Criteria
        call: google-ads.mutateadgroupcriteria
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/campaignBudgets:mutate
      name: mutatecampaignbudgets
      operations:
      - method: POST
        name: mutatecampaignbudgets
        description: Google Ads Create, Update, or Remove Campaign Budgets
        call: google-ads.mutatecampaignbudgets
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}/biddingStrategies:mutate
      name: mutatebiddingstrategies
      operations:
      - method: POST
        name: mutatebiddingstrategies
        description: Google Ads Create, Update, or Remove Bidding Strategies
        call: google-ads.mutatebiddingstrategies
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers/{customerId}
      name: getcustomer
      operations:
      - method: GET
        name: getcustomer
        description: Google Ads Get Customer Account Details
        call: google-ads.getcustomer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v18/customers:listAccessibleCustomers
      name: listaccessiblecustomers
      operations:
      - method: GET
        name: listaccessiblecustomers
        description: Google Ads List Accessible Customer Accounts
        call: google-ads.listaccessiblecustomers
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: google-ads-mcp
    transport: http
    description: MCP adapter for Google Ads API for AI agent use.
    tools:
    - name: searchgoogleads
      description: Search Using Google Ads Query Language
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.searchgoogleads
      outputParameters:
      - type: object
        mapping: $.
    - name: searchstreamgoogleads
      description: Search Stream Using Google Ads Query Language
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.searchstreamgoogleads
      outputParameters:
      - type: object
        mapping: $.
    - name: mutatecampaigns
      description: Google Ads Create, Update, or Remove Campaigns
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutatecampaigns
      outputParameters:
      - type: object
        mapping: $.
    - name: mutateadgroups
      description: Google Ads Create, Update, or Remove Ad Groups
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutateadgroups
      outputParameters:
      - type: object
        mapping: $.
    - name: mutateadgroupads
      description: Google Ads Create, Update, or Remove Ads
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutateadgroupads
      outputParameters:
      - type: object
        mapping: $.
    - name: mutateadgroupcriteria
      description: Google Ads Create, Update, or Remove Keywords and Criteria
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutateadgroupcriteria
      outputParameters:
      - type: object
        mapping: $.
    - name: mutatecampaignbudgets
      description: Google Ads Create, Update, or Remove Campaign Budgets
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutatecampaignbudgets
      outputParameters:
      - type: object
        mapping: $.
    - name: mutatebiddingstrategies
      description: Google Ads Create, Update, or Remove Bidding Strategies
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: google-ads.mutatebiddingstrategies
      outputParameters:
      - type: object
        mapping: $.
    - name: getcustomer
      description: Google Ads Get Customer Account Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-ads.getcustomer
      outputParameters:
      - type: object
        mapping: $.
    - name: listaccessiblecustomers
      description: Google Ads List Accessible Customer Accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: google-ads.listaccessiblecustomers
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    GOOGLE_ADS_TOKEN: GOOGLE_ADS_TOKEN