← Back to Skills Marketplace
otman-ai

Google seach console

by Otman Heddouch · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
79
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install google-search-console-maton
Description
Access Google Search Console API via cURL with OAuth to manage sites, sitemaps, and query search analytics including clicks, impressions, and rankings.
README (SKILL.md)

SKILL.md\r

\r

Google Search Console (cURL Version)\r

\r Access the Google Search Console API with managed OAuth authentication using cURL. Query search analytics, manage sitemaps, and monitor site performance.\r \r ---\r \r

Quick Start\r

\r

List Sites\r

\r

curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites | jq\r
```\r
\r
---\r
\r
## Base URL\r
\r
```\r
https://gateway.maton.ai/google-search-console/{native-api-path}\r
```\r
\r
Replace `{native-api-path}` with the actual Google Search Console API endpoint path.\r
The gateway proxies requests to `www.googleapis.com` and automatically injects your OAuth token.\r
\r
---\r
\r
## Authentication\r
\r
All requests require the Maton API key:\r
\r
```bash\r
-H "Authorization: Bearer $MATON_API_KEY"\r
```\r
\r
### Environment Variable\r
\r
```bash\r
export MATON_API_KEY="YOUR_API_KEY"\r
```\r
\r
---\r
\r
## Getting Your API Key\r
\r
1. Sign in or create an account at https://maton.ai\r
2. Go to https://maton.ai/settings\r
3. Copy your API key\r
\r
---\r
\r
## Connection Management\r
\r
Manage connections at:\r
\r
```\r
https://ctrl.maton.ai\r
```\r
\r
---\r
\r
### List Connections\r
\r
```bash\r
curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  "https://ctrl.maton.ai/connections?app=google-search-console&status=ACTIVE" | jq\r
```\r
\r
---\r
\r
### Create Connection\r
\r
```bash\r
curl -s -X POST \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  -H "Content-Type: application/json" \\r
  -d '{"app":"google-search-console"}' \\r
  https://ctrl.maton.ai/connections | jq\r
```\r
\r
---\r
\r
### Get Connection\r
\r
```bash\r
curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://ctrl.maton.ai/connections/{connection_id} | jq\r
```\r
\r
#### Response Example\r
\r
```json\r
{\r
  "connection": {\r
    "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80",\r
    "status": "ACTIVE",\r
    "creation_time": "2025-12-08T07:20:53.488460Z",\r
    "last_updated_time": "2026-01-31T20:03:32.593153Z",\r
    "url": "https://connect.maton.ai/?session_token=...",\r
    "app": "google-search-console",\r
    "metadata": {}\r
  }\r
}\r
```\r
\r
Open the `url` in a browser to complete OAuth authorization.\r
\r
---\r
\r
### Delete Connection\r
\r
```bash\r
curl -s -X DELETE \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://ctrl.maton.ai/connections/{connection_id} | jq\r
```\r
\r
---\r
\r
## Specifying Connection\r
\r
If multiple connections exist:\r
\r
```bash\r
curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  -H "Maton-Connection: 21fd90f9-5935-43cd-b6c8-bde9d915ca80" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites | jq\r
```\r
\r
If omitted, the default (oldest active) connection is used.\r
\r
---\r
\r
## API Reference\r
\r
### Sites\r
\r
```bash\r
# List sites\r
GET /google-search-console/webmasters/v3/sites\r
\r
# Get a specific site\r
GET /google-search-console/webmasters/v3/sites/{siteUrl}\r
```\r
\r
> ⚠️ Site URL must be URL-encoded\r
> Example: `https%3A%2F%2Fexample.com%2F`\r
\r
---\r
\r
### Search Analytics\r
\r
```bash\r
curl -s -X POST \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  -H "Content-Type: application/json" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites/{siteUrl}/searchAnalytics/query \\r
  -d '{\r
    "startDate": "2024-01-01",\r
    "endDate": "2024-01-31",\r
    "dimensions": ["query"],\r
    "rowLimit": 100\r
  }' | jq\r
