Skip to main content

Google Sheets

This page guides you through the process of setting up the Google Sheets source connector.

info

The Google Sheets source connector pulls data from a single Google Sheets spreadsheet. To replicate multiple spreadsheets, set up multiple Google Sheets source connectors in your Airbyte instance.

Setup guide

For Airbyte Cloud:

To set up Google Sheets as a source in Airbyte Cloud:

  1. Log into your Airbyte Cloud account.
  2. In the left navigation bar, click Sources. In the top-right corner, click + New source.
  3. On the Set up the source page, select Google Sheets from the Source type dropdown.
  4. Enter a name for the Google Sheets connector.
  5. Authenticate your Google account via OAuth or Service Account Key Authentication.
    • (Recommended) To authenticate your Google account via OAuth, click Sign in with Google and complete the authentication workflow.
    • To authenticate your Google account via Service Account Key Authentication, enter your Google Cloud service account key in JSON format. Make sure the Service Account has the Project Viewer permission. If your spreadsheet is viewable by anyone with its link, no further action is needed. If not, give your Service account access to your spreadsheet.
  6. For Spreadsheet Link, enter the link to the Google spreadsheet. To get the link, go to the Google spreadsheet you want to sync, click Share in the top right corner, and click Copy Link.
  7. For Row Batch Size, define the number of records you want the Google API to fetch at a time. The default value is 200.

For Airbyte Open Source:

To set up Google Sheets as a source in Airbyte Open Source:

  1. Enable the Google Cloud Platform APIs for your personal or organization account.

    info

    The connector only finds the spreadsheet you want to replicate; it does not access any of your other files in Google Drive.

  2. Go to the Airbyte UI and in the left navigation bar, click Sources. In the top-right corner, click + New source.

  3. On the Set up the source page, select Google Sheets from the Source type dropdown.

  4. Enter a name for the Google Sheets connector.

  5. Authenticate your Google account via OAuth or Service Account Key Authentication:

  6. For Spreadsheet Link, enter the link to the Google spreadsheet. To get the link, go to the Google spreadsheet you want to sync, click Share in the top right corner, and click Copy Link.

Output schema

Each sheet in the selected spreadsheet is synced as a separate stream. Each selected column in the sheet is synced as a string field.

Note: Sheet names and column headers must contain only alphanumeric characters or _, as specified in the Airbyte Protocol. For example, if your sheet or column header is named the data, rename it to the_data. This restriction does not apply to non-header cell values.

Airbyte only supports replicating Grid sheets.

Supported sync modes

The Google Sheets source connector supports the following sync modes:

Data type mapping

Integration TypeAirbyte TypeNotes
any typestring

Performance consideration

The Google API rate limit is 100 requests per 100 seconds per user and 500 requests per 100 seconds per project. Airbyte batches requests to the API in order to efficiently pull data and respects these rate limits. We recommended not using the same service user for more than 3 instances of the Google Sheets source connector to ensure high transfer speeds.

Changelog

VersionDatePull RequestSubject
0.3.12023-07-0628033Fixed several reported vulnerabilities (25 total), CVE-2022-37434, CVE-2022-42898
0.3.02023-06-2627738License Update: Elv2
0.2.392023-05-3126833Remove authSpecification in favour of advancedAuth in specification
0.2.382023-05-1626097Refactor config error
0.2.372023-02-2123292Skip non grid sheets.
0.2.362023-02-2123272Handle empty sheets gracefully.
0.2.352023-02-2323057Slugify column names
0.2.342023-02-1523071Change min spreadsheet id size to 20 symbols
0.2.332023-02-1323278Handle authentication errors
0.2.322023-02-1322884Do not consume http spreadsheets.
0.2.312022-10-0919574Revert 'Add row_id to rows and use as primary key'
0.2.302022-10-0919215Add row_id to rows and use as primary key
0.2.212022-10-0415591Clean instantiation of AirbyteStream
0.2.202022-10-1017766Fix null pointer exception when parsing the spreadsheet id.
0.2.192022-09-2917410Use latest CDK.
0.2.182022-09-2817326Migrate to per-stream states.
0.2.172022-08-0315107Expose Row Batch Size in Connector Specification
0.2.162022-07-0713729Improve configuration field description
0.2.152022-06-0213446Retry requests resulting in a server error
0.2.132022-05-0612685Update CDK to v0.1.56 to emit an AirbyeTraceMessage on uncaught exceptions
0.2.122022-04-2012230Update connector to use a spec.yaml
0.2.112022-04-1311977Replace leftover print statement with airbyte logger
0.2.102022-03-2511404Allow using Spreadsheet Link/URL instead of Spreadsheet ID
0.2.92022-01-259208Update title and descriptions
0.2.72021-09-278470Migrate to the CDK
0.2.62021-09-276354Support connecting via Oauth webflow
0.2.52021-09-125972Fix full_refresh test by adding supported_sync_modes to Stream initialization
0.2.42021-08-055233Fix error during listing sheets with diagram only
0.2.32021-06-093973Add AIRBYTE_ENTRYPOINT for Kubernetes support
0.2.22021-04-202994Formatting spec
0.2.12021-04-032726Fix base connector versioning
0.2.02021-03-092238Protocol allows future/unknown properties
0.1.72021-01-211762Fix issue large spreadsheet
0.1.62021-01-271668Adopt connector best practices
0.1.52020-12-301438Implement backoff
0.1.42020-11-301046Add connectors using an index YAML file