CLIENT API / V1 GOOGLE ADS

Read account collection coverage

GET/sites/{site_id}/google-ads/accounts/{account_id}/coverage/{dataset}google-ads:read

Requires google-ads:read. Stored reads only: no source=live, refresh, GAQL, provider account overrides, jobs, or credit charges. Explicit site grants and current campaign assignments constrain reports. Shared account collection coverage never grants other-site metrics.

RequestGET https://satelliteai.io/api/v1/sites/{site_id}/google-ads/accounts/{account_id}/coverage/{dataset}
Permissiongoogle-ads:read
ResponseA list (cursor or offset paginated): data is array of GoogleAdsCoveragePeriod.
Operation IDlistGoogleAdsCoverage

More context and worked examples are in the developer guide.

Example request

cURL · Bash
curl --fail-with-body \
  'https://satelliteai.io/api/v1/sites/123/google-ads/accounts/12/coverage/campaigns' \
  -H "Authorization: Bearer $SATELLITE_API_KEY"

Replace the example IDs with values returned by the discovery endpoints. Example values are placeholders, not real records.

Parameters

NameInTypeDescription
site_idrequiredpathintegerID from GET /sites.
min 1
account_idrequiredpathintegerSatellite account ID from /google-ads/accounts; not the Google customer ID.
min 1 · max 2147483647 · example 12
datasetrequiredpathstring
one of: campaigns, ad-groups, ads, asset-groups, keywords, search-terms, landing-pages, conversions, geography · example campaigns
start_datequerystring (date)Paired inclusive account-local dates, at most 1131 dates. Default last 30 completed account-local dates, excluding today.
end_datequerystring (date)Paired inclusive account-local dates, at most 1131 dates. Default last 30 completed account-local dates, excluding today.
limitqueryinteger
default 50 · min 1 · max 100
offsetqueryintegerBounded offset; next_offset is null at the cap. Mutable stored data is not an atomic pagination snapshot.
default 0 · min 0 · max 100000

Unknown or repeated query parameters return 400.

Data dictionary

Stored site-assigned results. No provider refresh or credit debit.

[] marks an array element. nullable means the value can be null; treat it as unknown, not zero. always present means the key is always included in the object.

Fields in data
FieldTypeDescription
data[].datestring (date)always present
max length 4096
data[].statusstringalways presentcomplete, empty, failed, partial, or another stored collection status.
max length 4096
data[].fetched_atstring (date-time)nullablealways presentWhen Satellite fetched the data from its source (UTC, RFC 3339).
max length 4096
data[].datasetstringalways present
one of: campaigns, ad-groups, ads, asset-groups, keywords, search-terms, landing-pages, conversions, geography · max length 4096
data[].collection_scopestringalways present
one of: account · max length 4096

Response metadata

Fields in meta
FieldTypeDescription
meta.request_idstringalways presentRequest identifier; also returned in X-Request-ID. Include it in support requests.
meta.api_versionstringalways presentAPI version that produced the response.
one of: v1
meta.limitintegerMaximum records per page applied to this request.
min 1 · max 100
meta.has_morebooleanTrue when another page is available.
meta.next_cursorstringnullableOpaque cursor for the next page; send as cursor. Null on the last page.
meta.availabilitystringavailable when stored data exists; not_available when it does not.
one of: available, not_available
meta.sourcestringalways present
one of: stored · max length 4096
meta.access_scopestring
one of: site · max length 4096
meta.connection_statusstring
max length 128
meta.offsetinteger
min 0 · max 100000
meta.next_offsetintegernullable
min 0 · max 100000
meta.offset_limit_reachedboolean

Error responses

Errors return {"error": {"code", "message", "request_id"}}. See error handling for retry guidance.

HTTPWhen
400Unknown/repeated query, invalid filter or dates. summary rejects limit/offset; variant filters are only accepted by their corresponding report.
401Missing, invalid, expired, or revoked credential.
403Required explicit scope, active integration, or company API access unavailable.
404Missing or inaccessible site, account, campaign, report, entity type, or dataset.
409google_ads_timezone_unavailable: stored account time zone needs correction.
413Response too large.
429Request allowance exceeded; honor Retry-After.
503Stored reporting or authentication temporarily unavailable.