```\r
\r
---\r
\r
### Sitemaps\r
\r
```bash\r
# List sitemaps\r
curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites/{siteUrl}/sitemaps | jq\r
\r
# Submit sitemap\r
curl -s -X PUT \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}\r
\r
# Delete sitemap\r
curl -s -X DELETE \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://gateway.maton.ai/google-search-console/webmasters/v3/sites/{siteUrl}/sitemaps/{feedpath}\r
```\r
\r
---\r
\r
## Search Analytics Examples\r
\r
### Top Queries\r
\r
```json\r
{\r
  "startDate": "2024-01-01",\r
  "endDate": "2024-01-31",\r
  "dimensions": ["query"],\r
  "rowLimit": 25\r
}\r
```\r
\r
### Top Pages\r
\r
```json\r
{\r
  "dimensions": ["page"]\r
}\r
```\r
\r
### Device Breakdown\r
\r
```json\r
{\r
  "dimensions": ["device"]\r
}\r
```\r
\r
### Daily Performance\r
\r
```json\r
{\r
  "dimensions": ["date"]\r
}\r
```\r
\r
### Filtered Query\r
\r
```json\r
{\r
  "dimensionFilterGroups": [{\r
    "filters": [{\r
      "dimension": "query",\r
      "operator": "contains",\r
      "expression": "keyword"\r
    }]\r
  }]\r
}\r
```\r
\r
---\r
\r
## Dimensions\r
\r
* `query` – Search query\r
* `page` – Page URL\r
* `country` – Country code\r
* `device` – DESKTOP, MOBILE, TABLET\r
* `date` – Date\r
\r
---\r
\r
## Metrics (Auto Returned)\r
\r
* `clicks`\r
* `impressions`\r
* `ctr`\r
* `position`\r
\r
---\r
\r
## Notes\r
\r
* Site URLs must be URL-encoded\r
* Date range limited to 16 months\r
* Max 25,000 rows per request\r
* Use `startRow` for pagination\r
* Data delay: 2–3 days\r
\r
---\r
\r
## Important cURL Notes\r
\r
* Use `-g` if URL contains brackets:\r
\r
```bash\r
curl -g "https://example.com?fields[]=..."\r
```\r
\r
* When piping to `jq`, environment variables may not expand correctly in some shells.\r
\r
---\r
\r
## Error Handling\r
\r
| Status  | Meaning                           |\r
| ------- | --------------------------------- |\r
| 400     | Missing Search Console connection |\r
| 401     | Invalid/missing API key           |\r
| 429     | Rate limited (10 req/sec)         |\r
| 4xx/5xx | Upstream API error                |\r
\r
---\r
\r
## Troubleshooting API Key\r
\r
### Check variable\r
\r
```bash\r
echo $MATON_API_KEY\r
```\r
\r
### Verify key\r
\r
```bash\r
curl -s \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  https://ctrl.maton.ai/connections | jq\r
```\r
\r
---\r
\r
## Example: Full Query Flow\r
\r
```bash\r
SITE_URL=$(python3 -c "import urllib.parse; print(urllib.parse.quote('https://example.com', safe=''))")\r
\r
curl -s -X POST \\r
  -H "Authorization: Bearer $MATON_API_KEY" \\r
  -H "Content-Type: application/json" \\r
  "https://gateway.maton.ai/google-search-console/webmasters/v3/sites/$SITE_URL/searchAnalytics/query" \\r
  -d '{\r
    "startDate": "2024-01-01",\r
    "endDate": "2024-01-31",\r
    "dimensions": ["query"],\r
    "rowLimit": 25\r
  }' | jq\r
```\r
\r
---\r
Usage Guidance
Before installing or using this skill: (1) be aware the SKILL.md requires a MATON_API_KEY though the metadata does not declare it — prefer skills that declare required credentials explicitly. (2) Evaluate whether you trust Maton (gateway.maton.ai / ctrl.maton.ai / connect.maton.ai) because those endpoints will see your Search Console requests and participate in OAuth flows; check their operator, privacy policy, and security posture. (3) If you prefer greater control, use Google’s official APIs or your own proxy and OAuth credentials (service account or direct OAuth) instead of a third-party gateway. (4) Do not paste your MATON_API_KEY or session tokens into public places; restrict the key's permissions and rotate/revoke it if you stop using the skill. (5) Ask the publisher to update registry metadata to declare MATON_API_KEY as a required/primary credential so reviewers and automated systems can surface the risk.
Capability Analysis
Type: OpenClaw Skill Name: google-search-console-maton Version: 1.0.0 The skill bundle provides a standard interface for interacting with the Google Search Console API via a third-party proxy service (maton.ai). It uses cURL commands and environment variables for authentication as described in SKILL.md, and includes a safe Python snippet for URL encoding. No evidence of data exfiltration, malicious execution, or prompt injection was found.
Capability Tags
requires-oauth-token
Capability Assessment
Purpose & Capability
The skill claims to provide Google Search Console access and the SKILL.md shows a coherent method (calls to a Maton gateway that proxy Google APIs). Requiring an API key for such a gateway is reasonable. However, the skill metadata declares no required credentials while the runtime instructions explicitly require MATON_API_KEY, which is an internal inconsistency.
Instruction Scope
The SKILL.md stays within the scope of managing Search Console: listing sites, search analytics queries, and sitemap operations. It does not instruct the agent to read unrelated system files or other environment variables. It does, however, direct users to external Maton endpoints (gateway.maton.ai, ctrl.maton.ai, connect.maton.ai) and to open URLs containing session tokens for OAuth, which transfers auth decisions to a third-party service.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so there is no disk install risk from the skill bundle itself.
Credentials
The runtime instructions require an environment variable named MATON_API_KEY and describe connection/session tokens, but the registry metadata lists no required env vars and no primary credential. That mismatch is concerning: the skill will only work if you provide a sensitive bearer token, yet the metadata does not surface that fact for reviewers or automated gating. In addition, using a gateway service means that the gateway operator will receive proxied Google Search Console data and tokens — a privacy/privilege consideration that should be evaluated.
Persistence & Privilege
The skill does not request always:true and has no install-time persistence. It does not request modifying other skills or system-wide settings. Autonomous invocation is allowed (platform default), which is normal and not by itself a red flag.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install google-search-console-maton
  3. After installation, invoke the skill by name or use /google-search-console-maton
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of google-search-console-maton skill. - Provides cURL-based access to Google Search Console API via Maton with managed OAuth authentication. - Supports querying search analytics, managing sitemaps, and monitoring site performance. - Includes detailed usage instructions, API reference, authentication setup, and cURL command examples. - Documentation covers connection management, error handling, and troubleshooting tips for API keys.
Metadata
Slug google-search-console-maton
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Google seach console?

Access Google Search Console API via cURL with OAuth to manage sites, sitemaps, and query search analytics including clicks, impressions, and rankings. It is an AI Agent Skill for Claude Code / OpenClaw, with 79 downloads so far.

How do I install Google seach console?

Run "/install google-search-console-maton" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Google seach console free?

Yes, Google seach console is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Google seach console support?

Google seach console is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Google seach console?

It is built and maintained by Otman Heddouch (@otman-ai); the current version is v1.0.0.

💬 Comments