Official Supermetrics skill. Query marketing data from 100+ platforms including Google Analytics, Meta Ads, Google Ads, and LinkedIn. Requires API key.
Query marketing data from 100+ platforms including Google Analytics, Meta Ads, Google Ads, and LinkedIn.
Import the helper module:
from supermetrics import (
discover_sources,
discover_accounts,
discover_fields,
query_data,
get_results,
get_today,
search,
health,
)
List all available marketing platforms.
result = discover_sources()
for src in result['data']['sources']:
print(f"{src['id']}: {src['name']}")
Get connected accounts for a data source.
Common data source IDs:
| ID | Platform |
|---|---|
| FA | Meta Ads (Facebook) |
| AW | Google Ads |
| GAWA | Google Analytics |
| GA4 | Google Analytics 4 |
| LI | LinkedIn Ads |
| AC | Microsoft Advertising (Bing) |
result = discover_accounts("GAWA")
for acc in result['data']['accounts']:
print(f"{acc['account_id']}: {acc['account_name']}")
Get available metrics and dimensions.
# Get all fields
result = discover_fields("GAWA")
# Get only metrics
result = discover_fields("GAWA", "metric")
# Get only dimensions
result = discover_fields("GAWA", "dimension")
Execute a marketing data query. Returns schedule_id for async retrieval.
result = query_data(
ds_id="GAWA",
ds_accounts="123456789",
fields=["date", "sessions", "pageviews", "users"],
date_range_type="last_7_days"
)
schedule_id = result['data']['schedule_id']
Parameters:
ds_id (required): Data source IDds_accounts (required): Account ID(s) from discover_accounts()fields (required): Field ID(s) from discover_fields()date_range_type: last_7_days, last_30_days, last_3_months, customstart_date, end_date: For custom date range (YYYY-MM-DD)filters: Filter expression (e.g., "country == United States")timezone: IANA timezone (e.g., "America/New_York")Filter operators:
==, != - equals, not equals>, >=, <, <= - comparisons=@, !@ - contains, does not contain=~, !~ - regex matchRetrieve query results.
result = get_results(schedule_id)
for row in result['data']['data']:
print(row)
Get current UTC date for date calculations.
result = get_today()
print(result['data']['date']) # "2026-02-03"
Search across Supermetrics resources for guidance and suggestions.
result = search("facebook ads metrics")
print(result['data'])
Check Supermetrics server health status.
result = health()
print(result['data']['status']) # "healthy"
from supermetrics import (
discover_accounts,
discover_fields,
query_data,
get_results,
)
# 1. Find accounts
accounts = discover_accounts("GAWA")
account_id = accounts['data']['accounts'][0]['account_id']
# 2. See available fields
fields = discover_fields("GAWA", "metric")
print([f['id'] for f in fields['data']['metrics'][:5]])
# 3. Query data
query = query_data(
ds_id="GAWA",
ds_accounts=account_id,
fields=["date", "sessions", "users", "pageviews"],
date_range_type="last_7_days"
)
# 4. Get results
data = get_results(query['data']['schedule_id'])
for row in data['data']['data']:
print(row)
All functions return:
{"success": True, "data": {...}} # Success
{"success": False, "error": "..."} # Error