> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anyformat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Documents in. Data out.

> Describe the fields you need once. anyformat reads every document you give it and returns structured data, with a confidence and a citation for each value.

<div className="af-landing">
  <h1 className="af-title">Documents in. Data out.</h1>
  <p className="af-sub">Describe the fields you need once. anyformat reads every document you give it and returns structured data, with a confidence and a citation for each value.</p>

  <div className="af-hero-scroll">
    <div className="af-hero" aria-label="An invoice on the left; on the right the code that defines the workflow, the run, and the result, with each value wired to the phrase it was read from">
      <div className="af-paper">
        <div className="af-paper-title">INVOICE</div>

        <div className="af-paper-block">
          <div><span className="af-hl af-hl-1">Invoice #: INV-2026-9001</span></div>
          <div><span className="af-hl af-hl-2">Issue date: 2026-02-20</span></div>
          <div>Due date: 2026-03-22</div>
          <div>Currency: USD</div>
        </div>

        <div className="af-paper-cols">
          <div className="af-paper-block"><div>From: Wayne Enterprises</div><div className="af-paper-muted">148 Eric Track, New Stephanie, NC 00575</div></div>
          <div className="af-paper-block"><div>Bill to: Nguyen, Smith and Hickman</div></div>
        </div>

        <div className="af-paper-block">
          <div className="af-row af-row-head"><div>Description</div><div className="af-num">Qty</div><div className="af-num">Unit price</div><div className="af-num">Amount</div></div>
          <div className="af-row"><div>Matrix Extensible Action-Items</div><div className="af-num">8</div><div className="af-num">{'$246.87'}</div><div className="af-num">{'$1,974.96'}</div></div>
          <div className="af-row"><div>Streamline Web-Enabled Networks</div><div className="af-num">7</div><div className="af-num">{'$46.51'}</div><div className="af-num">{'$325.57'}</div></div>
          <div className="af-row"><div>Evolve Strategic Models</div><div className="af-num">5</div><div className="af-num">{'$375.28'}</div><div className="af-num">{'$1,876.40'}</div></div>
        </div>

        <div className="af-totals">
          <div>
            {'Subtotal: $4,176.93'}
          </div>

          <div>
            {'Tax (10%): $417.69'}
          </div>

          <div className="af-bold">
            <span className="af-hl af-hl-3">
              {'TOTAL: $4,594.62'}
            </span>
          </div>
        </div>
      </div>

      <div className="af-card">
        <div className="af-tabs">
          <div className="af-tab af-tab-define">Define</div>
          <div className="af-tab af-tab-run">Run</div>
          <div className="af-tab af-tab-read">Read</div>
          <div className="af-tabs-right"><span className="af-lang-on">Python</span><span>TypeScript</span><span>curl</span><span>In the app</span></div>
        </div>

        <div className="af-pane af-pane-code">
          <div><span className="af-k">from</span>{' anyformat.sdk '}<span className="af-k">import</span>{' Client'}</div>
          <div><span className="af-k">from</span>{' anyformat.workflow '}<span className="af-k">import</span>{' Schema'}</div>

          <div>
            {' '}
          </div>

          <div>
            {'client = Client(api_key=os.environ['}

            <span className="af-s">
              {'"ANYFORMAT_API_KEY"'}
            </span>

            {'])'}
          </div>

          <div>
            {' '}
          </div>

          <div>
            {'workflow = ('}
          </div>

          <div>
            {'    client.workflow('}

            <span className="af-s">
              {'"Invoices"'}
            </span>

            {')'}
          </div>

          <div>
            {'    .parse()'}
          </div>

          <div>
            {'    .extract(['}
          </div>

          <div>
            {'        Schema.string('}

            <span className="af-s">
              {'"invoice_number"'}
            </span>

            {', '}

            <span className="af-s">
              {'"Invoice identifier"'}
            </span>

            {'),'}
          </div>

          <div>
            {'        Schema.float('}

            <span className="af-s">
              {'"total_amount"'}
            </span>

            {', '}

            <span className="af-s">
              {'"Grand total, including tax"'}
            </span>

            {'),'}
          </div>

          <div>
            {'        Schema.date('}

            <span className="af-s">
              {'"issue_date"'}
            </span>

            {', '}

            <span className="af-s">
              {'"Issue date"'}
            </span>

            {'),'}
          </div>

          <div>
            {'    ])'}
          </div>

          <div>
            {'    .create()'}
          </div>

          <div>
            {')'}
          </div>

          <div>
            {' '}
          </div>

          <div>
            {'result = workflow.run('}

            <span className="af-s">
              {'"invoice.pdf"'}
            </span>

            {').wait()'}
          </div>
        </div>

        <div className="af-pane af-pane-run">
          <div>
            {'$ python hello.py'}
          </div>

          <div><span className="af-m">POST</span>{' /v3/workflows/                        '}<span className="af-s">201</span>{'  workflow created'}</div>
          <div><span className="af-m">POST</span>{' /v3/workflows/{workflow_id}/upload/run/  '}<span className="af-s">202</span>{'  status: queued'}</div>
          <div><span className="af-m">GET</span>{'  /v3/runs/{run_id}/                    '}<span className="af-s">200</span>{'  status: in_progress'}</div>
          <div><span className="af-m">GET</span>{'  /v3/runs/{run_id}/                    '}<span className="af-s">200</span>{'  status: in_progress'}</div>
          <div><span className="af-m">GET</span>{'  /v3/runs/{run_id}/                    '}<span className="af-s">200</span>{'  status: processed '}<span className="af-cursor" /></div>
        </div>

        <div className="af-pane af-pane-json">
          <div>
            {'{'}
          </div>

          <div>
            {'  '}

            <span className="af-key">
              {'"invoice_number"'}
            </span>

            {': {'}
          </div>

          <div>
            {'    "value": '}

            <span className="af-val af-val-1">
              {'"INV-2026-9001"'}
            </span>

            {','}
          </div>

          <div>
            {'    "confidence": 98.0,'}
          </div>

          <div>
            {'    "evidence": [{ "text": "Invoice #: INV-2026-9001", "page_number": 1 }]'}
          </div>

          <div>
            {'  },'}
          </div>

          <div>
            {'  '}

            <span className="af-key">
              {'"issue_date"'}
            </span>

            {': {'}
          </div>

          <div>
            {'    "value": '}

            <span className="af-val af-val-2">
              {'"2026-02-20"'}
            </span>

            {','}
          </div>

          <div>
            {'    "confidence": 98.0,'}
          </div>

          <div>
            {'    "evidence": [{ "text": "Issue date: 2026-02-20", "page_number": 1 }]'}
          </div>

          <div>
            {'  },'}
          </div>

          <div>
            {'  '}

            <span className="af-key">
              {'"total_amount"'}
            </span>

            {': {'}
          </div>

          <div>
            {'    "value": '}

            <span className="af-val af-val-3">
              {'"4594.62"'}
            </span>

            {','}
          </div>

          <div>
            {'    "confidence": 98.0,'}
          </div>

          <div>
            {'    "evidence": [{ "text": "TOTAL: $4,594.62", "page_number": 1 }]'}
          </div>

          <div>
            {'  }'}
          </div>

          <div>
            {'}'}
          </div>
        </div>
      </div>

      <svg className="af-wires" viewBox="0 0 1200 480" fill="none" aria-hidden="true">
        <path className="af-wire af-wire-1" d="M190 84 C 300 84, 380 110, 480 110" />

        <path className="af-wire af-wire-2" d="M177 100 C 300 100, 380 210, 480 210" />

        <path className="af-wire af-wire-3" d="M354 444 C 420 444, 420 310, 480 310" />

        <circle className="af-dot af-dot-1" cx="190" cy="84" r="2.5" />

        <circle className="af-dot af-dot-2" cx="177" cy="100" r="2.5" />

        <circle className="af-dot af-dot-3" cx="354" cy="444" r="2.5" />

        <circle className="af-dot af-dot-1" cx="480" cy="110" r="2.5" />

        <circle className="af-dot af-dot-2" cx="480" cy="210" r="2.5" />

        <circle className="af-dot af-dot-3" cx="480" cy="310" r="2.5" />
      </svg>
    </div>
  </div>

  <p className="af-lede">A workflow is a small graph of nodes. <a href="/guides/nodes/parse">Parse</a> reads the document. <a href="/guides/nodes/extract">Extract</a> pulls out the fields you defined. Add <a href="/guides/nodes/classify">Classify</a>, <a href="/guides/nodes/split">Split</a>, <a href="/guides/nodes/validate">Validate</a> or an <a href="/guides/nodes/slack-alert">alert</a> when the documents ask for it. Build the workflow once, in the app or in code, and run it on every document that follows.</p>

  <div className="af-links">
    <a href="/guides/nodes/overview">Nodes</a>
    <a href="/guides/quickstart">Quickstart</a>
  </div>
</div>
