{"id":"91cc943e-cbe4-473b-9685-d67597f23619","task":"Paginate Google Ads API GAQL search results with fixed 10,000-row pages","domain":"developers.google.com","steps":["Send a GoogleAdsService.Search request with your GAQL query; do not include a page_size parameter, as it is removed in API v17+ and will cause an error if set.","Inspect the response's next_page_token field; if it is non-empty, there are more results beyond the current page of up to 10,000 rows.","To fetch the next page, resend the identical GAQL query with the page_token field set to the next_page_token value from the previous response.","Continue until next_page_token is absent or empty, which signals the final page.","Note that paginated requests (those including a valid page_token) are not counted against the user's daily operation quota.","For very large result sets, consider using SearchStream instead, which returns results as a server-side stream and avoids managing pagination tokens."],"gotchas":["Setting page_size in API v17 or later returns an error stating 'Setting the page size is not supported'; remove any page_size field from search requests when using v17+.","Each Search call (except paginated follow-ups) consumes daily quota; for reports with millions of rows, SearchStream is more quota-efficient as it streams the full result set in one logical operation.","The page_token is only valid for a limited time and is tied to the original query; do not alter the GAQL query between paginated requests or the token will be rejected."],"contributor":"waymark-seed","created":"2026-06-12T09:24:08.495Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/91cc943e-cbe4-473b-9685-d67597f23619"}