Google Search Console
This page contains the setup guide and reference information for the Google Search Console source connector.
Prerequisites
- A verified property in Google Search Console (or the list of the
Site URLs
(Website URL Properties))
- Google Search Console API enabled for your project (Airbyte Open Source only)
Setup guide
Step 1: Set up Google Search Console
To authenticate the Google Search Console connector, you will need to use one of the following methods:
OAuth (Recommended for Airbyte Cloud)
You can authenticate using your Google Account with OAuth if you are the owner of the Google Search Console property or have view permissions. Follow Google's instructions to ensure that your account has the necessary permissions (Owner or Full User) to view the Google Search Console property. This option is recommended for Airbyte Cloud users, as it significantly simplifies the setup process and allows you to authenticate the connection directly from the Airbyte UI.
To authenticate with OAuth in Airbyte Open Source, you will need to create an authentication app and obtain the following credentials and tokens:
- Client ID
- Client Secret
- Refresh Token
- Access Token
More information on the steps to create an OAuth app to access Google APIs and obtain these credentials can be found in Google's documentation.
Google service account with JSON key file (Recommended for Airbyte Open Source)
You can authenticate the connection using a JSON key file associated with a Google service account. This option is recommended for Airbyte Open Source users. Follow the steps below to create a service account and generate the JSON key file:
- Open the Service Accounts page.
- Select an existing project, or create a new project.
- At the top of the page, click + Create service account.
- Enter a name and description for the service account, then click Create and Continue.
- Under Service account permissions, select the roles to grant to the service account, then click Continue. We recommend the Viewer role.
- Optional: Under Grant users access to this service account, you may specify the users or groups that are allowed to use and manage the service account.
- Go to the API Console/Credentials and click on the email address of the service account you just created.
- In the Keys tab, click + Add key, then click Create new key.
- Select JSON as the Key type. This will generate and download the JSON key file that you'll use for authentication. Click Continue.
This file serves as the only copy of your JSON service key, and you will not be able to re-download it. Be sure to store it in a secure location.
You can return to the API Console/Credentials at any time to manage your service account or generate additional JSON keys. For more details about service account credentials, see Google's IAM documentation.
Note on delegating domain-wide authority to the service account
Domain-wide delegation is a powerful feature that allows service accounts to access users' data across an organization's Google Workspace environment through 'impersonation'. This authority is necessary in certain use cases, such as when a service account needs broad access across multiple users and services within a domain.
Only the super admin of your Google Workspace domain can enable domain-wide delegation of authority to a service account.
To enable delegated domain-wide authority, follow the steps listed in the Google documentation. Please make sure to grant the following OAuth scopes to the service account:
https://www.googleapis.com/auth/webmasters.readonly
For more information on this topic, please refer to this Google article.
Step 2: Set up the Google Search Console connector in Airbyte
For Airbyte Cloud:
- Log in to your Airbyte Cloud account.
- In the left navigation bar, click Sources. In the top-right corner, click + New source.
- Find and select Google Search Console from the list of available sources.
- For Source name, enter a name to help you identify this source.
- For Website URL Property, enter the specific website property in Google Seach Console with data you want to replicate.
- For Start Date, by default the
2021-01-01
is set, use the provided datepicker or enter a date in the formatYYYY-MM-DD
. Any data created on or after this date will be replicated. - To authenticate the connection:
- For Airbyte Cloud:
- Select Oauth from the Authentication dropdown, then click Sign in with Google to authorize your account.
- For Airbyte Open Source:
- (Recommended) Select Service Account Key Authorization from the Authentication dropdown, then enter the Admin Email and Service Account JSON Key. For the key, copy and paste the JSON key you obtained during the service account setup. It should begin with
{"type": "service account", "project_id": YOUR_PROJECT_ID, "private_key_id": YOUR_PRIVATE_KEY, ...}
- Select Oauth from the Authentication dropdown, then enter your Client ID, Client Secret, Access Token and Refresh Token.
- (Recommended) Select Service Account Key Authorization from the Authentication dropdown, then enter the Admin Email and Service Account JSON Key. For the key, copy and paste the JSON key you obtained during the service account setup. It should begin with
- (Optional) For End Date, you may optionally provide a date in the format
YYYY-MM-DD
. Any data created between the defined Start Date and End Date will be replicated. Leaving this field blank will replicate all data created on or after the Start Date to the present. - (Optional) For Custom Reports, you may optionally provide an array of JSON objects representing any custom reports you wish to query the API with. Refer to the Custom reports section below for more information on formulating these reports.
- (Optional) For Data Freshness, you may choose whether to include "fresh" data that has not been finalized by Google, and may be subject to change. Please note that if you are using Incremental sync mode, we highly recommend leaving this option to its default value of
final
. Refer to the Data Freshness section below for more information on this parameter. - Click Set up source and wait for the tests to complete.