Skip to content

Dataset reference

Every exportable dataset and every column in it — name, type, whether it can be empty, and what it means.

This page lists every dataset you can export and every column in it. The same catalog is available from the API at GET /v1/organizations/{organizationId}/exports/catalog, and cloud storage manifests carry it with every file.

  • Columns are only ever added — never renamed, removed or retyped.
  • Adding a column raises the dataset’s schema version. Every webhook batch and storage manifest says which version it carries.
  • In files, columns are always in the order listed here; new columns are added at the end.
  • Nullable: no means the column always has a value. Every other column can be empty.

Every dataset starts with the same two columns:

  • row_id — unique within the dataset, and the same every time the row is exported. De-duplicate on it.
  • measured_at — when the value was measured, in UTC. Warehouses partition on it.

You don’t have to export every column. When you set up an export, Choose columns next to a dataset lets you keep only the ones you need — say keyword, domain and position from position_tracker.results. row_id and measured_at are always included, and picked columns keep the order listed here. With a pick, columns a dataset gains later are not added until you pick them. See choosing columns for what a pick means at each destination.

TypeCSVJSON Lines and webhooksBigQuery
stringTextStringSTRING
integerNumberNumberINT64
floatNumberNumberFLOAT64
booleantrue / falsetrue / falseBOOL
timestampISO-8601 in UTC, e.g. 2026-09-30T06:02:14.512ZISO-8601 string in UTCTIMESTAMP
jsonJSON textObjectJSON
string_arrayValues joined with |Array of stringsSTRING, mode REPEATED

An empty value is an empty CSV cell, null in JSON, and NULL in BigQuery. How each type is written in Excel, SQL and Parquet files is in file formats.

Campaign datasets are exported with their run: a row joins an export once the campaign run that produced it has finished, together with the rest of that run. Search history and alerts are exported by the time they were created. See incremental delivery.

Position tracker — rankings — Every ranking position found, per keyword and domain.

One row per ranking result recorded for a keyword in a Position tracker run. For the outcome of every keyword check, including failed ones, use position_tracker.checks.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
countrystringyesCountry code the search ran in.
languagestringyesLanguage code.
devicestringyesDevice type.
search_enginestringyesSearch engine.
citystringyesCity, when the search was localised.
keywordstringnoKeyword searched.
domainstringnoDomain found.
positionintegeryesOrganic position.
pageintegeryesResults page the position was on.
urlstringyesRanking URL.
titlestringyesResult title.
descriptionstringyesResult snippet.

Position tracker — checks — One row per keyword check, including those that failed.

One row per keyword check in a Position tracker run, whether it succeeded or failed. Join to position_tracker.results on run_id and keyword.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
countrystringyesCountry code the search ran in.
languagestringyesLanguage code.
devicestringyesDevice type.
search_enginestringyesSearch engine.
citystringyesCity, when the search was localised.
keywordstringnoKeyword checked.
statusstringnoCheck outcome.
error_codestringyesWhy the check failed, when it did.

Ad tracker — ads — Every paid ad seen, per keyword.

One row per paid ad seen for a keyword in an Ad tracker run.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
countrystringyesCountry code the search ran in.
languagestringyesLanguage code.
devicestringyesDevice type.
search_enginestringyesSearch engine.
citystringyesCity, when the search was localised.
keywordstringnoKeyword searched.
domainstringnoAdvertiser domain.
positionintegeryesAd position.
headlinestringyesAd headline.
descriptionstringyesAd text.
display_urlstringyesURL shown in the ad.
landing_urlstringyesURL the ad links to.

Maps — local results — Every place ranked, per keyword and grid point.

One row per place ranked at each grid point of a Maps run.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
countrystringyesCountry code.
languagestringyesLanguage code.
devicestringyesDevice type.
keywordstringnoKeyword searched.
surfacestringyesWhere the result appeared.
grid_rowintegeryesGrid row of the search point.
grid_colintegeryesGrid column of the search point.
latfloatyesLatitude of the search point.
lngfloatyesLongitude of the search point.
namestringyesPlace name.
positionintegeryesRank of the place.
is_sponsoredbooleanyesWhether the listing was an ad.
ad_typestringyesKind of ad, when sponsored.
ratingfloatyesStar rating.
review_countintegeryesNumber of reviews.
categorystringyesPlace category.
addressstringyesPlace address.
google_place_idstringyesGoogle place id.
cidstringyesGoogle customer id of the listing.

Marketplace — product results — Every product listed, per keyword and marketplace.

