{
  "ab_internal": {
    "isEnterprise": false,
    "ql": 400,
    "requireVersionIncrementsInPullRequests": true,
    "sl": 300
  },
  "allowedHosts": {
    "hosts": [
      "*.googleapis.com"
    ]
  },
  "connectorBuildOptions": {
    "baseImage": "docker.io/airbyte/source-declarative-manifest:7.13.0@sha256:949b0f3efefbd66e6222f279f36b2fb1c796b06e0e712b1a80124b49769862c4"
  },
  "connectorTestSuitesOptions": [
    {
      "suite": "liveTests",
      "testConnections": [
        {
          "id": "410eb8be-ba32-49b9-9b07-5d3de995144c",
          "name": "google-search-console_config_dev_null"
        },
        {
          "id": "66214692-e620-4005-a186-95355bd99d02",
          "name": "google-search-console_service_account_config_dev_null"
        }
      ]
    },
    {
      "suite": "unitTests"
    },
    {
      "suite": "acceptanceTests",
      "testSecrets": [
        {
          "fileName": "config.json",
          "name": "SECRET_GOOGLE_SEARCH_CONSOLE_CDK_CREDS_3",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        },
        {
          "fileName": "service_account_config.json",
          "name": "SECRET_SOURCE-GOOGLE-SEARCH-CONSOLE_SERVICE_ACCOUNT__CREDS",
          "secretStore": {
            "alias": "airbyte-connector-testing-secret-store",
            "type": "GSM"
          }
        }
      ]
    }
  ],
  "custom": false,
  "dockerImageTag": "1.10.27-preview.28e6e46",
  "dockerRepository": "airbyte/source-google-search-console",
  "documentationUrl": "https://docs.airbyte.com/integrations/sources/google-search-console",
  "erdUrl": "https://dbdocs.io/airbyteio/source-google-search-console?view=relationships",
  "externalDocumentationUrls": [
    {
      "title": "Google Search Central Blog",
      "url": "https://developers.google.com/search/news"
    },
    {
      "title": "Reference",
      "type": "api_reference",
      "url": "https://developers.google.com/webmaster-tools/v1/api_reference_index"
    }
  ],
  "generated": {
    "git": {
      "commit_author": "bot_apk",
      "commit_author_email": "apk@cognition.ai",
      "commit_sha": "bf517732db3391d4b76c3c49d78f9bf530562571",
      "commit_timestamp": "2026-03-24T23:06:30+00:00"
    },
    "sbomUrl": "https://connectors.airbyte.com/files/sbom/airbyte/source-google-search-console/1.10.27-preview.28e6e46.spdx.json",
    "source_file_info": {
      "metadata_bucket_name": "prod-airbyte-cloud-connector-metadata-service",
      "metadata_file_path": "metadata/airbyte/source-google-search-console/1.10.27-preview.28e6e46/metadata.yaml",
      "metadata_last_modified": "2026-03-25T11:59:11.635298+00:00",
      "registry_entry_generated_at": "2026-03-25T11:59:11.635298+00:00"
    }
  },
  "githubIssueLabel": "source-google-search-console",
  "icon": "googlesearchconsole.svg",
  "iconUrl": "https://connectors.airbyte.com/files/metadata/airbyte/source-google-search-console/latest/icon.svg",
  "language": "manifest-only",
  "license": "Elv2",
  "maxSecondsBetweenMessages": 86400,
  "name": "Google Search Console",
  "packageInfo": {},
  "public": true,
  "releaseStage": "generally_available",
  "releases": {
    "rolloutConfiguration": {
      "advanceDelayMinutes": 10,
      "enableProgressiveRollout": false,
      "initialPercentage": 0,
      "maxPercentage": 50
    }
  },
  "remoteRegistries": {
    "pypi": {
      "enabled": false,
      "packageName": "airbyte-source-google-search-console"
    }
  },
  "sourceDefinitionId": "eb4c9e00-db83-4d63-a386-39cfa91012a8",
  "sourceType": "api",
  "spec": {
    "advanced_auth": {
      "auth_flow_type": "oauth2.0",
      "oauth_config_specification": {
        "complete_oauth_output_specification": {
          "properties": {
            "access_token": {
              "path_in_connector_config": [
                "authorization",
                "access_token"
              ],
              "type": "string"
            },
            "refresh_token": {
              "path_in_connector_config": [
                "authorization",
                "refresh_token"
              ],
              "type": "string"
            }
          },
          "type": "object"
        },
        "complete_oauth_server_input_specification": {
          "properties": {
            "client_id": {
              "type": "string"
            },
            "client_secret": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "complete_oauth_server_output_specification": {
          "properties": {
            "client_id": {
              "path_in_connector_config": [
                "authorization",
                "client_id"
              ],
              "type": "string"
            },
            "client_secret": {
              "path_in_connector_config": [
                "authorization",
                "client_secret"
              ],
              "type": "string"
            }
          },
          "type": "object"
        }
      },
      "predicate_key": [
        "authorization",
        "auth_type"
      ],
      "predicate_value": "Client"
    },
    "connectionSpecification": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "always_use_aggregation_type_auto": {
          "default": false,
          "description": "Some search analytics streams fail with a 400 error if the specified `aggregationType` is not supported. This is customer implementation dependent and if this error is encountered, enable this setting which will override the existing `aggregationType` to use `auto` which should resolve the stream errors.",
          "order": 8,
          "title": "Always Use Aggregation Type Auto",
          "type": "boolean"
        },
        "authorization": {
          "description": "",
          "oneOf": [
            {
              "properties": {
                "access_token": {
                  "airbyte_secret": true,
                  "description": "Access token for making authenticated requests. Read more <a href=\"https://developers.google.com/webmaster-tools/v1/how-tos/authorizing\">here</a>.",
                  "title": "Access Token",
                  "type": "string"
                },
                "auth_type": {
                  "const": "Client",
                  "order": 0,
                  "type": "string"
                },
                "client_id": {
                  "airbyte_secret": true,
                  "description": "The client ID of your Google Search Console developer application. Read more <a href=\"https://developers.google.com/webmaster-tools/v1/how-tos/authorizing\">here</a>.",
                  "title": "Client ID",
                  "type": "string"
                },
                "client_secret": {
                  "airbyte_secret": true,
                  "description": "The client secret of your Google Search Console developer application. Read more <a href=\"https://developers.google.com/webmaster-tools/v1/how-tos/authorizing\">here</a>.",
                  "title": "Client Secret",
                  "type": "string"
                },
                "refresh_token": {
                  "airbyte_secret": true,
                  "description": "The token for obtaining a new access token. Read more <a href=\"https://developers.google.com/webmaster-tools/v1/how-tos/authorizing\">here</a>.",
                  "title": "Refresh Token",
                  "type": "string"
                }
              },
              "required": [
                "auth_type",
                "client_id",
                "client_secret",
                "refresh_token"
              ],
              "title": "OAuth",
              "type": "object"
            },
            {
              "properties": {
                "auth_type": {
                  "const": "Service",
                  "order": 0,
                  "type": "string"
                },
                "email": {
                  "description": "The email of the user which has permissions to access the Google Workspace Admin APIs.",
                  "title": "Admin Email",
                  "type": "string"
                },
                "service_account_info": {
                  "airbyte_secret": true,
                  "description": "The JSON key of the service account to use for authorization. Read more <a href=\"https://cloud.google.com/iam/docs/creating-managing-service-account-keys\">here</a>.",
                  "examples": [
                    "{ \"type\": \"service_account\", \"project_id\": YOUR_PROJECT_ID, \"private_key_id\": YOUR_PRIVATE_KEY, ... }"
                  ],
                  "title": "Service Account JSON Key",
                  "type": "string"
                }
              },
              "required": [
                "auth_type",
                "service_account_info",
                "email"
              ],
              "title": "Service Account Key Authentication",
              "type": "object"
            }
          ],
          "order": 3,
          "title": "Authentication Type",
          "type": "object"
        },
        "custom_reports": {
          "airbyte_hidden": true,
          "description": "(DEPRCATED) A JSON array describing the custom reports you want to sync from Google Search Console. See our <a href='https://docs.airbyte.com/integrations/sources/google-search-console'>documentation</a> for more information on formulating custom reports.",
          "order": 4,
          "title": "Custom Reports",
          "type": "string"
        },
        "custom_reports_array": {
          "description": "You can add your Custom Analytics report by creating one.",
          "items": {
            "properties": {
              "dimensions": {
                "default": [
                  "date"
                ],
                "description": "A list of available dimensions. Please note, that for technical reasons `date` is the default dimension which will be included in your query whether you specify it or not. Primary key will consist of your custom dimensions and the default dimension along with `site_url` and `search_type`.",
                "items": {
                  "description": "An enumeration of dimensions.",
                  "enum": [
                    "country",
                    "date",
                    "device",
                    "page",
                    "query"
                  ],
                  "title": "ValidEnums"
                },
                "minItems": 0,
                "title": "Dimensions",
                "type": "array"
              },
              "name": {
                "description": "The name of the custom report, this name would be used as stream name",
                "title": "Name",
                "type": "string"
              }
            },
            "required": [
              "name",
              "dimensions"
            ],
            "title": "Custom Report Config",
            "type": "object"
          },
          "order": 5,
          "title": "Custom Reports",
          "type": "array"
        },
        "data_state": {
          "default": "final",
          "description": "If set to 'final', the returned data will include only finalized, stable data. If set to 'all', fresh data will be included. When using Incremental sync mode, we do not recommend setting this parameter to 'all' as it may cause data loss. More information can be found in our <a href='https://docs.airbyte.com/integrations/source/google-search-console'>full documentation</a>.",
          "enum": [
            "final",
            "all"
          ],
          "examples": [
            "final",
            "all"
          ],
          "order": 6,
          "title": "Data Freshness",
          "type": "string"
        },
        "end_date": {
          "description": "UTC date in the format YYYY-MM-DD. Any data created after this date will not be replicated. Must be greater or equal to the start date field. Leaving this field blank will replicate all data from the start date onward.",
          "examples": [
            "2021-12-12"
          ],
          "format": "date",
          "order": 2,
          "pattern": "^$|^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
          "pattern_descriptor": "YYYY-MM-DD",
          "title": "End Date",
          "type": "string"
        },
        "num_workers": {
          "default": 40,
          "description": "The number of worker threads to use for the sync. For more details on Google Search Console rate limits, refer to the <a href=\"https://developers.google.com/webmaster-tools/limits\">docs</a>.",
          "examples": [
            30,
            40,
            50
          ],
          "maximum": 100,
          "minimum": 2,
          "order": 7,
          "title": "Number of concurrent workers",
          "type": "integer"
        },
        "requests_per_minute": {
          "default": 1200,
          "description": "The maximum number of requests per minute for Search Analytics API calls. The default (1200) matches Google's documented maximum quota. If you are experiencing rate limit errors, you may need to lower this value. Most new Google Cloud projects start with a quota of 60 requests per minute. Check your Google Cloud Console quotas to see your actual limit.",
          "examples": [
            60,
            300,
            1200
          ],
          "maximum": 1200,
          "minimum": 1,
          "order": 9,
          "title": "Search Analytics API Requests Per Minute",
          "type": "integer"
        },
        "site_urls": {
          "description": "The URLs of the website property attached to your GSC account. Learn more about properties <a href=\"https://support.google.com/webmasters/answer/34592?hl=en\">here</a>.",
          "examples": [
            "https://example1.com/",
            "sc-domain:example2.com"
          ],
          "items": {
            "type": "string"
          },
          "order": 0,
          "title": "Website URL Property",
          "type": "array"
        },
        "start_date": {
          "always_show": true,
          "default": "2021-01-01",
          "description": "UTC date in the format YYYY-MM-DD. Any data before this date will not be replicated.",
          "format": "date",
          "order": 1,
          "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
          "pattern_descriptor": "YYYY-MM-DD",
          "title": "Start Date",
          "type": "string"
        }
      },
      "required": [
        "site_urls",
        "authorization"
      ],
      "title": "Google Search Console Spec",
      "type": "object"
    },
    "documentationUrl": "https://docs.airbyte.com/integrations/sources/google-search-console",
    "supportsDBT": false,
    "supportsNormalization": false
  },
  "suggestedStreams": {
    "streams": [
      "search_analytics_by_page",
      "search_analytics_by_date",
      "search_analytics_by_query",
      "search_analytics_by_device",
      "sitemaps",
      "sites",
      "search_analytics_all_fields"
    ]
  },
  "supportLevel": "certified",
  "supportsDataActivation": false,
  "supportsFileTransfer": false,
  "tags": [
    "language:manifest-only",
    "cdk:low-code"
  ],
  "tombstone": false
}
