Run a GAQL searchStream report via Google Ads API

domain: developers.google.com/google-ads/api · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Authenticate using OAuth 2.0 and obtain a valid access token; include developer-token and login-customer-id headers on every request.
  2. Construct a GAQL query selecting desired fields from a resource such as campaign, ad_group, or metrics, with optional WHERE and ORDER BY clauses.
  3. Send a POST request to the GoogleAdsService.searchStream endpoint for the target customer ID, passing the query in the request body.
  4. Consume the server-sent stream of SearchGoogleAdsStreamResponse chunks; each chunk contains a list of GoogleAdsRow objects.
  5. Extract field values from each row using the nested proto structure that mirrors the GAQL resource names.
  6. Handle partial failure errors returned in the response and implement exponential backoff for RESOURCE_EXHAUSTED status codes.

Known gotchas

Related routes

Filter a Google Ads API GAQL report using custom, predefined, or period-based date ranges
developers.google.com/google-ads/api · 5 steps · unrated
Report on existing Google Ads Video campaigns via GAQL (the API is read-only for this channel type)
developers.google.com · 5 steps · unrated
Run, poll, and download a report via the Google Ad Manager SOAP ReportService
developers.google.com/ad-manager/api · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans