Skip to main content
Google Search Console logo

Overview

Add Google Search Console to any ModuleX agent or workflow. Access Google Search Console search analytics and URL indexing via the Search Console API (searchconsole.googleapis.com) and the Indexing API (indexing.googleapis.com).
Categories: Marketing & Advertising · SEO · Marketing · Developer Tools & Infrastructure · Auth: OAuth2 · Actions: 2

Authentication

OAuth2 Authentication

Connect using Google OAuth (recommended)

Required Credentials

FieldDescriptionRequiredFormat
Client IDGoogle OAuth App Client IDYes-
Client SecretGoogle OAuth App Client SecretYes-

OAuth Configuration

  • Authorization URL: https://accounts.google.com/o/oauth2/v2/auth
  • Token URL: https://oauth2.googleapis.com/token
  • Scopes: https://www.googleapis.com/auth/webmasters.readonly, https://www.googleapis.com/auth/indexing

Available Actions

Parameters

site_url
string
required
The site URL as registered in Search Console (e.g. ‘sc-domain:example.com’ or ‘https://example.com/’)
start_date
string
required
Start date in YYYY-MM-DD format
end_date
string
required
End date in YYYY-MM-DD format
dimensions
array
Dimensions to group results by. Allowed values: country, device, page, query, searchAppearance, date
search_type
string
Type of search. Allowed values: web, image, video, news, googleNews, discover (Default: web)
aggregation_type
string
Aggregation type. Allowed values: auto, byPage
row_limit
integer
Maximum number of rows to return (Default: 10)
start_row
integer
Start row for pagination (zero-based)
subdomain_filter
string
Filter results to a specific subdomain when using a domain property (e.g. ‘https://subdomain.example.com’)
filter_dimension
string
Dimension to filter by when subdomain_filter is used. Allowed values: country, device, page, query (Default: page)
filter_operator
string
Filter operator. Allowed values: contains, equals, notContains, notEquals, includingRegex, excludingRegex (Default: contains)
advanced_dimension_filters
object
Custom dimension filter groups following the Search Console API structure (JSON object)
data_state
string
Data state to use. Allowed values: all, final (Default: final)

Response

{
  "$defs": {
    "SearchAnalyticsRow": {
      "additionalProperties": false,
      "description": "A single row from the Search Analytics response.",
      "properties": {
        "keys": {
          "items": {
            "type": "string"
          },
          "title": "Keys",
          "type": "array"
        },
        "clicks": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Clicks"
        },
        "impressions": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Impressions"
        },
        "ctr": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ctr"
        },
        "position": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Position"
        }
      },
      "title": "SearchAnalyticsRow",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "rows": {
      "items": {
        "$ref": "#/$defs/SearchAnalyticsRow"
      },
      "title": "Rows",
      "type": "array"
    },
    "response_aggregation_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Response Aggregation Type"
    }
  },
  "required": [
    "success"
  ],
  "title": "RetrieveSitePerformanceDataOutput",
  "type": "object"
}

Parameters

site_url
string
required
The URL to submit for indexing (must be a canonical URL verified in Google Search Console)
notification_type
string
Type of notification. Allowed values: URL_UPDATED (content updated), URL_DELETED (page removed) (Default: URL_UPDATED)

Response

{
  "$defs": {
    "UrlNotificationMetadata": {
      "additionalProperties": false,
      "description": "Metadata returned after submitting a URL for indexing.",
      "properties": {
        "url": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Url"
        },
        "latest_update": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Latest Update"
        },
        "latest_remove": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Latest Remove"
        }
      },
      "title": "UrlNotificationMetadata",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "url_notification_metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/UrlNotificationMetadata"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "success"
  ],
  "title": "SubmitUrlForIndexingOutput",
  "type": "object"
}

Limits & Quotas

  • Search Analytics API: 1,200 queries per minute per project (default quota).
  • Indexing API: 200 publish requests per day per site property (standard quota).
  • Error model: non-2xx responses are caught and returned as success=False + error rather than raising.

Ahrefs

Google Ad Manager

Google My Business