# Markdown Document Outline Extractor

> Markdown Document Outline Extractor is a paid API for AI agents from markup-tools.x402tookit.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-11-02).

Parses a Markdown document and returns a structured outline including front matter, headings with anchors, links, images, code blocks with language tags, and detected problems.

## Facts

- Endpoint: GET https://markup-tools.x402tookit.com/markdown-outline?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-11-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/markdown-document-outline-extractor-aed926d9
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LExjFhXRsXg3z1B9EUkfi

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability markdown-document-outline-extractor-aed926d9
```

Example prompt: Can you outline the structure of this Markdown document for me — I need all the headings with their anchor links, any links and images, code blocks with their languages, and a list of any problems detected: [paste markdown here]

## When to prefer this

Use this endpoint when you need a fast, structured outline of a Markdown document including headings with anchor IDs, links, images, code blocks with language detection, and problem flagging — especially for documentation audits, TOC generation, or pre-publish quality checks. Prefer this over HTML-based endpoints when your source is raw Markdown rather than rendered HTML.

## Known failure modes

- Markdown input exceeds 20,000 characters — returns 400 error
- Missing required 'markdown' query parameter — returns 400 error
- Malformed or non-Markdown content may produce empty or minimal structured output
- Payment not provided or insufficient — returns 402 Payment Required
- Service degraded flag may indicate partial results

## How this service works

Outline a Markdown document: front matter, headings with anchors, links, images, code blocks with language, and problems.

## Output

Returns a structured JSON object containing: parsed front matter (keys, format, line count), an array of headings (text, level, anchor, line number), an array of links (URL, text, kind, line number), an array of images, an array of code blocks (language, line number, line count, fenced/closed flags), list count, table count, a summary, and an array of detected issues or problems in the document.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "markdown"
     ],
     "properties": {
      "markdown": {
       "type": "string",
       "description": "Markdown, up to 20000 characters (longer is refused with 400)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "asOf": {
       "type": [
        "null",
        "string"
       ]
      },
      "links": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "url": {
          "type": [
           "null",
           "string"
          ]
         },
         "kind": {
          "type": [
           "null",
           "string"
          ]
         },
         "line": {
          "type": [
           "null",
           "number"
          ]
         },
         "text": {
          "type": [
           "null",
           "string"
          ]
         },
         "title": {}
        }
       }
      },
      "images": {
       "type": [
        "array",
        "null"
       ]
      },
      "issues": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "source": {
       "type": [
        "null",
        "string"
       ]
      },
      "reasons": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "string"
       }
      },
      "summary": {
       "type": [
        "null",
        "string"
       ]
      },
      "verdict": {
       "type": [
        "null",
        "string"
       ]
      },
      "degraded": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "headings": {
       "type": [
        "array",
        "null"
       ],
       "items": {
        "type": "object",
        "properties": {
         "line": {
          "type": [
           "null",
           "number"
          
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/markdown-document-outline-extractor-aed926d9/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from markup-tools.x402tookit.com](https://www.zero.xyz/host/markup-tools.x402tookit.com/llms.txt)