One row per product listed for a keyword in a Marketplace run.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
countrystringyesCountry code.
languagestringyesLanguage code.
keywordstringnoKeyword searched.
platformstringyesMarketplace platform.
marketplacestringyesMarketplace site.
typestringyesOrganic or sponsored.
placementstringyesWhere on the page it appeared.
section_positionintegeryesPosition within its section.
global_positionintegeryesPosition on the whole page.
titlestringyesProduct title.
brandstringyesProduct brand.
sellerstringyesSeller.
product_external_idstringyesThe marketplace’s own product id.
product_urlstringyesProduct page URL.
pricefloatyesListed price.
currencystringyesPrice currency.
ratingfloatyesStar rating.
reviews_countintegeryesNumber of reviews.
is_trackedbooleanyesWhether it is one of your tracked products.

AI visibility — answers — One row per prompt answered, with how your brand fared.

One row per AI visibility check — one prompt asked on one platform — with how your own brand fared.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
promptstringnoPrompt asked.
platformstringnoAI platform answering.
locationstringyesCountry the prompt was asked from.
citystringyesCity, when localised.
own_brand_mentionedbooleanyesWhether your brand was mentioned.
own_brand_mention_countintegeryesHow often your brand was mentioned.
own_brand_positionintegeryesRank of your brand among those named.
own_brand_sentimentfloatyesSentiment toward your brand, -1 to 1.
own_brand_recommendedbooleanyesWhether your brand was recommended.
own_brand_recommended_rankintegeryesRank among the recommendations.
own_brand_sponsoredbooleanyesWhether your brand appeared in an ad.
competitor_countintegeryesCompetitors named in the answer.
response_typestringyesKind of answer.
statusstringnoCheck outcome.
error_codestringyesWhy the check failed, when it did.

AI visibility — brand mentions — Every brand named in an answer, yours and competitors.

One row per brand named in an AI answer — your own and competitors’. Several rows share one answer.

Schema version 1. Exported when the campaign run that produced the row finishes.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
run_idstringnoThe campaign run that produced the row.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
promptstringyesPrompt asked.
platformstringyesAI platform answering.
locationstringyesCountry the prompt was asked from.
domainstringyesBrand domain.
namestringyesBrand name as written.
countintegeryesTimes mentioned.
is_ownbooleanyesWhether it is your brand.
positionintegeryesRank among the brands named.
sentimentfloatyesSentiment toward the brand, -1 to 1.
recommendedbooleanyesWhether it was recommended.
recommended_rankintegeryesRank among the recommendations.
is_sponsoredbooleanyesWhether the mention was an ad.
ad_headlinestringyesAd headline, when sponsored.
ad_descriptionstringyesAd text, when sponsored.
attributesstring_arrayyesQualities the answer attributed to the brand.
snippetstringyesExcerpt of the answer around the mention.

Search history — Searches run with the Search Engine Proxy and Direct Search.

One row per search run with the Search Engine Proxy or Direct Search. Filter by search type or to saved searches only.

Schema version 1. Exported by the time the row was created.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
search_typestringnoproxy or direct.
project_idstringyesProject the search was filed under, if any.
querystringnoSearch query.
countrystringyesCountry code the search ran in.
languagestringyesLanguage code.
devicestringyesDevice type.
search_enginestringyesSearch engine.
citystringyesCity, when the search was localised.
google_domainstringyesSearch engine domain used.
statusstringyesOutcome of the search.
savedbooleanyesWhether the search was saved.
page_countintegeryesResult pages fetched.

Search history — results — Every result on the pages fetched by Search Engine Proxy searches.

One row per result on the pages a Search Engine Proxy search fetched. Direct Search does not capture results. Filter to saved searches only.

Schema version 1. Exported by the time the row was created.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
search_idstringnoThe search the result belongs to.
project_idstringyesProject the search was filed under, if any.
querystringnoSearch query.
countrystringyesCountry code.
page_numberintegeryesResults page.
typestringyesKind of result (organic, ad, …).
section_positionintegeryesPosition within its section.
global_positionintegeryesPosition on the whole page.
titlestringyesResult title.
urlstringyesResult URL.
display_urlstringyesURL as displayed.
domainstringyesResult domain.

Campaign alerts — Alerts raised on your campaigns.

One row per alert raised on a campaign. Filter by tool, severity or campaign. You only receive alerts for tools you can read.

Schema version 1. Exported by the time the row was created.

ColumnTypeNullableDescription
row_idstringnoStable id of this row; unique within the dataset.
measured_attimestampnoWhen the value was measured, in UTC.
toolstringnoTool the campaign belongs to.
campaign_idstringnoCampaign id.
campaign_namestringnoCampaign name at export time.
project_idstringyesProject the campaign belongs to, if any.
typestringnoWhat the alert is about.
severitystringnoAlert severity.
metadatajsonyesDetails of the alert.