Skip to main content

Google-Search-Console full reference

This is the full reference documentation for the Google-Search-Console agent connector.

Supported entities and actions​

The Google-Search-Console connector supports the following entities and actions.

EntityActions
SitesList, Get, Context Store Search, Context Store SQL Query
SitemapsList, Get, Context Store Search, Context Store SQL Query
Search Analytics By DateList, Context Store Search, Context Store SQL Query
Search Analytics By CountryList, Context Store Search, Context Store SQL Query
Search Analytics By DeviceList, Context Store Search, Context Store SQL Query
Search Analytics By PageList, Context Store Search, Context Store SQL Query
Search Analytics By QueryList, Context Store Search, Context Store SQL Query
Search Analytics All FieldsList, Context Store Search, Context Store SQL Query

Sites​

Sites List​

Lists the user's Search Console sites.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sites",
"action": "list"
}'

Python SDK​

await google_search_console.sites.list()

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": "sites",
"action": "list"
}'
Response Schema

Records​

Field NameTypeDescription
siteUrlnull | string
permissionLevelnull | string

Sites Get​

Retrieves information about a specific site.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sites",
"action": "get",
"params": {
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.sites.get(
site_url="<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": "sites",
"action": "get",
"params": {
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
siteUrlstringYesThe URL of the property as defined in Search Console. Examples: http://www.example.com/ (for a URL-prefix property) or sc-domain:example.com (for a Domain property)
Response Schema

Records​

Field NameTypeDescription
siteUrlnull | string
permissionLevelnull | string

Search and filter sites 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sites",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"permissionLevel": "<str>"
}
}
}
}
}'

Python SDK​

