{
  "info": {
    "name": "Google Ads — mcp.ai",
    "description": "REST API for the Google Ads MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/google_ads",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "google_ads_list_accounts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/accounts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "accounts"
          ]
        },
        "description": "List MCCs and ALL customer accounts accessible by the OAuth token",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "status"
          ]
        },
        "description": "Overview of MCCs and customer_ids (no account). Scope detail (with account).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/info",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "info"
          ]
        },
        "description": "Customer info: name, currency, timezone",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_campaigns",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/campaigns",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "campaigns"
          ]
        },
        "description": "List campaigns with status and budgets",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"status\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_today",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/today",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "today"
          ]
        },
        "description": "Today performance: cost, impressions, clicks, conversions, ROAS per campaign + _summary",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_roas",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/roas",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "roas"
          ]
        },
        "description": "ROAS for a date range (default current month). Per campaign + _summary.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"since\": \"\",\n  \"until\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_ads",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/ads",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "ads"
          ]
        },
        "description": "List enabled ads with type, status, campaign name and policy_summary (approval/review status)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_keywords",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/keywords",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "keywords"
          ]
        },
        "description": "Keywords: metrics, search terms, status/policy (action=status), auction / Quality Score diagnostics (action=diagnostics) or raw GAQL",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"action\": \"\",\n  \"query\": \"\",\n  \"campaign_id\": \"\",\n  \"ad_group_id\": \"\",\n  \"days\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_changes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/changes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "changes"
          ]
        },
        "description": "Change history (who changed what): campaigns, ads, bids, URLs, headlines, keywords, budgets",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"since\": \"\",\n  \"until\": \"\",\n  \"days\": 0,\n  \"limit\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_performance",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/customers/performance",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "customers",
            "performance"
          ]
        },
        "description": "Daily performance: cost, impressions, clicks, conversions, revenue per day",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"days\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_campaign_update_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/campaigns/update-status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "campaigns",
            "update-status"
          ]
        },
        "description": "Pause, enable or remove campaigns (REMOVED is irreversible)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"campaign_ids\": [],\n  \"status\": \"\",\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_campaign_update_budget",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/campaigns/update-budget",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "campaigns",
            "update-budget"
          ]
        },
        "description": "Update a campaign daily budget (in the account currency unit)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"campaign_id\": \"\",\n  \"amount\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_ad_group_update_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/ad-groups/update-status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "ad-groups",
            "update-status"
          ]
        },
        "description": "Pause, enable or remove ad groups",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"ad_group_ids\": [],\n  \"status\": \"\",\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_ad_update_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/ads/update-status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "ads",
            "update-status"
          ]
        },
        "description": "Pause, enable or remove ads (needs ad_group_id + ad_id)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"ads\": [],\n  \"status\": \"\",\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_keyword_update_status",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/keywords/update-status",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "keywords",
            "update-status"
          ]
        },
        "description": "Pause, enable or remove keywords (needs ad_group_id + criterion_id)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"keywords\": [],\n  \"status\": \"\",\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_keyword_update_bid",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/keywords/update-bid",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "keywords",
            "update-bid"
          ]
        },
        "description": "Update max CPC of keywords (in the account currency unit)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"keywords\": [],\n  \"cpc_bid\": 0,\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_campaign_budget_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/campaign-budgets/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "campaign-budgets",
            "create"
          ]
        },
        "description": "Create a campaign_budget (required before creating a campaign)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"name\": \"\",\n  \"amount\": 0,\n  \"delivery_method\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_campaign_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/campaigns/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "campaigns",
            "create"
          ]
        },
        "description": "Create a campaign (default SEARCH, PAUSED, MANUAL_CPC). budget_id required.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"name\": \"\",\n  \"budget_id\": \"\",\n  \"channel_type\": \"\",\n  \"bidding_strategy\": \"\",\n  \"status\": \"\",\n  \"merchant_id\": \"\",\n  \"feed_label\": \"\",\n  \"campaign_priority\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_ad_group_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/ad-groups/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "ad-groups",
            "create"
          ]
        },
        "description": "Create an ad group inside a campaign",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"campaign_id\": \"\",\n  \"name\": \"\",\n  \"type\": \"\",\n  \"status\": \"\",\n  \"cpc_bid\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_keyword_add",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/keywords/add",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "keywords",
            "add"
          ]
        },
        "description": "Add positive keywords to an ad group",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"ad_group_id\": \"\",\n  \"keywords\": [],\n  \"status\": \"\",\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_negative_keyword_add",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/negative-keywords/add",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "negative-keywords",
            "add"
          ]
        },
        "description": "Add negative keywords (campaign or ad group)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"scope\": \"\",\n  \"target_id\": \"\",\n  \"keywords\": [],\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_responsive_search_ad_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/ads/responsive-search/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "ads",
            "responsive-search",
            "create"
          ]
        },
        "description": "Create a Responsive Search Ad (RSA) inside an ad group",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"ad_group_id\": \"\",\n  \"headlines\": [],\n  \"descriptions\": [],\n  \"final_urls\": [],\n  \"path1\": \"\",\n  \"path2\": \"\",\n  \"status\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_sitelinks",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/sitelinks/list",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "sitelinks",
            "list"
          ]
        },
        "description": "List sitelinks and where they are attached (campaign / account / ad group)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_sitelink_create",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/sitelinks/create",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "sitelinks",
            "create"
          ]
        },
        "description": "Create sitelinks and attach them to a campaign (default), the account or an ad group",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"scope\": \"\",\n  \"target_id\": \"\",\n  \"sitelinks\": [],\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "google_ads_sitelink_remove",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/sitelinks/remove",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "sitelinks",
            "remove"
          ]
        },
        "description": "Detach sitelinks (removes only the association; the asset stays in the library)",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\",\n  \"customer_id\": \"\",\n  \"link_resource_names\": [],\n  \"partial_failure\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}