# Google Search Console — Pipedream Connect

> Tools and reports help you measure your site's Search traffic

- API slug: `google_search_console` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Productivity
- Website: https://search.google.com/search-console
- Managed OAuth scopes: `email` · `profile` · `https://www.googleapis.com/auth/webmasters` · `https://www.googleapis.com/auth/webmasters.readonly` · `https://www.googleapis.com/auth/siteverification` · `https://www.googleapis.com/auth/indexing`
- This page (HTML): https://pipedream.com/apps/google-search-console
- Tools: 8 actions · 0 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: google_search_console`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "google_search_console",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Compare Search Analytics:
const result = await mcp.callTool({
  name: "google_search_console-compare-search-analytics",
  arguments: {
    siteUrl: "Property (siteUrl)",
    currentStartDate: "Current Period Start Date (YYYY-MM-DD)",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Google Search Console endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://www.googleapis.com/webmasters/v3/sites

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vd2VibWFzdGVycy92My9zaXRlcw?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "google_search_console-compare-search-analytics",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    google_search_console: { authProvisionId: "apn_xxxxxxx" },
    siteUrl: "Property (siteUrl)",
    currentStartDate: "Current Period Start Date (YYYY-MM-DD)",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (8)

### `google_search_console-compare-search-analytics` — Compare Search Analytics (Read-only)

Compare Google Search Console traffic between two date ranges for one property and return the deltas. Fetches both periods in parallel, joins the rows on their dimension keys, and reports per-row and total clicks, impressions, ctr and position change — the period-over-period arithmetic is done for…

Full schema: https://pipedream.com/apps/google-search-console/actions/compare-search-analytics.md

### `google_search_console-delete-sitemap` — Delete Sitemap (Write)

Unlists a sitemap from a Google Search Console property. Destructive, and not reversible by this tool.

Full schema: https://pipedream.com/apps/google-search-console/actions/delete-sitemap.md

### `google_search_console-inspect-urls` — Inspect URLs (Read-only)

Returns Google's index status, canonical selection and crawl state for 1-10 URLs of one Search Console property in a single call. This is the API behind the URL Inspection tool in the Search Console UI.

Full schema: https://pipedream.com/apps/google-search-console/actions/inspect-urls.md

### `google_search_console-list-sitemaps` — List Sitemaps (Read-only)

Lists the sitemaps Google Search Console knows about for a property, with their error, warning and freshness state normalized to numbers.

Full schema: https://pipedream.com/apps/google-search-console/actions/list-sitemaps.md

### `google_search_console-list-sites` — List Sites (Read-only)

Lists every Google Search Console property the connected Google account can access, plus that account's email address.

Full schema: https://pipedream.com/apps/google-search-console/actions/list-sites.md

### `google_search_console-retrieve-site-performance-data` — Query Search Analytics (Read-only)

Query Google Search Console search analytics for one property and one date range: clicks, impressions, CTR and average position, optionally grouped by dimensions and filtered. This is the main traffic-reporting tool for a site.

Full schema: https://pipedream.com/apps/google-search-console/actions/retrieve-site-performance-data.md

### `google_search_console-submit-sitemap` — Submit Sitemap (Write)

Submits a sitemap (or resubmits one already listed) to Google Search Console for a property, then reads the stored record back. Resubmitting is idempotent — it creates no duplicate, it updates lastSubmitted and sets isPending: true.

Full schema: https://pipedream.com/apps/google-search-console/actions/submit-sitemap.md

### `google_search_console-submit-url-for-indexing` — Submit URL for Indexing (Write)

Sends a URL_UPDATED or URL_DELETED notification for one page to Google's Indexing API (indexing.googleapis.com) — a SEPARATE API from Search Console reporting.

Full schema: https://pipedream.com/apps/google-search-console/actions/submit-url-for-indexing.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