await google_search_console.sites.context_store_search(
query={"filter": {"eq": {"permissionLevel": "<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": "sites",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"permissionLevel": "<str>"}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
permissionLevelstringThe user's permission level for the site (owner, full, restricted, etc.)
siteUrlstringThe URL of the site data being fetched
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[].permissionLevelstringThe user's permission level for the site (owner, full, restricted, etc.)
data[].siteUrlstringThe URL of the site data being fetched

Sites Context Store SQL Query​

Run a SQL query against sites records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sites",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.sites.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "sites",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Sitemaps​

Sitemaps List​

Lists the sitemaps submitted for a site.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sitemaps",
"action": "list",
"params": {
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.sitemaps.list(
site_url="<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": "sitemaps",
"action": "list",
"params": {
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
pathnull | string
lastSubmittednull | string
isPendingnull | boolean
isSitemapsIndexnull | boolean
typenull | string
lastDownloadednull | string
warningsnull | string
errorsnull | string
contentsnull | array
contents[].typenull | string
contents[].submittednull | string
contents[].indexednull | string

Sitemaps Get​

Retrieves information about a specific sitemap.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sitemaps",
"action": "get",
"params": {
"siteUrl": "<str>",
"feedpath": "<str>"
}
}'

Python SDK​

await google_search_console.sitemaps.get(
site_url="<str>",
feedpath="<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": "sitemaps",
"action": "get",
"params": {
"siteUrl": "<str>",
"feedpath": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
siteUrlstringYesThe URL of the property as defined in Search Console.
feedpathstringYesThe URL of the sitemap.
Response Schema

Records​

Field NameTypeDescription
pathnull | string
lastSubmittednull | string
isPendingnull | boolean
isSitemapsIndexnull | boolean
typenull | string
lastDownloadednull | string
warningsnull | string
errorsnull | string
contentsnull | array
contents[].typenull | string
contents[].submittednull | string
contents[].indexednull | string

Search and filter sitemaps 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sitemaps",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"contents": []
}
}
}
}
}'

Python SDK​

await google_search_console.sitemaps.context_store_search(
query={"filter": {"eq": {"contents": []}}}
)

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": "sitemaps",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"contents": []}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
contentsarrayData related to the sitemap contents
errorsstringErrors encountered while processing the sitemaps
isPendingbooleanFlag indicating if the sitemap is pending for processing
isSitemapsIndexbooleanFlag indicating if the data represents a sitemap index
lastDownloadedstringTimestamp when the sitemap was last downloaded
lastSubmittedstringTimestamp when the sitemap was last submitted
pathstringPath to the sitemap file
typestringType of the sitemap
warningsstringWarnings encountered while processing the sitemaps
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[].contentsarrayData related to the sitemap contents
data[].errorsstringErrors encountered while processing the sitemaps
data[].isPendingbooleanFlag indicating if the sitemap is pending for processing
data[].isSitemapsIndexbooleanFlag indicating if the data represents a sitemap index
data[].lastDownloadedstringTimestamp when the sitemap was last downloaded
data[].lastSubmittedstringTimestamp when the sitemap was last submitted
data[].pathstringPath to the sitemap file
data[].typestringType of the sitemap
data[].warningsstringWarnings encountered while processing the sitemaps

Sitemaps Context Store SQL Query​

Run a SQL query against sitemaps records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "sitemaps",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.sitemaps.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "sitemaps",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics By Date​

Search Analytics By Date List​

Query search analytics data grouped by date. Returns clicks, impressions, CTR, and average position for each date in the specified range.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_date",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_by_date.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_by_date",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty, byNewsShowcasePanel.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics by date 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_date",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_by_date.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_by_date",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe total number of clicks on the specific date
ctrnumberThe click-through rate for the specific date
datestringThe date for which the search analytics data is being reported
impressionsintegerThe number of impressions on the specific date
positionnumberThe average position in search results for the specific date
search_typestringThe type of search query that generated the data
site_urlstringThe URL of the site for which the search analytics data is being reported
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[].clicksintegerThe total number of clicks on the specific date
data[].ctrnumberThe click-through rate for the specific date
data[].datestringThe date for which the search analytics data is being reported
data[].impressionsintegerThe number of impressions on the specific date
data[].positionnumberThe average position in search results for the specific date
data[].search_typestringThe type of search query that generated the data
data[].site_urlstringThe URL of the site for which the search analytics data is being reported

Search Analytics By Date Context Store SQL Query​

Run a SQL query against search analytics by date records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_date",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_by_date.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_by_date",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics By Country​

Search Analytics By Country List​

Query search analytics data grouped by date and country. Returns clicks, impressions, CTR, and average position for each country.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_country",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_by_country.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_by_country",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics by country 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_country",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_by_country.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_by_country",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe number of times users clicked on the search result for a specific country
countrystringThe country for which the search analytics data is being reported
ctrnumberThe click-through rate for a specific country
datestringThe date for which the search analytics data is being reported
impressionsintegerThe total number of times a search result was shown for a specific country
positionnumberThe average position at which the site's search result appeared for a specific country
search_typestringThe type of search for which the data is being reported
site_urlstringThe URL of the site for which the search analytics data is being reported
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[].clicksintegerThe number of times users clicked on the search result for a specific country
data[].countrystringThe country for which the search analytics data is being reported
data[].ctrnumberThe click-through rate for a specific country
data[].datestringThe date for which the search analytics data is being reported
data[].impressionsintegerThe total number of times a search result was shown for a specific country
data[].positionnumberThe average position at which the site's search result appeared for a specific country
data[].search_typestringThe type of search for which the data is being reported
data[].site_urlstringThe URL of the site for which the search analytics data is being reported

Search Analytics By Country Context Store SQL Query​

Run a SQL query against search analytics by country records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_country",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_by_country.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_by_country",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics By Device​

Search Analytics By Device List​

Query search analytics data grouped by date and device. Returns clicks, impressions, CTR, and average position for each device type.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_device",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_by_device.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_by_device",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics by device 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_device",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_by_device.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_by_device",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe total number of clicks by device type
ctrnumberClick-through rate by device type
datestringThe date for which the search analytics data is provided
devicestringThe type of device used by the user (e.g., desktop, mobile)
impressionsintegerThe total number of impressions by device type
positionnumberThe average position in search results by device type
search_typestringThe type of search performed
site_urlstringThe URL of the site for which search analytics data is being provided
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[].clicksintegerThe total number of clicks by device type
data[].ctrnumberClick-through rate by device type
data[].datestringThe date for which the search analytics data is provided
data[].devicestringThe type of device used by the user (e.g., desktop, mobile)
data[].impressionsintegerThe total number of impressions by device type
data[].positionnumberThe average position in search results by device type
data[].search_typestringThe type of search performed
data[].site_urlstringThe URL of the site for which search analytics data is being provided

Search Analytics By Device Context Store SQL Query​

Run a SQL query against search analytics by device records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_device",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_by_device.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_by_device",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics By Page​

Search Analytics By Page List​

Query search analytics data grouped by date and page. Returns clicks, impressions, CTR, and average position for each page URL.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_page",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_by_page.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_by_page",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics by page 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_page",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_by_page.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_by_page",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe number of clicks for a specific page
ctrnumberClick-through rate for the page
datestringThe date for which the search analytics data is reported
impressionsintegerThe number of impressions for the page
pagestringThe URL of the specific page being analyzed
positionnumberThe average position at which the page appeared in search results
search_typestringThe type of search query that led to the page being displayed
site_urlstringThe URL of the site for which the search analytics data is being reported
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[].clicksintegerThe number of clicks for a specific page
data[].ctrnumberClick-through rate for the page
data[].datestringThe date for which the search analytics data is reported
data[].impressionsintegerThe number of impressions for the page
data[].pagestringThe URL of the specific page being analyzed
data[].positionnumberThe average position at which the page appeared in search results
data[].search_typestringThe type of search query that led to the page being displayed
data[].site_urlstringThe URL of the site for which the search analytics data is being reported

Search Analytics By Page Context Store SQL Query​

Run a SQL query against search analytics by page records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_page",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_by_page.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_by_page",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics By Query​

Search Analytics By Query List​

Query search analytics data grouped by date and query. Returns clicks, impressions, CTR, and average position for each search query.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_query",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_by_query.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_by_query",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics by query 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_query",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_by_query.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_by_query",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe number of clicks for the specific query
ctrnumberThe click-through rate for the specific query
datestringThe date for which the search analytics data is recorded
impressionsintegerThe number of impressions for the specific query
positionnumberThe average position for the specific query
querystringThe search query for which the data is recorded
search_typestringThe type of search result for the specific query
site_urlstringThe URL of the site for which the search analytics data is captured
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[].clicksintegerThe number of clicks for the specific query
data[].ctrnumberThe click-through rate for the specific query
data[].datestringThe date for which the search analytics data is recorded
data[].impressionsintegerThe number of impressions for the specific query
data[].positionnumberThe average position for the specific query
data[].querystringThe search query for which the data is recorded
data[].search_typestringThe type of search result for the specific query
data[].site_urlstringThe URL of the site for which the search analytics data is captured

Search Analytics By Query Context Store SQL Query​

Run a SQL query against search analytics by query records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_by_query",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_by_query.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_by_query",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds

Search Analytics All Fields​

Search Analytics All Fields List​

Query search analytics data grouped by all dimensions (date, country, device, page, query). Returns the most granular breakdown of search data.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_all_fields",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Python SDK​

await google_search_console.search_analytics_all_fields.list(
start_date="<str>",
end_date="<str>",
site_url="<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": "search_analytics_all_fields",
"action": "list",
"params": {
"startDate": "<str>",
"endDate": "<str>",
"siteUrl": "<str>"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
startDatestringYesStart date of the requested date range, in YYYY-MM-DD format.
endDatestringYesEnd date of the requested date range, in YYYY-MM-DD format.
dimensionsarray<string>NoDimensions to group results by.
rowLimitintegerNoThe maximum number of rows to return.
startRowintegerNoZero-based index of the first row in the response.
typestringNoFilter results by type: web, discover, googleNews, news, image, video.
aggregationTypestringNoHow data is aggregated: auto, byPage, byProperty.
dataStatestringNoData freshness: final (stable data only) or all (includes fresh data).
siteUrlstringYesThe URL of the property as defined in Search Console.
Response Schema

Records​

Field NameTypeDescription
keysnull | array
clicksnull | number
impressionsnull | number
ctrnull | number
positionnull | number

Meta​

Field NameTypeDescription
response_aggregation_typenull | string

Search and filter search analytics all fields 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.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_all_fields",
"action": "context_store_search",
"params": {
"query": {
"filter": {
"eq": {
"clicks": 0
}
}
}
}
}'

Python SDK​

await google_search_console.search_analytics_all_fields.context_store_search(
query={"filter": {"eq": {"clicks": 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": "search_analytics_all_fields",
"action": "context_store_search",
"params": {
"query": {"filter": {"eq": {"clicks": 0}}}
}
}'

Parameters​

Parameter NameTypeRequiredDescription
queryobjectYesFilter and sort conditions. Supports operators: eq, neq, gt, gte, lt, lte, in, startswith, endswith, contains, array_contains, 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
clicksintegerThe number of times users clicked on the search result for a specific query
countrystringThe country from which the search query originated
ctrnumberClick-through rate, calculated as clicks divided by impressions
datestringThe date when the search query occurred
devicestringThe type of device used by the user (e.g., desktop, mobile)
impressionsintegerThe number of times a search result appeared in response to a query
pagestringThe page URL that appeared in the search results
positionnumberThe average position of the search result on the search engine results page
querystringThe search query entered by the user
search_typestringThe type of search (e.g., web, image, video) that triggered the search result
site_urlstringThe URL of the site from which the data originates
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[].clicksintegerThe number of times users clicked on the search result for a specific query
data[].countrystringThe country from which the search query originated
data[].ctrnumberClick-through rate, calculated as clicks divided by impressions
data[].datestringThe date when the search query occurred
data[].devicestringThe type of device used by the user (e.g., desktop, mobile)
data[].impressionsintegerThe number of times a search result appeared in response to a query
data[].pagestringThe page URL that appeared in the search results
data[].positionnumberThe average position of the search result on the search engine results page
data[].querystringThe search query entered by the user
data[].search_typestringThe type of search (e.g., web, image, video) that triggered the search result
data[].site_urlstringThe URL of the site from which the data originates

Search Analytics All Fields Context Store SQL Query​

Run a SQL query against search analytics all fields records in the Airbyte Context Store. SQL projections may return any set of columns, so each result row is a dictionary matching the query's selected fields. Only available in hosted mode.

Use the hosted server documentation to find the qualified Context Store table name and SQL guidance.

CLI​

airbyte-agent connectors execute --json '{
"workspace": "<your_workspace_name>",
"name": "google-search-console",
"entity": "search_analytics_all_fields",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Python SDK​

await google_search_console.search_analytics_all_fields.context_store_sql_query(
sql="SELECT * FROM <qualified_context_store_table> LIMIT 100"
)

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": "search_analytics_all_fields",
"action": "context_store_sql_query",
"params": {
"sql": "SELECT * FROM <qualified_context_store_table> LIMIT 100"
}
}'

Parameters​

Parameter NameTypeRequiredDescription
sqlstringYesSQL query to execute against this entity's Context Store data
limitintegerNoMaximum results to return
Response Schema
Field NameTypeDescription
dataarrayProjected rows, with dictionary keys matching the selected columns
metaobjectQuery metadata
meta.has_morebooleanWhether the result was limited and more rows are available
meta.cursornullSQL query results do not use cursor pagination
meta.took_msnumber | nullQuery execution time in milliseconds