Search-Übersicht abrufen
GET
/sites/{siteId}/search/summary- Berechtigung
search:read- MCP-Tool
search_summary
Search Console totals vs the previous period, with top pages and queries Clicks, impressions, CTR and position over the last 7, 28 or 90 days (ending at the last imported day) next to the period before, with the 10 top pages and queries. Without stored Search Console data the answer is { connected: false, note }.
Die Beschreibungen kommen aus dem OpenAPI-Dokument und sind auf Englisch.
Parameter
| Name | Ort | Details |
|---|---|---|
siteIdPflicht | Pfad | stringWebsite id, from GET /sites. |
days | Query | 72890default 28Length of the period in days. Other values fall back to 28. |
Antwort
200 · application/json
| Feld | Details |
|---|---|
connected | true or false |
period | object |
period.from | string |
period.to | string |
previous | object |
previous.from | string |
previous.to | string |
totals | object |
totals.clicks | number |
totals.impressions | number |
totals.ctr | number |
totals.position | number |
previousTotals | object |
previousTotals.clicks | number |
previousTotals.impressions | number |
previousTotals.ctr | number |
previousTotals.position | number |
topPages | list of objects |
topPages[].key | string |
topPages[].clicks | number |
topPages[].impressions | number |
topPages[].ctr | number |
topPages[].position | number |
topPages[].prevClicks | number |
topPages[].prevPosition | number |
topQueries | list of objects |
topQueries[].key | string |
topQueries[].clicks | number |
topQueries[].impressions | number |
topQueries[].ctr | number |
topQueries[].position | number |
topQueries[].prevClicks | number |
topQueries[].prevPosition | number |
topQueries[].topPage | string |
note | string |
Fehler
| Status | Bedeutung |
|---|---|
401 | Missing, unknown or revoked key. Codes: missing_key, invalid_key. |
403 | The key lacks the scope, covers another website, or its owner lost access. Codes: missing_scope, other_site, owner_left, no_owner, forbidden. |
404 | Not found. Codes: not_found. |
429 | Too many requests this hour for this key. Codes: rate_limited. |
Beispielanfrage
curl \
-H "Authorization: Bearer mr_ws_…" \
"https://app.monoranks.com/api/v1/sites/SITE_ID/search/summary"const res = await fetch("https://app.monoranks.com/api/v1/sites/SITE_ID/search/summary", {
headers: { Authorization: "Bearer mr_ws_…" },
});
if (!res.ok) throw new Error((await res.json()).error.message);
const data = await res.json();import requests
res = requests.get(
"https://app.monoranks.com/api/v1/sites/SITE_ID/search/summary",
headers={"Authorization": "Bearer mr_ws_…"},
)
res.raise_for_status()
data = res.json()<?php
$ch = curl_init("https://app.monoranks.com/api/v1/sites/SITE_ID/search/summary");
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ["Authorization: Bearer mr_ws_…"],
CURLOPT_RETURNTRANSFER => true,
]);
$data = json_decode(curl_exec($ch), true);import axios from "axios";
const { data } = await axios.get("https://app.monoranks.com/api/v1/sites/SITE_ID/search/summary", { headers: { Authorization: "Bearer mr_ws_…" } });Beispielantwort
{
"connected": true,
"period": {
"from": "2026-09-06",
"to": "2026-10-03"
},
"previous": {
"from": "2026-08-09",
"to": "2026-09-05"
},
"totals": {
"clicks": 4820,
"impressions": 162400,
"ctr": 0.0297,
"position": 14.2
},
"previousTotals": {
"clicks": 4310,
"impressions": 151900,
"ctr": 0.0284,
"position": 15.1
},
"topPages": [
{
"key": "https://acmebikes.com/guides/how-to-choose-a-gravel-bike",
"clicks": 912,
"impressions": 24300,
"ctr": 0.0375,
"position": 6.8,
"prevClicks": 840,
"prevPosition": 7.4
},
{
"key": "https://acmebikes.com/bikes/gravel",
"clicks": 655,
"impressions": 18120,
"ctr": 0.0361,
"position": 9.1,
"prevClicks": 702,
"prevPosition": 8.7
}
],
"topQueries": [
{
"key": "acme bikes",
"clicks": 540,
"impressions": 1980,
"ctr": 0.2727,
"position": 1.2,
"prevClicks": 512,
"prevPosition": 1.3,
"topPage": "https://acmebikes.com/"
},
{
"key": "best gravel bike under 1500",
"clicks": 214,
"impressions": 8650,
"ctr": 0.0247,
"position": 7.9,
"prevClicks": 168,
"prevPosition": 9.4,
"topPage": "https://acmebikes.com/guides/how-to-choose-a-gravel-bike"
}
],
"note": "CTR and position are computed from sums over the period, never averaged across rows."
}{
"error": {
"code": "missing_key",
"message": "Send the key as Authorization: Bearer mr_site_…"
}
}{
"error": {
"code": "missing_scope",
"message": "This key does not have the scope this call needs."
}
}{
"error": {
"code": "not_found",
"message": "Website not found."
}
}{
"error": {
"code": "rate_limited",
"message": "More than 1200 requests this hour for this key."
}
}Der MCP-Server macht dasselbe mit dem Tool search_summary.