Skip to main content

Google-Analytics-Data-Api full reference

This is the full reference documentation for the Google-Analytics-Data-Api agent connector.

Supported entities and actions

The Google-Analytics-Data-Api connector supports the following entities and actions.

EntityActions
Website OverviewList, Search
Daily Active UsersList, Search
Weekly Active UsersList, Search
Four Weekly Active UsersList, Search
Traffic SourcesList, Search
PagesList, Search
DevicesList, Search
LocationsList, Search

Website Overview

Website Overview List

Returns website overview metrics including total users, new users, sessions, bounce rate, page views, and average session duration by date.

Python SDK

await google_analytics_data_api.website_overview.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "website_overview",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter website overview records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.website_overview.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "website_overview",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
averageSessionDurationnumberAverage duration of sessions in seconds
bounceRatenumberPercentage of sessions that were single-page with no interaction
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
newUsersintegerNumber of first-time users
property_idstringGA4 property ID
screenPageViewsintegerTotal number of screen or page views
screenPageViewsPerSessionnumberAverage page views per session
sessionsintegerTotal number of sessions
sessionsPerUsernumberAverage number of sessions per user
startDatestringStart date of the reporting period
totalUsersintegerTotal number of unique users
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].averageSessionDurationnumberAverage duration of sessions in seconds
data[].bounceRatenumberPercentage of sessions that were single-page with no interaction
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].newUsersintegerNumber of first-time users
data[].property_idstringGA4 property ID
data[].screenPageViewsintegerTotal number of screen or page views
data[].screenPageViewsPerSessionnumberAverage page views per session
data[].sessionsintegerTotal number of sessions
data[].sessionsPerUsernumberAverage number of sessions per user
data[].startDatestringStart date of the reporting period
data[].totalUsersintegerTotal number of unique users

Daily Active Users

Daily Active Users List

Returns daily active user counts (1-day active users) by date.

Python SDK

