فهرست صفحه ها
GET
/sites/{siteId}/pages- Scope
pages:read
List crawled pages.
توضیح ها از سند OpenAPI می آیند و انگلیسی اند.
پارامترها
| نام | محل | توضیح |
|---|---|---|
siteIdاجباری | path | stringWebsite id, from GET /sites. |
q | query | stringPart of the address or title. |
page | query | integerdefault 1, min 1Page number, from 1. |
per | query | integerdefault 50, min 1, max 200Rows per page, 1 to 200. |
پاسخ
200 · application/json
| فیلد | توضیح |
|---|---|
total | integer · required; Pages that match |
pages | list of object · required |
pages[].id | string · required; Page id |
pages[].url | string · required; Page address |
pages[].status | integer or null · required; HTTP status the address answered (its own 3xx for a redirect); null when unknown |
pages[].redirect | object or null · required; Set when the address redirects; null otherwise |
pages[].redirect.to | string or null · required; Where the redirect leads |
pages[].redirect.hops | integer · required; Redirect steps |
pages[].redirect.finalStatus | integer or null · required; What the last address answered |
pages[].title | string or null · required; Page title |
pages[].template | string · required; URL template the page belongs to, for example /products/* |
pages[].pageScore | integer or null · required; Page score 0–100 |
pages[].aeoScore | integer or null · required; AEO score 0–100 |
pages[].openIssues | integer · required; Open issues on the page |
pages[].inlinks | integer · required; Internal links to the page |
pages[].lastCrawled | string or null · required; Last crawled |
خطاها
| کد | معنی |
|---|---|
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. |
نمونه درخواست
curl \
-H "Authorization: Bearer mr_ws_…" \
"https://app.monoranks.com/api/v1/sites/SITE_ID/pages"const res = await fetch("https://app.monoranks.com/api/v1/sites/SITE_ID/pages", {
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/pages",
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/pages");
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/pages", { headers: { Authorization: "Bearer mr_ws_…" } });نمونه پاسخ
{
"total": 412,
"pages": [
{
"id": "c7a9e1b3-5d7f-4b9c-8e1a-3c5e7a9b1d2f",
"url": "https://acmebikes.com/products/trail-pro-29",
"status": 200,
"redirect": null,
"title": "Trail Pro 29 Mountain Bike | Acme Bikes",
"template": "/products/*",
"pageScore": 86,
"aeoScore": 71,
"openIssues": 1,
"inlinks": 34,
"lastCrawled": "2026-10-04T02:41:12.000Z"
}
]
}{
"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."
}
}