Entwicklerdokumentation

llms.txt abrufen

GET/sites/{siteId}/geo/llms-txt
Berechtigung
ai:read
MCP-Tool
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.

Die Beschreibungen kommen aus dem OpenAPI-Dokument und sind auf Englisch.

Parameter

NameOrtDetails
siteIdPflichtPfadstringWebsite id, from GET /sites.

Antwort

200 · application/json

FeldDetails
urlstring · required; Address of /llms.txt
liveobject · required
live.foundtrue or false · required; A text file is live
live.kindtext | 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.fetchedKindtext | html | empty | missing | error | unreachable · required; What the website answered on this call
live.messagestring · required; The same in words
live.statusinteger or null · required; HTTP status
live.bytesinteger · required; Size in bytes
live.textstring or null · required; The live file (at most 60,000 characters); null when there is no text file
live.truncatedtrue or false · required; The live file is longer than 60,000 characters
live.matchesLastWritetrue or false or null · required; The live file is what MonoRanks last wrote; null when it never wrote one
live.notVisibleYettrue or false · required; Written in the last 24 hours, not visible yet (likely a cache)
live.cachedobject 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.statusinteger or null · required; HTTP status the plain address answered
live.cached.kindtext | html | empty | missing | error | unreachable · required; What the plain address answered
live.cached.foundtrue or false · required; A text file was there
live.cached.cachestring or null · required; The cache header that answered, for example cf-cache-status: HIT
live.fetchedAtstring · required; When it was read
draftobject · required
draft.textstring · required; Generated llms.txt
draft.charsinteger · required; Length in characters
draft.pageslist of object · required; Pages the draft links (the Optional section left out)
draft.pages[].sectionstring · required; Section heading
draft.pages[].titlestring · required; Link text
draft.pages[].urlstring · required; Linked page
wordpressobject · required
wordpress.connectedtrue or false · required; A WordPress connector is connected
wordpress.writabletrue or false · required; MonoRanks may write through it
canPublishtrue or false · required; connected and writable: a POST can write the change
lastChangeobject or null · required; The last approval and its state; null when there was none
lastChange.batchIdstring · required; Change batch id
lastChange.statusapproved | 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.valuestring · required; The approved llms.txt text
lastChange.previousstring · required; The value before (empty: none)
lastChange.approvedBystring · required; Email of the person who approved it
lastChange.approvedAtstring · required; When it was approved
lastChange.appliedAtstring or null · required; When the worker wrote it
lastChange.errorstring or null · required; Why the write failed or was refused
maxCharsinteger · required; Longest llms.txt MonoRanks writes
notestring · required; How to read the fields
linkaddress (URL) · required; The AI readiness screen in the app

Fehler

StatusBedeutung
401Missing, unknown or revoked key. Codes: missing_key, invalid_key.
403The key lacks the scope, covers another website, or its owner lost access. Codes: missing_scope, other_site, owner_left, no_owner, forbidden.
404Not found. Codes: not_found.
429Too many requests this hour for this key. Codes: rate_limited.
503Switched off for now. Codes: feature_off.

Beispielanfrage

curl \
  -H "Authorization: Bearer mr_ws_…" \
  "https://app.monoranks.com/api/v1/sites/SITE_ID/geo/llms-txt"

Beispielantwort

{
  "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"
}

Der MCP-Server macht dasselbe mit dem Tool llms_txt.