Back to source list
Official
Google Search Console
Sync from Google Search Console to any destination
Publisher
cloudquery
Latest version
v1.2.4
Type
Source
Platforms
Date Published
Overview #
The Google Search Console source plugin extracts information from Google Search Console API and loads it into any supported CloudQuery destination (e.g. PostgreSQL, BigQuery, Snowflake, and more).
Example Configuration #
kind: source
spec:
name: google-search-console
path: cloudquery/google-search-console
registry: cloudquery
version: "v1.2.4"
tables:
- google_search_console_search_analytics_by_country
- google_search_console_search_analytics_by_device
- google_search_console_search_analytics_by_page
- google_search_console_search_analytics_by_query
- google_search_console_search_analytics_by_type
destinations: ["postgresql"]
backend_options:
table_name: "cq_state_google_search_console"
connection: "@@plugins.postgresql.connection"
spec:
# OAuth spec for authorization in Google Search Console.
oauth:
# Specify either access_token OR client_id and client_secret:
access_token: "${GOOGLE_SEARCH_CONSOLE_ACCESS_TOKEN}"
# client_id: "${GOOGLE_SEARCH_CONSOLE_CLIENT_ID}"
# client_secret: "${GOOGLE_SEARCH_CONSOLE_CLIENT_SECRET}"
# Optional fields:
# site_urls: # Site URLs to use, e.g. cloudquery.io. If empty, all available sites are used.
# - "cloudquery.io"
# data_state: "" # "FINAL" or "ALL"; "FINAL" is recommended for incremental syncs
# start_date: "" # in YYYY-MM-DD format, in PST (UTC - 8:00). Must be less than or equal to the end date. This value is included in the range. Defaults to one year ago.
# end_date: "" # in YYYY-MM-DD format, in PST (UTC - 8:00). Must be greater than or equal to the start date. This value is included in the range. Defaults to the current date.
Authentication #
Google Search Console API authentication is based on OAuth 2.0 authorization.
The following options are available when using OAuth:
- Using an existing access tokenThis token should be authorized for
https://www.googleapis.com/auth/webmasters.readonly
scope. For a quick local setup, you can use the OAuth 2.0 Playground with a Google Cloud project that has the Search Console API enabled, a web OAuth client ID and secret, to generate a valid access token. - Using OAuth client ID & client secretYou can get your own OAuth credentials using this guide.
Configuration Reference #
This is the (nested) spec used by the Google Search Console source plugin:
oauth
(OAuthSpec
) (optional)OAuth spec. See OAuth spec for more details.data_state
(string
) (optional)Data state to be fetched. Possible values are "FINAL" and "ALL". "FINAL" is recommended for incremental syncs.start_date
(string
) (optional)Start date of the search analytics data, in YYYY-MM-DD format, in PST (UTC - 8:00). Must be less than or equal to the end date. This value is included in the range. Defaults to one year ago.end_date
(string
) (optional)End date of the search analytics data, in YYYY-MM-DD format, in PST (UTC - 8:00). Must be greater than or equal to the start date. This value is included in the range. Defaults to the current date.concurrency
(integer
) (optional) (default:50000
) A best effort maximum number of Go routines to use. Lower this number to reduce memory usage.scheduler
(string
) (optional) (default:dfs
) The scheduler to use when determining the priority of resources to sync. Supported values aredfs
(depth-first search),round-robin
,shuffle
andshuffle-queue
.For more information about this, see performance tuning.
OAuth spec #
Google Search Console API requires OAuth authorization for
https://www.googleapis.com/auth/webmasters.readonly
scope to execute API calls.access_token
(string
) (optional)An access token that you generated authorizing forhttps://www.googleapis.com/auth/webmasters.readonly
scope (e.g., by using OAuth 2.0 Playground).client_id
(string
) (optional)OAuth 2.0 Client ID.client_secret
(string
) (optional)OAuth 2.0 Client secret.
Licenses #
The following tools / packages are used in this plugin:
Name | License |
---|---|
cloud.google.com/go/auth | Apache-2.0 |
cloud.google.com/go/auth/oauth2adapt | Apache-2.0 |
cloud.google.com/go/compute/metadata | Apache-2.0 |
github.com/adrg/xdg | MIT |
github.com/apache/arrow/go/v13 | Apache-2.0 |
github.com/apache/arrow-go/v18 | Apache-2.0 |
github.com/apapsch/go-jsonmerge/v2 | MIT |
github.com/aws/aws-sdk-go-v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/config | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/credentials | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/feature/ec2/imds | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/configsources | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/ini | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/sync/singleflight | BSD-3-Clause |
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/licensemanager | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/marketplacemetering | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sso | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/ssooidc | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sts | Apache-2.0 |
github.com/aws/smithy-go | Apache-2.0 |
github.com/aws/smithy-go/internal/sync/singleflight | BSD-3-Clause |
github.com/bahlo/generic-list-go | BSD-3-Clause |
github.com/buger/jsonparser | MIT |
github.com/cenkalti/backoff/v4 | MIT |
github.com/cloudquery/cloudquery-api-go | MPL-2.0 |
github.com/cloudquery/plugin-pb-go | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v2/internal/glob | MIT |
github.com/cloudquery/plugin-sdk/v2/schema | MIT |
github.com/cloudquery/plugin-sdk/v2/types | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4 | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4/glob | MIT |
github.com/cloudquery/plugin-sdk/v4/scalar | MIT |
github.com/davecgh/go-spew/spew | ISC |
github.com/felixge/httpsnoop | MIT |
github.com/ghodss/yaml | MIT |
github.com/go-logr/logr | Apache-2.0 |
github.com/go-logr/stdr | Apache-2.0 |
github.com/goccy/go-json | MIT |
github.com/golang/groupcache/lru | Apache-2.0 |
github.com/google/flatbuffers/go | Apache-2.0 |
github.com/google/s2a-go | Apache-2.0 |
github.com/google/uuid | BSD-3-Clause |
github.com/googleapis/enterprise-certificate-proxy/client | Apache-2.0 |
github.com/googleapis/gax-go/v2 | BSD-3-Clause |
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors | Apache-2.0 |
github.com/grpc-ecosystem/grpc-gateway/v2 | BSD-3-Clause |
github.com/hashicorp/go-cleanhttp | MPL-2.0 |
github.com/hashicorp/go-retryablehttp | MPL-2.0 |
github.com/invopop/jsonschema | MIT |
github.com/klauspost/compress | Apache-2.0 |
github.com/klauspost/compress/internal/snapref | BSD-3-Clause |
github.com/klauspost/compress/zstd/internal/xxhash | MIT |
github.com/mailru/easyjson | MIT |
github.com/mattn/go-colorable | MIT |
github.com/mattn/go-isatty | MIT |
github.com/oapi-codegen/runtime | Apache-2.0 |
github.com/pierrec/lz4/v4 | BSD-3-Clause |
github.com/pmezard/go-difflib/difflib | BSD-3-Clause |
github.com/rs/zerolog | MIT |
github.com/samber/lo | MIT |
github.com/santhosh-tekuri/jsonschema/v6 | Apache-2.0 |
github.com/spf13/cobra | Apache-2.0 |
github.com/spf13/pflag | BSD-3-Clause |
github.com/stretchr/testify | MIT |
github.com/thoas/go-funk | MIT |
github.com/wk8/go-ordered-map/v2 | Apache-2.0 |
github.com/zeebo/xxh3 | BSD-2-Clause |
go.opencensus.io | Apache-2.0 |
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | Apache-2.0 |
go.opentelemetry.io/otel | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp | Apache-2.0 |
go.opentelemetry.io/otel/log | Apache-2.0 |
go.opentelemetry.io/otel/metric | Apache-2.0 |
go.opentelemetry.io/otel/sdk | Apache-2.0 |
go.opentelemetry.io/otel/sdk/log | Apache-2.0 |
go.opentelemetry.io/otel/sdk/metric | Apache-2.0 |
go.opentelemetry.io/otel/trace | Apache-2.0 |
go.opentelemetry.io/proto/otlp | Apache-2.0 |
golang.org/x/crypto | BSD-3-Clause |
golang.org/x/exp | BSD-3-Clause |
golang.org/x/net | BSD-3-Clause |
golang.org/x/oauth2 | BSD-3-Clause |
golang.org/x/sync | BSD-3-Clause |
golang.org/x/sys | BSD-3-Clause |
golang.org/x/text | BSD-3-Clause |
golang.org/x/xerrors | BSD-3-Clause |
google.golang.org/api | BSD-3-Clause |
google.golang.org/api/internal/third_party/uritemplates | BSD-3-Clause |
google.golang.org/genproto/googleapis/api/httpbody | Apache-2.0 |
google.golang.org/genproto/googleapis/rpc | Apache-2.0 |
google.golang.org/grpc | Apache-2.0 |
google.golang.org/protobuf | BSD-3-Clause |
gopkg.in/yaml.v2 | Apache-2.0 |
gopkg.in/yaml.v3 | MIT |