await google_analytics_data_api.daily_active_users.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "daily_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter daily active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.daily_active_users.search(
query={"filter": {"eq": {"active1DayUsers": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "daily_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active1DayUsers": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
active1DayUsersintegerNumber of distinct users active in the last 1 day
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
property_idstringGA4 property ID
startDatestringStart date of the reporting period
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].active1DayUsersintegerNumber of distinct users active in the last 1 day
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].property_idstringGA4 property ID
data[].startDatestringStart date of the reporting period

Weekly Active Users

Weekly Active Users List

Returns weekly active user counts (7-day active users) by date.

Python SDK

await google_analytics_data_api.weekly_active_users.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "weekly_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter weekly active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.weekly_active_users.search(
query={"filter": {"eq": {"active7DayUsers": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "weekly_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active7DayUsers": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
active7DayUsersintegerNumber of distinct users active in the last 7 days
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
property_idstringGA4 property ID
startDatestringStart date of the reporting period
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].active7DayUsersintegerNumber of distinct users active in the last 7 days
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].property_idstringGA4 property ID
data[].startDatestringStart date of the reporting period

Four Weekly Active Users

Four Weekly Active Users List

Returns 28-day active user counts by date.

Python SDK

await google_analytics_data_api.four_weekly_active_users.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "four_weekly_active_users",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter four weekly active users records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.four_weekly_active_users.search(
query={"filter": {"eq": {"active28DayUsers": 0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "four_weekly_active_users",
"action": "search",
"params": {
"query": {"filter": {"eq": {"active28DayUsers": 0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
active28DayUsersintegerNumber of distinct users active in the last 28 days
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
property_idstringGA4 property ID
startDatestringStart date of the reporting period
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].active28DayUsersintegerNumber of distinct users active in the last 28 days
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].property_idstringGA4 property ID
data[].startDatestringStart date of the reporting period

Traffic Sources

Traffic Sources List

Returns traffic source metrics broken down by session source, session medium, and date, including users, sessions, bounce rate, and page views.

Python SDK

await google_analytics_data_api.traffic_sources.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "traffic_sources",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter traffic sources records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.traffic_sources.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "traffic_sources",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
averageSessionDurationnumberAverage duration of sessions in seconds
bounceRatenumberPercentage of sessions that were single-page with no interaction
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
newUsersintegerNumber of first-time users
property_idstringGA4 property ID
screenPageViewsintegerTotal number of screen or page views
screenPageViewsPerSessionnumberAverage page views per session
sessionMediumstringThe medium of the traffic source (e.g., organic, cpc, referral)
sessionSourcestringThe source of the traffic (e.g., google, direct)
sessionsintegerTotal number of sessions
sessionsPerUsernumberAverage number of sessions per user
startDatestringStart date of the reporting period
totalUsersintegerTotal number of unique users
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].averageSessionDurationnumberAverage duration of sessions in seconds
data[].bounceRatenumberPercentage of sessions that were single-page with no interaction
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].newUsersintegerNumber of first-time users
data[].property_idstringGA4 property ID
data[].screenPageViewsintegerTotal number of screen or page views
data[].screenPageViewsPerSessionnumberAverage page views per session
data[].sessionMediumstringThe medium of the traffic source (e.g., organic, cpc, referral)
data[].sessionSourcestringThe source of the traffic (e.g., google, direct)
data[].sessionsintegerTotal number of sessions
data[].sessionsPerUsernumberAverage number of sessions per user
data[].startDatestringStart date of the reporting period
data[].totalUsersintegerTotal number of unique users

Pages

Pages List

Returns page-level metrics including page views and bounce rate, broken down by host name, page path, and date.

Python SDK

await google_analytics_data_api.pages.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter pages records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.pages.search(
query={"filter": {"eq": {"bounceRate": 0.0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "pages",
"action": "search",
"params": {
"query": {"filter": {"eq": {"bounceRate": 0.0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
bounceRatenumberPercentage of sessions that were single-page with no interaction
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
hostNamestringThe hostname of the page
pagePathPlusQueryStringstringThe page path and query string
property_idstringGA4 property ID
screenPageViewsintegerTotal number of screen or page views
startDatestringStart date of the reporting period
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].bounceRatenumberPercentage of sessions that were single-page with no interaction
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].hostNamestringThe hostname of the page
data[].pagePathPlusQueryStringstringThe page path and query string
data[].property_idstringGA4 property ID
data[].screenPageViewsintegerTotal number of screen or page views
data[].startDatestringStart date of the reporting period

Devices

Devices List

Returns device-related metrics broken down by device category, operating system, browser, and date, including users, sessions, and page views.

Python SDK

await google_analytics_data_api.devices.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "devices",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter devices records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.devices.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "devices",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
averageSessionDurationnumberAverage duration of sessions in seconds
bounceRatenumberPercentage of sessions that were single-page with no interaction
browserstringThe web browser used (e.g., Chrome, Safari, Firefox)
datestringDate of the report row in YYYYMMDD format
deviceCategorystringThe device category (desktop, mobile, tablet)
endDatestringEnd date of the reporting period
newUsersintegerNumber of first-time users
operatingSystemstringThe operating system used (e.g., Windows, iOS, Android)
property_idstringGA4 property ID
screenPageViewsintegerTotal number of screen or page views
screenPageViewsPerSessionnumberAverage page views per session
sessionsintegerTotal number of sessions
sessionsPerUsernumberAverage number of sessions per user
startDatestringStart date of the reporting period
totalUsersintegerTotal number of unique users
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].averageSessionDurationnumberAverage duration of sessions in seconds
data[].bounceRatenumberPercentage of sessions that were single-page with no interaction
data[].browserstringThe web browser used (e.g., Chrome, Safari, Firefox)
data[].datestringDate of the report row in YYYYMMDD format
data[].deviceCategorystringThe device category (desktop, mobile, tablet)
data[].endDatestringEnd date of the reporting period
data[].newUsersintegerNumber of first-time users
data[].operatingSystemstringThe operating system used (e.g., Windows, iOS, Android)
data[].property_idstringGA4 property ID
data[].screenPageViewsintegerTotal number of screen or page views
data[].screenPageViewsPerSessionnumberAverage page views per session
data[].sessionsintegerTotal number of sessions
data[].sessionsPerUsernumberAverage number of sessions per user
data[].startDatestringStart date of the reporting period
data[].totalUsersintegerTotal number of unique users

Locations

Locations List

Returns geographic metrics broken down by region, country, city, and date, including users, sessions, bounce rate, and page views.

Python SDK

await google_analytics_data_api.locations.list(
property_id="<str>"
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "list",
"params": {
"property_id": "<str>"
}
}'

Parameters

Parameter NameTypeRequiredDescription
dateRangesarray<object>No
dateRanges.startDatestringNoStart date in YYYY-MM-DD format or relative (e.g., 30daysAgo)
dateRanges.endDatestringNoEnd date in YYYY-MM-DD format or relative (e.g., today)
dimensionsarray<object>No
dimensions.namestringNo
metricsarray<object>No
metrics.namestringNo
keepEmptyRowsbooleanNo
returnPropertyQuotabooleanNo
limitintegerNo
property_idstringYesGA4 property ID
Response Schema

Records

Field NameTypeDescription
dimensionValuesarray<object>
dimensionValues[].valuestring
metricValuesarray<object>
metricValues[].valuestring

Search and filter locations records powered by Airbyte's data sync. This often provides additional fields and operators beyond what the API natively supports, making it easier to narrow down results before performing further operations. Only available in hosted mode.

Python SDK

await google_analytics_data_api.locations.search(
query={"filter": {"eq": {"averageSessionDuration": 0.0}}}
)

API

curl --location 'https://api.airbyte.ai/api/v1/integrations/connectors/{your_connector_id}/execute' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {your_auth_token}' \
--data '{
"entity": "locations",
"action": "search",
"params": {
"query": {"filter": {"eq": {"averageSessionDuration": 0.0}}}
}
}'

Parameters

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, like, fuzzy, keyword, not, and, or
query.filterobjectNoFilter conditions
query.sortarrayNoSort conditions
limitintegerNoMaximum results to return (default 1000)
cursorstringNoPagination cursor from previous response's meta.cursor
fieldsarrayNoField paths to include in results

Searchable Fields

Field NameTypeDescription
averageSessionDurationnumberAverage duration of sessions in seconds
bounceRatenumberPercentage of sessions that were single-page with no interaction
citystringThe city of the user
countrystringThe country of the user
datestringDate of the report row in YYYYMMDD format
endDatestringEnd date of the reporting period
newUsersintegerNumber of first-time users
property_idstringGA4 property ID
regionstringThe region (state/province) of the user
screenPageViewsintegerTotal number of screen or page views
screenPageViewsPerSessionnumberAverage page views per session
sessionsintegerTotal number of sessions
sessionsPerUsernumberAverage number of sessions per user
startDatestringStart date of the reporting period
totalUsersintegerTotal number of unique users
Response Schema
Field NameTypeDescription
dataarrayList of matching records
metaobjectPagination metadata
meta.has_morebooleanWhether additional pages are available
meta.cursorstring | nullCursor for next page of results
meta.took_msnumber | nullQuery execution time in milliseconds
data[].averageSessionDurationnumberAverage duration of sessions in seconds
data[].bounceRatenumberPercentage of sessions that were single-page with no interaction
data[].citystringThe city of the user
data[].countrystringThe country of the user
data[].datestringDate of the report row in YYYYMMDD format
data[].endDatestringEnd date of the reporting period
data[].newUsersintegerNumber of first-time users
data[].property_idstringGA4 property ID
data[].regionstringThe region (state/province) of the user
data[].screenPageViewsintegerTotal number of screen or page views
data[].screenPageViewsPerSessionnumberAverage page views per session
data[].sessionsintegerTotal number of sessions
data[].sessionsPerUsernumberAverage number of sessions per user
data[].startDatestringStart date of the reporting period
data[].totalUsersintegerTotal number of unique users