دیدن llms.txt
GET
/sites/{siteId}/geo/llms-txt- Scope
ai:read- ابزار MCP
llms_txt
Live /llms.txt, a draft from the crawled pages, and the last approval /llms.txt is fetched on this call, past the website's page cache and CDN. The draft is the same as "Generate from your pages" in the app; it works without a WordPress connector, for owners who ship the file in code.
توضیح ها از سند OpenAPI می آیند و انگلیسی اند.
پارامترها
| نام | محل | توضیح |
|---|---|---|
siteIdاجباری | path | stringWebsite id, from GET /sites. |
پاسخ
200 · application/json
| فیلد | توضیح |
|---|---|
url | string · required; Address of /llms.txt |
live | object · required |
live.found | true or false · required; A text file is live |
live.kind | text | html | empty | missing | error | unreachable | stale · required; text, html (a web page, not a text file), empty, missing, error, unreachable, or stale: MonoRanks wrote it in the last 24 hours but the website still answers with the old version |
live.fetchedKind | text | html | empty | missing | error | unreachable · required; What the website answered on this call |
live.message | string · required; The same in words |
live.status | integer or null · required; HTTP status |
live.bytes | integer · required; Size in bytes |
live.text | string or null · required; The live file (at most 60,000 characters); null when there is no text file |
live.truncated | true or false · required; The live file is longer than 60,000 characters |
live.matchesLastWrite | true or false or null · required; The live file is what MonoRanks last wrote; null when it never wrote one |
live.notVisibleYet | true or false · required; Written in the last 24 hours, not visible yet (likely a cache) |
live.cached | object or null · required; What the plain address answered when it differs from the fresh read (a cache still holds an older answer); null when both agree |
live.cached.status | integer or null · required; HTTP status the plain address answered |
live.cached.kind | text | html | empty | missing | error | unreachable · required; What the plain address answered |
live.cached.found | true or false · required; A text file was there |
live.cached.cache | string or null · required; The cache header that answered, for example cf-cache-status: HIT |
live.fetchedAt | string · required; When it was read |
draft | object · required |
draft.text | string · required; Generated llms.txt |
draft.chars | integer · required; Length in characters |
draft.pages | list of object · required; Pages the draft links (the Optional section left out) |
draft.pages[].section | string · required; Section heading |
draft.pages[].title | string · required; Link text |
draft.pages[].url | string · required; Linked page |
wordpress | object · required |
wordpress.connected | true or false · required; A WordPress connector is connected |
wordpress.writable | true or false · required; MonoRanks may write through it |
canPublish | true or false · required; connected and writable: a POST can write the change |
lastChange | object or null · required; The last approval and its state; null when there was none |
lastChange.batchId | string · required; Change batch id |
lastChange.status | approved | applying | applied | not_live | failed | refused | stale | reverting | reverted | revert_failed · required; approved and applying: waiting for the worker; applied: written; failed or refused: see error; reverted: undone in the app |
lastChange.value | string · required; The approved llms.txt text |
lastChange.previous | string · required; The value before (empty: none) |
lastChange.approvedBy | string · required; Email of the person who approved it |
lastChange.approvedAt | string · required; When it was approved |
lastChange.appliedAt | string or null · required; When the worker wrote it |
lastChange.error | string or null · required; Why the write failed or was refused |
maxChars | integer · required; Longest llms.txt MonoRanks writes |
note | string · required; How to read the fields |
link | address (URL) · required; The AI readiness screen in the app |
خطاها
| کد | معنی |
|---|---|
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. |
503 | Switched off for now. Codes: feature_off. |
نمونه درخواست
curl \
-H "Authorization: Bearer mr_ws_…" \
"https://app.monoranks.com/api/v1/sites/SITE_ID/geo/llms-txt"const res = await fetch("https://app.monoranks.com/api/v1/sites/SITE_ID/geo/llms-txt", {
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/geo/llms-txt",
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/geo/llms-txt");
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/geo/llms-txt", { headers: { Authorization: "Bearer mr_ws_…" } });نمونه پاسخ
{
"url": "https://acmebikes.com/llms.txt",
"live": {
"found": false,
"kind": "missing",
"fetchedKind": "missing",
"message": "There is no file at /llms.txt (status 404).",
"status": 404,
"bytes": 0,
"text": null,
"truncated": false,
"matchesLastWrite": null,
"notVisibleYet": false,
"cached": null,
"fetchedAt": "2026-10-06T09:30:12.000Z"
},
"draft": {
"text": "# Acme Bikes\n\n> Road, gravel and e-bikes with free fitting.\n\n## Shop\n- [Gravel bikes](https://acmebikes.com/gravel-bikes/)\n",
"chars": 115,
"pages": [
{
"section": "Shop",
"title": "Gravel bikes",
"url": "https://acmebikes.com/gravel-bikes/"
}
]
},
"wordpress": {
"connected": true,
"writable": true
},
"canPublish": true,
"lastChange": null,
"maxChars": 60000,
"note": "live: /llms.txt fetched now, past the website's page cache and CDN.",
"link": "https://app.monoranks.com/sites/3f6c2a1e-8b4d-4c7a-9e21-5d0b7a6f4c13/geo"
}{
"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."
}
}{
"error": {
"code": "feature_off",
"message": "AI readiness is switched off for now."
}
}سرور MCP همین کار را با ابزار llms_txt انجام می دهد.