Access the Google Ads API with managed OAuth authentication. Query campaigns, ad groups, keywords, and performance metrics using GAQL.
Reference
List Accessible Customers
GET /google-ads/v24/customers:listAccessibleCustomersmaton google-ads account listSearch (GAQL Query)
POST /google-ads/v24/customers/{customerId}/googleAds:search
Content-Type: application/json
{
"query": "SELECT campaign.id, campaign.name, campaign.status FROM campaign ORDER BY campaign.id"
}maton google-ads query -c 1234567890 --resource campaign --fields 'campaign.id, campaign.name, campaign.status' --order-by 'campaign.id'List Keywords
POST /google-ads/v24/customers/{customerId}/googleAds:search
Content-Type: application/json
{
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.keyword.match_type, ad_group_criterion.status, metrics.impressions, metrics.clicks, metrics.cost_micros FROM keyword_view WHERE segments.date DURING LAST_30_DAYS ORDER BY metrics.impressions DESC"
}maton google-ads keyword list -c 1234567890 --date-range LAST_7_DAYS -L 25 --campaign-id 99999Note: This command requests metrics, so it cannot be run against a manager (MCC) account directly. Run it against the client customer ID under the manager, optionally with --login-customer-id. See Manager (MCC) Account Access.
Search Stream (for large results)
POST /google-ads/v24/customers/{customerId}/googleAds:searchStream
Content-Type: application/json
{
"query": "SELECT campaign.id, campaign.name FROM campaign"
}maton google-ads query-stream -c 1234567890 --resource campaign --fields 'campaign.id, campaign.name'Daily Quota
Maton enforces a daily quota of 1,000 requests per account. The quota resets every 24 hours in a rolling window. To increase this limit, reach out to support@maton.ai.