Reports

POST /api/v1/accounts/{projectId}/gaql

Run a read-only GAQL query against the live Google Ads API.

POST /api/v1/accounts/{projectId}/gaql

Run a read-only GAQL query against the live Google Ads API.

Read-only: one SELECT statement, no mutation keywords outside string literals. Row count is governed by limit and offset — any LIMIT in the query is rewritten — and truncated: true means re-call with a higher offset. Known enums come back as labels and *_micros fields in account currency. Metered on the expensive bucket (10/min), since it spends the account's Google Ads quota.

Requires a key with read scope or higher.

Returns 200 on success.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe Google Ads account, as returned by GET /api/v1/accounts.

Request body

FieldTypeRequiredDescription
querystringyes
purposestringyes
limitnumbernoDefault: 100.
offsetnumbernoRows to skip (client-side page window over the first 1000 rows). Default: 0.

Example

curl -X POST "https://bidandscale.com/api/v1/accounts/{projectId}/gaql" \
  -H "Authorization: Bearer $BIDANDSCALE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'

On this page