---
title: "Get a site from the AI-readiness (llms.txt) dataset"
method: GET
path: "/datasets/llms/items/{domain}"
tags: ["Datasets"]
---

# Get a site from the AI-readiness (llms.txt) dataset

`GET /datasets/llms/items/{domain}`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/datasets/llms/items/{domain}`
- Auth: API key in header `x-api-key`

Returns one site by its domain from dataset id enum value `llms`, including the stored `/llms.txt` and `/llms-full.txt` bodies (`llms.body`, `full.body`; `body_truncated` marks a cut file, and a body that tries to override an AI reader's instructions is withheld with `body_withheld` set to `injection`), their structure and classification, and the `/robots.txt` stance toward each tracked AI crawler. Returns 404 when the domain is not in the dataset or its owner asked for removal (privacy@crawlora.net).

## Path parameters

- `domain` string, required

## Headers

- `x-api-key` string, required

## Response `200`

OK

- DatasetsLlmsItemResponseDoc
  - `code` integer
  - `data` DatasetsLlmsRecord
    - `analyzer_version` string
    - `category` string
    - `domain` string
    - `full` EsLlmsFile
      - `body` string: Body is the file content, capped by the worker (BodyTruncated says whether it was cut). Only present for a valid file.
      - `body_sha256` string
      - `body_truncated` boolean
      - `body_withheld` string: BodyWithheld is set only on the public API, never stored: it names why a stored body was not returned ("injection").
      - `bots` string[]
      - `bytes` integer
      - `content_type` string
      - `ctype_mismatch` boolean
      - `external_hosts` integer
      - `fetched_at` string
      - `final_url` string
      - `generator` string
      - `has_optional` boolean
      - `injection` boolean
      - `kind` string: Kind is the body classification (valid, html, robots, json, ...) for a 200.
      - `link_hosts` string[]
      - `links` integer
      - `links_with_note` integer
      - `llm_artifact` boolean
      - `markdown_links` integer
      - `mentions_api` boolean
      - `mentions_mcp` boolean
      - `mentions_openapi` boolean
      - `mentions_sitemap` boolean
      - `placeholder` boolean
      - `policy` string[]
      - `sections` integer
      - `source_kind` string
      - `state` string
      - `status` integer
      - `summary` string
      - `template_key` string
      - `title` string
      - `valid` boolean
    - `home_blocked` boolean
    - `home_challenge` boolean
    - `home_status` integer
    - `is_infrastructure` boolean
    - `llms` EsLlmsFile
      - `body` string: Body is the file content, capped by the worker (BodyTruncated says whether it was cut). Only present for a valid file.
      - `body_sha256` string
      - `body_truncated` boolean
      - `body_withheld` string: BodyWithheld is set only on the public API, never stored: it names why a stored body was not returned ("injection").
      - `bots` string[]
      - `bytes` integer
      - `content_type` string
      - `ctype_mismatch` boolean
      - `external_hosts` integer
      - `fetched_at` string
      - `final_url` string
      - `generator` string
      - `has_optional` boolean
      - `injection` boolean
      - `kind` string: Kind is the body classification (valid, html, robots, json, ...) for a 200.
      - `link_hosts` string[]
      - `links` integer
      - `links_with_note` integer
      - `llm_artifact` boolean
      - `markdown_links` integer
      - `mentions_api` boolean
      - `mentions_mcp` boolean
      - `mentions_openapi` boolean
      - `mentions_sitemap` boolean
      - `placeholder` boolean
      - `policy` string[]
      - `sections` integer
      - `source_kind` string
      - `state` string
      - `status` integer
      - `summary` string
      - `template_key` string
      - `title` string
      - `valid` boolean
    - `method_version` string
    - `origin` string
    - `probe_error` string
    - `probed_at` string
    - `rank` integer
    - `reachable` boolean
    - `robots` EsLlmsRobots
      - `all_ai_blocked` boolean
      - `bytes` integer
      - `content_signal` object
      - `crawl_delay_secs` integer
      - `crawlers` object
      - `default_stance` string
      - `fetched_at` string
      - `groups` integer
      - `kind` string
      - `mentions_ai` boolean
      - `mentions_llms_txt` boolean
      - `rules` integer
      - `sitemaps` string[]
      - `state` string
      - `status` integer
      - `train_blocked` integer
    - `run_date` string
    - `run_id` string
    - `seed_source` string
    - `tld` string
  - `msg` string

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `429`: Too Many Requests
- `500`: Internal Server Error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
