{
  "data": {
    "a": {
      "slug": "nemotron-3-5-parse",
      "name": "Nemotron 3.5 Parse",
      "vendor": "NVIDIA",
      "vendorUrl": "https://developer.nvidia.com/nemotron",
      "kind": "weights",
      "category": "document-extraction",
      "summary": "Nemotron 3.5 Parse is NVIDIA's open-weight document parser, 0.63B parameters, that turns a page image into text with layout classes, bounding boxes and reading order, and renders Markdown, HTML tables and JSON, under OpenMDW-1.1.",
      "url": "https://www.anchorterminal.com/tools/nemotron-3-5-parse",
      "markdownUrl": "https://www.anchorterminal.com/tools/nemotron-3-5-parse.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nemotron-3-5-parse.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nemotron-3-5-parse.json",
      "dns": "nemotron-3-5-parse.grade.anchorterminal.com",
      "repo": "https://huggingface.co/nvidia/Nemotron-3.5-Parse",
      "license": "OpenMDW-1.1",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "nvidia/Nemotron-3.5-Parse"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository isn't gated (checked 2026-10-22). The card's line about running hf auth login 'if repository access requires authentication' doesn't apply today.",
      "pricing": "free",
      "pricingNotes": "Free to download and use, commercial use included, under OpenMDW-1.1 (the Linux Foundation's permissive model licence), with the tokenizer under MIT. NVIDIA sells no per-call access to these weights in this listing. Running them costs the hardware, a 2.52 GB F32 safetensors file loaded in BF16 on one NVIDIA GPU; NVIDIA's reference hardware is one H100. No inference provider serves it on Hugging Face (checked 2026-10-22).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-10-22).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-01"
      },
      "docsUrl": "https://huggingface.co/nvidia/Nemotron-3.5-Parse/blob/main/docs/serving.md",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.tables",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "document-parsing",
        "ocr",
        "layout",
        "tables",
        "charts",
        "bounding-boxes",
        "multilingual",
        "vision",
        "safetensors",
        "self-hosted",
        "new"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69,
        "grade": "B",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1518,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "capability": 83,
          "interface": 70,
          "reach": 60,
          "risk": 60,
          "upkeep": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-01"
        },
        "negative": 0,
        "verdict": "A small document-parsing cousin that turns page images into Markdown, HTML tables and JSON with layout classes and boxes, under a permissive licence. It needs a GPU with a few GB, runs in vLLM 0.33, and NVIDIA's API serves it. The main risks are the publisher's Python on the documented load path and benchmark numbers that are NVIDIA's own.",
        "bestFor": "Agents and pipelines with an NVIDIA GPU that need fast local page parsing into Markdown, tables and boxed blocks for retrieval or extraction",
        "strengths": [
          "Tiny, 0.63B parameters in one 2.52 GB safetensors file, about 3 GB in memory",
          "Layout classes, bounding boxes and reading order on every block, with helpers for Markdown, HTML tables, JSON and CSV",
          "OpenMDW-1.1 with nothing added, ungated, files hashed in NVIDIA's own organisation",
          "An OpenAI-compatible server through vLLM, a Dockerfile, a CLI with single, double and triple pass, and a runnable ParseBench reproduction bundle",
          "Earlier Parse releases kept in their own repositories, with a dated pointer to this one",
          "NVIDIA's API catalogue serves it as a free endpoint, and vLLM v0.33.0 registers its architecture natively"
        ],
        "weaknesses": [
          "Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin",
          "Only vLLM, from v0.33.0, runs it from its own code, the card still pins an earlier vLLM, and NVIDIA publishes no quantised build",
          "One page per request with a 16,384-token context, so documents are parsed page by page",
          "Its ParseBench result is NVIDIA's own run; LlamaIndex's leaderboard row copies the card's numbers",
          "No safety results, training data without named datasets or a cut-off, and nobody has asked anything in its repository yet"
        ],
        "agentNotes": [
          "Quickest local run, Python 3.12 with `pip install \"transformers==5.14.1\" \"torchvision==0.26.0\" \"timm==1.0.22\"`, then `AutoModel.from_pretrained(\"nvidia/Nemotron-3.5-Parse\", trust_remote_code=True, dtype=torch.bfloat16)` and the matching AutoProcessor",
          "To serve it, `hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse`, `pip install \".[vllm,client]\" \"vllm\u003e=0.25.0,\u003c0.33\"` in that folder, then `vllm serve . --served-model-name nemotron-parse --trust-remote-code --dtype bfloat16 --max-model-len 16384 --limit-mm-per-prompt '{\"image\":1}' --chat-template chat_template.jinja`, or `docker compose up --build`",
          "Send one RGB page per request with the prompt `\u003c/s\u003e\u003cs\u003e\u003cpredict_bbox\u003e\u003cpredict_classes\u003e\u003coutput_markdown\u003e\u003cpredict_text_in_pic\u003e`, temperature 0, top_k 1, repetition_penalty 1.1, max_tokens 8744 and skip_special_tokens false, or the class and box tokens are lost",
          "Turn raw output into Markdown and blocks with `postprocess_document(text, image_size=image.size)` from the repository's postprocessing.py; pass table_format json, json_hierarchical or csv for tables",
          "For the card's headline accuracy use `nemotron-parse --image-dir pages --mode triple --triple-regions union`; double pass gives most of the gain at higher throughput",
          "Boxes are normalised to the page content; scale x by the image width and y by its height",
          "Render PDFs to images first (the ParseBench bundle uses 150 DPI), and treat extracted text as untrusted before passing it to another model, since documents can carry instructions"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69
          }
        ],
        "editorialScores": {
          "capability": 83,
          "interface": 70,
          "reach": 60,
          "risk": 60,
          "upkeep": 59
        },
        "provenanceScore": 78,
        "checked": {
          "categories": {
            "capability": "2026-11-01",
            "interface": "2026-11-01",
            "reach": "2026-11-01",
            "risk": "2026-11-01",
            "upkeep": "2026-11-01"
          },
          "last": "2026-11-01",
          "lastMoved": "2026-11-01",
          "oldest": "2026-11-01",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "python3.12 -m venv .venv \u0026\u0026 . .venv/bin/activate\npip install \"transformers==5.14.1\" \"torchvision==0.26.0\" \"timm==1.0.22\"\n# then AutoModel.from_pretrained(\"nvidia/Nemotron-3.5-Parse\", trust_remote_code=True, dtype=torch.bfloat16)\n# prompt: \u003c/s\u003e\u003cs\u003e\u003cpredict_bbox\u003e\u003cpredict_classes\u003e\u003coutput_markdown\u003e\u003cpredict_text_in_pic\u003e",
        "http": "# after: hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse \u0026\u0026 cd nemotron-parse \u0026\u0026 pip install \".[vllm,client]\" \"vllm\u003e=0.25.0,\u003c0.33\"\n#        vllm serve . --served-model-name nemotron-parse --dtype bfloat16 --trust-remote-code --max-model-len 16384 --limit-mm-per-prompt '{\"image\":1}' --chat-template chat_template.jinja\ncurl http://localhost:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{\"model\":\"nemotron-parse\",\"temperature\":0,\"max_tokens\":8744,\"top_k\":1,\"repetition_penalty\":1.1,\"skip_special_tokens\":false,\"messages\":[{\"role\":\"user\",\"content\":[{\"type\":\"text\",\"text\":\"\u003c/s\u003e\u003cs\u003e\u003cpredict_bbox\u003e\u003cpredict_classes\u003e\u003coutput_markdown\u003e\u003cpredict_text_in_pic\u003e\"},{\"type\":\"image_url\",\"image_url\":{\"url\":\"data:image/png;base64,...\"}}]}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/nemotron-3-5-parse"
      },
      "sameCompany": [
        "nemotron-3-5-super-vl",
        "nvidia-nemo-retriever",
        "nemo-guardrails",
        "nemotron-3-5-asr-streaming-0-6b",
        "nemotron-3-5-transcribe-30b-a4b",
        "parakeet-tdt-0-6b-v3",
        "parakeet-unified-en-0-6b",
        "cosmos-reason2-2b",
        "nemotron-3-5-bolt-e4b-4gb",
        "nemotron-3-nano-30b-a3b",
        "nemotron-3-nano-4b",
        "nemotron-3-nano-omni-30b-a3b-reasoning",
        "nemotron-3-super-120b-a12b",
        "nemotron-3-ultra-550b-a55b",
        "nemotron-3-5-lightning-30b-a3b"
      ],
      "weights": {
        "trainedBy": "NVIDIA",
        "builtOn": "nvidia/C-RADIOv4-SO400M (the vision encoder the card names; NVIDIA's own, under the NVIDIA Open Model License)",
        "params": "0.63B",
        "context": 16384,
        "goodFor": "Turning scanned or rendered document pages into Markdown, HTML tables and JSON blocks with layout classes, boxes and reading order, fast on one GPU, for retrieval, extraction and data-curation pipelines.",
        "runtimes": [
          "vLLM"
        ],
        "builds": [
          {
            "name": "Nemotron-3.5-Parse (safetensors)",
            "url": "https://huggingface.co/nvidia/Nemotron-3.5-Parse/blob/main/model.safetensors",
            "who": "publisher",
            "precision": "fp32",
            "sizeGB": 2.52,
            "memoryGB": 8,
            "format": "safetensors",
            "runsOn": [
              "Transformers (remote code)",
              "vLLM (NVIDIA's plugin)"
            ],
            "note": "Stored in F32 and loaded in BF16 per the card. The only build from NVIDIA; 2,523,266,640 bytes, SHA-256 81dd7609c589f369..."
          }
        ],
        "run": "hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse \u0026\u0026 cd nemotron-parse \u0026\u0026 pip install \".[vllm,client]\" \"vllm\u003e=0.25.0,\u003c0.33\" \u0026\u0026 vllm serve . --served-model-name nemotron-parse --dtype bfloat16 --trust-remote-code --max-model-len 16384 --no-enable-prefix-caching --limit-mm-per-prompt '{\"image\":1}' --chat-template chat_template.jinja",
        "runBuild": "Nemotron-3.5-Parse (safetensors)",
        "checked": "2026-11-01",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "NVIDIA (Nemotron)",
        "family": "Nemotron 3",
        "url": "https://www.anchorterminal.com/open-weights/#nvidia",
        "others": [
          {
            "name": "Nemotron 3 Nano 30B-A3B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16",
            "params": "30B total, 3B active (31.6B per the safetensors index)",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-nano-30b-a3b"
          },
          {
            "name": "Nemotron 3 Nano 30B-A3B Base",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-Base-BF16",
            "params": "30B total, 3B active"
          },
          {
            "name": "Nemotron 3 Super 120B-A12B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16",
            "params": "120B total, 12B active",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-super-120b-a12b"
          },
          {
            "name": "Nemotron 3 Super 120B-A12B Base",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-Base-BF16",
            "params": "120B total, 12B active"
          },
          {
            "name": "Nemotron 3 Nano 4B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16",
            "params": "4B",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-nano-4b"
          },
          {
            "name": "Nemotron 3 Nano Omni 30B-A3B Reasoning",
            "url": "https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16",
            "params": "30B total, 3B active",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-nano-omni-30b-a3b-reasoning"
          },
          {
            "name": "Nemotron 3 Ultra 550B-A55B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-BF16",
            "params": "550B total, 55B active",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-ultra-550b-a55b"
          },
          {
            "name": "Nemotron 3 Ultra 550B-A55B Base",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-Base-BF16",
            "params": "550B total, 55B active"
          },
          {
            "name": "Nemotron 3 Ultra 550B-A55B GenRM",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-GenRM",
            "params": "550B total, 55B active"
          },
          {
            "name": "Nemotron 3.5 Lightning 30B-A3B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16",
            "params": "30B total, 3B active",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-5-lightning-30b-a3b"
          },
          {
            "name": "Nemotron 3.5 Lightning 30B-A3B Base",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-Base-BF16",
            "params": "30B total, 3B active"
          },
          {
            "name": "Nemotron 3.5 Super VL 120B-A12B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-BF16",
            "params": "120B total, 12B active",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-5-super-vl"
          },
          {
            "name": "Nemotron 3.5 Super VL 120B-A12B Base",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Super-VL-120B-A12B-Base-BF16",
            "params": "120B total, 12B active"
          },
          {
            "name": "Nemotron 3.5 Bolt 74B-A9B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Bolt-74B-A9B-BF16",
            "params": "74B total, 9B active"
          },
          {
            "name": "Nemotron 3.5 Bolt E4B 4GB",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-4GB",
            "params": "8B total, 4B effective",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-5-bolt-e4b-4gb"
          },
          {
            "name": "Nemotron Labs 3 Elastic 30B-A3B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-Labs-3-Elastic-30B-A3B-BF16",
            "params": "30B total, 3B active"
          },
          {
            "name": "Nemotron Labs 3 Puzzle 75B-A9B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-Labs-3-Puzzle-75B-A9B-BF16",
            "params": "75B total, 9B active"
          },
          {
            "name": "Nemotron 3 Labs Ultra Math SFT",
            "url": "https://huggingface.co/nvidia/Nemotron-3-Labs-Ultra-Math-SFT",
            "params": "550B total, 55B active"
          },
          {
            "name": "Nemotron 3 Labs Ultra Math RL",
            "url": "https://huggingface.co/nvidia/Nemotron-3-Labs-Ultra-Math-RL",
            "params": "550B total, 55B active"
          },
          {
            "name": "Nemotron Labs 3 Competitive Coding 550B-A55B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-Labs-3-Competitive-Coding-550B-A55B-NVFP4",
            "params": "550B total, 55B active"
          },
          {
            "name": "nemotron-3.5-asr-streaming-0.6b",
            "url": "https://huggingface.co/nvidia/nemotron-3.5-asr-streaming-0.6b",
            "params": "0.6B (638M per the safetensors count)",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-5-asr-streaming-0-6b"
          },
          {
            "name": "Nemotron 3.5 Transcribe 30B-A4B",
            "url": "https://huggingface.co/nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B",
            "params": "30B total, about 4.3B active (33,697,781,029 by the Hub's safetensors count)",
            "listing": "https://www.anchorterminal.com/tools/nemotron-3-5-transcribe-30b-a4b"
          }
        ],
        "olderCount": 47
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "NVIDIA Corporation",
        "domain": "nvidia.com",
        "domainRegistered": "1993-04-20",
        "endpointOnVendorDomain": null,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/nvidia/Nemotron-3.5-Parse/commits/main",
        "securityTxt": "unknown",
        "checked": "2026-10-22",
        "notes": [
          "The card says the model was developed by NVIDIA as part of Nemotron, and the files sit in NVIDIA's verified nvidia organisation on Hugging Face, which developer.nvidia.com links to. The domain registration date is carried from the RDAP check made for nemotron-3-super-120b-a12b on 21 October 2026.",
          "Nothing is hosted in this listing, so the OpenMDW-1.1 licence stands in for terms of service and no privacy policy is scored. The privacy subcard links NVIDIA's privacy policy.",
          "The changelog is the repository's commit history, four commits from 18 to 21 October 2026 (the release, refreshed regression references, a fix to malformed block parsing in the reference pipelines, and a merged pull request widening the vLLM range), all by NVIDIA organisation members. The repository was created on 3 September 2026 and its earlier history isn't public.",
          "www.nvidia.com/.well-known/security.txt was not requested; earlier NVIDIA listings record a 403. The card links NVIDIA's vulnerability submission page."
        ],
        "score": 78
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nemotron-3-5-parse.json",
      "live": {
        "slug": "nemotron-3-5-parse",
        "securityTxt": {
          "url": "https://nvidia.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-10T16:08:00.271598775Z"
        },
        "domain": {
          "domain": "nvidia.com",
          "registered": "1993-04-20",
          "source": "https://rdap.verisign.com/com/v1/domain/nvidia.com",
          "checkedAt": "2026-11-08T15:03:11.895084282Z"
        },
        "pages": [
          {
            "url": "https://huggingface.co/nvidia/Nemotron-3.5-Parse/commits/main",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-10T16:23:30.724078931Z",
            "changedAt": "2026-11-10T16:23:30.724078931Z",
            "fingerprint": "655ab448397f"
          }
        ],
        "updatedAt": "2026-11-10T16:23:30.724078931Z"
      }
    },
    "answer": "Nemotron 3.5 Parse scores 69 (B) on agent readiness against Surya OCR 2.5's 61 (C), and leads in 2 of 4 scored categories. Surya OCR 2.5 leads on reach.",
    "b": {
      "slug": "surya-ocr-2-5",
      "name": "Surya OCR 2.5",
      "vendor": "Endless Labs, Inc. (Datalab)",
      "vendorUrl": "https://www.datalab.to",
      "kind": "weights",
      "category": "document-extraction",
      "summary": "Surya OCR 2.5 is Datalab's open-weight OCR model of 689M parameters, one vision-language model for layout, reading order, text and tables as HTML across 91 languages, served by vLLM or llama.cpp, under a modified OpenRAIL-M licence.",
      "url": "https://www.anchorterminal.com/tools/surya-ocr-2-5",
      "markdownUrl": "https://www.anchorterminal.com/tools/surya-ocr-2-5.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/surya-ocr-2-5.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/surya-ocr-2-5.json",
      "dns": "surya-ocr-2-5.grade.anchorterminal.com",
      "repo": "https://huggingface.co/datalab-to/surya-ocr-2.5",
      "license": "Modified OpenRAIL-M (free for research, personal use and companies under $5M in revenue and funding)",
      "transports": [],
      "packages": [
        {
          "registry": "huggingface",
          "name": "datalab-to/surya-ocr-2.5"
        },
        {
          "registry": "huggingface",
          "name": "datalab-to/surya-ocr-2.5-gguf"
        },
        {
          "registry": "pypi",
          "name": "surya-ocr"
        }
      ],
      "auth": "none",
      "authNotes": "The weights download from Hugging Face with no account, token or terms to accept. The repository and Datalab's GGUF repository are not gated (checked 2026-11-10).",
      "pricing": "free",
      "pricingNotes": "Free to download. The weights are under a modified OpenRAIL-M licence: free for research and personal use, and for commercial use only by organisations with $5M or less in prior-year revenue and in total funding that don't compete with Datalab. Others need a commercial licence from Datalab. Running it yourself costs little hardware, 0.84 GB for Datalab's Q8_0 GGUF with its projector and 1.38 GB in BF16 (checked 2026-11-10).",
      "priceSummary": "Free",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "Weights you download and run yourself, so there is nothing to pay per call and no payment protocol (checked 2026-11-10).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-10"
      },
      "docsUrl": "https://huggingface.co/datalab-to/surya-ocr-2.5",
      "capabilities": [
        "docs.ocr",
        "docs.parse",
        "docs.tables",
        "model.open-weights"
      ],
      "tags": [
        "open-weights",
        "model",
        "ocr",
        "document-parsing",
        "layout",
        "reading-order",
        "tables",
        "multilingual",
        "vision",
        "openrail",
        "safetensors",
        "gguf",
        "self-hosted",
        "new"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61,
        "grade": "C",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "An open-weight model, graded by the open-weight checklist and ranked among open-weight models, not against tools",
        "rankOf": 1518,
        "categoryRank": 15,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "interface": 70,
          "reach": 90,
          "risk": 45,
          "upkeep": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-10"
        },
        "negative": 0,
        "verdict": "A small, fast document OCR model that runs from Datalab's own GGUF on almost anything, with typed output for layout, text and tables and a package that starts the server for you. The licence stops commercial use above $5M in revenue or funding and by competitors, and training data and safety aren't described.",
        "bestFor": "Small companies and researchers who need quick OCR with layout on a laptop or a small GPU and fit the licence",
        "strengths": [
          "Under 1 GB at Q8_0, from Datalab's own GGUF, and runs in every runtime we count",
          "Layout, reading order, OCR and tables from one model, with typed output",
          "91 languages on Datalab's benchmark",
          "Datalab's own platform hosts it",
          "Two weeks old and updated since"
        ],
        "weaknesses": [
          "Commercial use is barred above $5M in revenue or funding, and for anyone who competes with Datalab",
          "Training data is one sentence",
          "No safety results, agent guidance or security contact",
          "No reply yet to the three questions on the repository",
          "No row and column geometry for tables",
          "Serving it yourself means running Datalab's parsers on the output"
        ],
        "agentNotes": [
          "Check the licence first: free for research and personal use, and for companies at or under $5M in revenue and in funding that don't compete with Datalab",
          "`pip install surya-ocr`, then `surya_ocr page.png`. It starts vLLM in Docker on an NVIDIA GPU and llama-server elsewhere",
          "To use your own server set `SURYA_INFERENCE_URL`, and start llama-server with `--special` or the block labels and coordinates are lost",
          "Raw output is compact HTML. Run it through `surya.inference.parsers.parse_full_page_html` if you don't use the package",
          "Allow about 24,576 tokens of context for a full page",
          "Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page"
        ],
        "metrics": {
          "kind": "local",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61
          }
        ],
        "editorialScores": {
          "interface": 70,
          "reach": 90,
          "risk": 45,
          "upkeep": 57
        },
        "provenanceScore": 54,
        "checked": {
          "categories": {
            "interface": "2026-11-10",
            "reach": "2026-11-10",
            "risk": "2026-11-10",
            "upkeep": "2026-11-10"
          },
          "last": "2026-11-10",
          "oldest": "2026-11-10",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install surya-ocr\n# starts vLLM in Docker on an NVIDIA GPU, or llama-server on CPU and Apple Silicon, on first use:\nsurya_ocr page.png\nsurya_layout page.png\nsurya_table page.png",
        "http": "# to use a server you already run, point the package at it:\nexport SURYA_INFERENCE_URL=http://localhost:8000/v1\n# llama-server needs --special so block labels and coordinates come back in the text"
      },
      "letme": {
        "capability": "https://letme.dev/docs.ocr",
        "tool": "https://letme.dev/surya-ocr-2-5"
      },
      "sameCompany": [
        "chandra-ocr-2",
        "datalab"
      ],
      "weights": {
        "trainedBy": "Datalab",
        "builtOn": "A Qwen 3.5-style vision-language model (per the card's training note; the metadata names no base model)",
        "params": "689M",
        "goodFor": "Fast document OCR on small hardware: layout, reading order, text and tables as HTML in 91 languages from a model under 1 GB, where the licence's $5M limits allow it.",
        "runtimes": [
          "llama.cpp",
          "Ollama",
          "vLLM",
          "SGLang",
          "Transformers"
        ],
        "builds": [
          {
            "name": "surya-ocr-2.5 (BF16 safetensors)",
            "url": "https://huggingface.co/datalab-to/surya-ocr-2.5/blob/main/model.safetensors",
            "who": "publisher",
            "precision": "bf16",
            "sizeGB": 1.38,
            "memoryGB": 8,
            "format": "safetensors",
            "runsOn": [
              "vLLM",
              "SGLang",
              "Transformers"
            ]
          },
          {
            "name": "surya-ocr-2.5-gguf Q8_0",
            "url": "https://huggingface.co/datalab-to/surya-ocr-2.5-gguf",
            "who": "publisher",
            "precision": "q8_0",
            "sizeGB": 0.84,
            "memoryGB": 8,
            "format": "gguf",
            "runsOn": [
              "llama.cpp"
            ],
            "note": "surya-2.5-Q8_0.gguf (0.63 GB) plus surya-2.5-mmproj.gguf (0.21 GB), from the Hub's file list. The repository also holds an unquantised surya-2.5.gguf (1.18 GB). Start llama-server with --special"
          }
        ],
        "run": "pip install surya-ocr \u0026\u0026 surya_ocr page.png",
        "runBuild": "surya-ocr-2.5-gguf Q8_0",
        "checked": "2026-11-10",
        "minMemoryGB": 8
      },
      "family": {
        "lab": "Datalab (Endless Labs, Inc.)",
        "family": "Surya OCR",
        "url": "https://www.anchorterminal.com/open-weights/#datalab",
        "others": [
          {
            "name": "surya-ocr-2",
            "url": "https://huggingface.co/datalab-to/surya-ocr-2",
            "params": "686M (686,154,304 by the Hub's safetensors count)"
          }
        ]
      },
      "area": "web-data",
      "provenance": {
        "legalEntity": "Endless Labs, Inc. (doing business as Datalab, per its terms of use)",
        "domain": "datalab.to",
        "domainRegistered": "",
        "endpointOnVendorDomain": null,
        "terms": "https://huggingface.co/datalab-to/surya-ocr-2.5/raw/main/LICENSE",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://huggingface.co/datalab-to/surya-ocr-2.5/commits/main",
        "securityTxt": "unknown",
        "checked": "2026-11-10",
        "notes": [
          "Company facts are carried from our Datalab listing of 6 November 2026, which read the terms of use naming Endless Labs, Inc. dba Datalab.",
          "The model licence stands in for terms of service under this listing. The hosted platform is listed separately as Datalab.",
          "The changelog is the commit history, 6 commits from 25 to 29 October 2026.",
          "The Datalab listing found no vulnerability disclosure policy or security.txt."
        ],
        "score": 54
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/surya-ocr-2-5.json"
    },
    "edges": [
      {
        "by": 30,
        "category": "reach",
        "leads": "surya-ocr-2-5",
        "name": "Reach",
        "reasons": {
          "a": "Memory earns the full 30, since the only build is a 2.52 GB F32 file that needs about 3 GB with the fifth added. Runtimes score 5. vLLM v0.33.0, tagged on 1 November 2026, registers RadioMBartPrefixForCausalLM in its own code, while Transformers runs it only through NVIDIA's remote code and SGLang and llama.cpp have nothing for it; Ollama and LM Studio couldn't be checked. Builds score 0, as NVIDIA publishes no quantised build. Terms get 10 because OpenMDW-1.1 is permissive with nothing added but isn't OSI-approved. Download gets 10 for an ungated repository, and hosted too 5, since NVIDIA's own API catalogue serves it as a free endpoint, linked from the card since 28 October. build.nvidia.com's robots.txt carries Content-Signal ai-input=no, recorded as a fact about the site. 30+5+0+10+10+5 = 60.",
          "b": "Memory 30, Datalab's own Q8_0 GGUF is 0.63 GB with a 0.21 GB projector, and 0.84 GB × 1.2 = 1.0 GB, within 16 GB. The BF16 safetensors file is 1.38 GB. Runtimes 25, Released versions run the architecture from Datalab's own builds: vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 from the safetensors file, llama.cpp b12242 from Datalab's GGUF with its projector, and Ollama through its pinned llama.cpp (b12177 at v0.40.16). Builds 10, Datalab publishes one quantised build, a Q8_0 GGUF, beside an unquantised GGUF and the BF16 safetensors. Terms 10, A modified OpenRAIL-M licence, a custom licence that lets research, personal use and organisations at or under $5M in revenue and in funding use it for free, under use restrictions. Download 10, the Hub API reports gated false for the model and the GGUF repository on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, the card says Datalab's managed platform runs Surya, so the publisher hosts it. 30 + 25 + 10 + 10 + 10 + 5 = 90."
        },
        "scores": {
          "a": 60,
          "b": 90
        }
      },
      {
        "by": 15,
        "category": "risk",
        "leads": "nemotron-3-5-parse",
        "name": "Risk",
        "reasons": {
          "a": "File safety gets 15, safetensors only but loaded with trust_remote_code in both documented runtimes. Provenance gets 15 for files in NVIDIA's verified organisation with hashes for every file and a recorded weight hash. Licence risk keeps 15, since OpenMDW-1.1 has none of the deductions. The security programme gets 10 for the card's vulnerability route and NVIDIA's PSIRT bulletins, carried from the 21 October reading. Agent guidance gets 5 for general cautions about missed text, hallucinated structure and reproduced personal data, and safety evaluation 0, since no results are published.",
          "b": "File safety 25, safetensors and GGUF only, no .bin, .pt or .pth files and no Python in the model repository. Provenance 15, the files sit in the datalab-to organisation, which the card, Datalab's site and its GitHub repository link to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, or on safeguards to add. Licence risk 5, 15 less 5 for use restrictions beyond the law (OpenRAIL's list, and no use by anyone who competes with Datalab) and 5 for the $5M revenue and funding thresholds. Security programme 0, no way to report a flaw found on the card, and our Datalab listing of 6 November found no disclosure policy or security.txt. 25 + 15 + 0 + 0 + 5 + 0 = 45."
        },
        "scores": {
          "a": 60,
          "b": 45
        }
      }
    ],
    "facts": [
      {
        "a": "Open-weight model",
        "b": "Open-weight model",
        "name": "Kind"
      },
      {
        "a": "NVIDIA",
        "b": "Endless Labs, Inc. (Datalab)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "None",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "OpenMDW-1.1",
        "b": "Modified OpenRAIL-M (free for research, personal use and companies under $5M in revenue and funding)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-28",
        "b": "2026-10-29",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "not read yet",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "3.5/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Nemotron 3.5 Parse scores 69 (B) on agent readiness against Surya OCR 2.5's 61 (C), and leads in 2 of 4 scored categories. Surya OCR 2.5 leads on reach.",
        "question": "Which is better for AI agents, Nemotron 3.5 Parse or Surya OCR 2.5?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Risk, 60 against 45"
        ],
        "also": null,
        "goodFor": "Agents and pipelines with an NVIDIA GPU that need fast local page parsing into Markdown, tables and boxed blocks for retrieval or extraction",
        "slug": "nemotron-3-5-parse",
        "watchFor": "Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin"
      },
      {
        "aheadOn": [
          "Reach, 90 against 60"
        ],
        "also": null,
        "goodFor": "Small companies and researchers who need quick OCR with layout on a laptop or a small GPU and fit the licence",
        "slug": "surya-ocr-2-5",
        "watchFor": "Commercial use is barred above $5M in revenue or funding, and for anyone who competes with Datalab"
      }
    ],
    "history": {
      "nemotron-3-5-parse": [
        {
          "causes": [
            "product"
          ],
          "date": "2026-11-01",
          "delta": 2.5,
          "from": 66.5,
          "fromGrade": "B",
          "to": 69,
          "toGrade": "B"
        }
      ],
      "surya-ocr-2-5": null
    },
    "job": {
      "capability": "docs.parse",
      "name": "Document parsing"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-xiaomi-ocr-0.json",
        "title": "Nemotron 3.5 Parse vs Xiaomi-OCR-0",
        "url": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-xiaomi-ocr-0"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse.json",
        "title": "Chandra OCR 2 vs Nemotron 3.5 Parse",
        "url": "https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chandra-ocr-2-vs-surya-ocr-2-5.json",
        "title": "Chandra OCR 2 vs Surya OCR 2.5",
        "url": "https://www.anchorterminal.com/compare/chandra-ocr-2-vs-surya-ocr-2-5"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nemotron-3-5-parse.json",
        "title": "DeepSeek-OCR 2 vs Nemotron 3.5 Parse",
        "url": "https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nemotron-3-5-parse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-surya-ocr-2-5.json",
        "title": "DeepSeek-OCR 2 vs Surya OCR 2.5",
        "url": "https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-surya-ocr-2-5"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hunyuanocr-vs-nemotron-3-5-parse.json",
        "title": "HunyuanOCR 1.5 vs Nemotron 3.5 Parse",
        "url": "https://www.anchorterminal.com/compare/hunyuanocr-vs-nemotron-3-5-parse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hunyuanocr-vs-surya-ocr-2-5.json",
        "title": "HunyuanOCR 1.5 vs Surya OCR 2.5",
        "url": "https://www.anchorterminal.com/compare/hunyuanocr-vs-surya-ocr-2-5"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-nemotron-3-5-parse.json",
        "title": "LightOnOCR-3-4B vs Nemotron 3.5 Parse",
        "url": "https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-nemotron-3-5-parse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-surya-ocr-2-5.json",
        "title": "LightOnOCR-3-4B vs Surya OCR 2.5",
        "url": "https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-surya-ocr-2-5"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-nemotron-3-5-parse.json",
        "title": "Nanonets-OCR2-3B vs Nemotron 3.5 Parse",
        "url": "https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-nemotron-3-5-parse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-surya-ocr-2-5.json",
        "title": "Nanonets-OCR2-3B vs Surya OCR 2.5",
        "url": "https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-surya-ocr-2-5"
      },
      {
        "json": "https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-unlimited-ocr-2.json",
        "title": "Surya OCR 2.5 vs Baidu Unlimited-OCR-2",
        "url": "https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-unlimited-ocr-2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-xiaomi-ocr-0.json",
        "title": "Surya OCR 2.5 vs Xiaomi-OCR-0",
        "url": "https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-xiaomi-ocr-0"
      }
    ],
    "panel": null,
    "scores": [
      {
        "key": "capability",
        "name": "Capability",
        "pending": true,
        "weight": 35
      },
      {
        "by": 30,
        "edge": "surya-ocr-2-5",
        "key": "reach",
        "name": "Reach",
        "nemotron-3-5-parse": 60,
        "surya-ocr-2-5": 90,
        "weight": 25
      },
      {
        "by": 15,
        "edge": "nemotron-3-5-parse",
        "key": "risk",
        "name": "Risk",
        "nemotron-3-5-parse": 60,
        "surya-ocr-2-5": 45,
        "weight": 20
      },
      {
        "by": 0,
        "edge": "",
        "key": "interface",
        "name": "Agent interface",
        "nemotron-3-5-parse": 70,
        "surya-ocr-2-5": 70,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "nemotron-3-5-parse",
        "key": "upkeep",
        "name": "Documentation and upkeep",
        "nemotron-3-5-parse": 59,
        "surya-ocr-2-5": 57,
        "weight": 10
      }
    ],
    "summary": "Nemotron 3.5 Parse scores 69 (B) on agent readiness against Surya OCR 2.5's 61 (C), and leads in 2 of 4 scored categories. Surya OCR 2.5 leads on reach. Both do document parsing.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "nemotron-3-5-parse": "A small document-parsing cousin that turns page images into Markdown, HTML tables and JSON with layout classes and boxes, under a permissive licence. It needs a GPU with a few GB, runs in vLLM 0.33, and NVIDIA's API serves it. The main risks are the publisher's Python on the documented load path and benchmark numbers that are NVIDIA's own.",
      "surya-ocr-2-5": "A small, fast document OCR model that runs from Datalab's own GGUF on almost anything, with typed output for layout, text and tables and a package that starts the server for you. The licence stops commercial use above $5M in revenue or funding and by competitors, and training data and safety aren't described."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5",
    "json": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.min.md"
  },
  "markdown": "Nemotron 3.5 Parse scores 69 (B) on agent readiness against Surya OCR 2.5's 61 (C), and leads in 2 of 4 scored categories. Surya OCR 2.5 leads on reach. Both do document parsing.\n\n- Nemotron 3.5 Parse: grade B, 69/100, rank #10 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/nemotron-3-5-parse.md · JSON https://www.anchorterminal.com/api/v1/tools/nemotron-3-5-parse.json\n- Surya OCR 2.5: grade C, 61/100, rank #82 of 160 open-weight models. Markdown https://www.anchorterminal.com/tools/surya-ocr-2-5.md · JSON https://www.anchorterminal.com/api/v1/tools/surya-ocr-2-5.json\n- Best document parsing, OCR and extraction APIs for AI agents: https://www.anchorterminal.com/best/document-extraction/index.md\n- All 215 documents comparisons: https://www.anchorterminal.com/compare/document-extraction/index.md\n\n## Which one, for what\n\n### Nemotron 3.5 Parse (B)\n\nGood for: Agents and pipelines with an NVIDIA GPU that need fast local page parsing into Markdown, tables and boxed blocks for retrieval or extraction\n\nAhead on:\n- Risk, 60 against 45\n\nWatch for: Loading runs the publisher's Python with trust_remote_code, in Transformers and in vLLM through NVIDIA's plugin\n\n### Surya OCR 2.5 (C)\n\nGood for: Small companies and researchers who need quick OCR with layout on a laptop or a small GPU and fit the licence\n\nAhead on:\n- Reach, 90 against 60\n\nWatch for: Commercial use is barred above $5M in revenue or funding, and for anyone who competes with Datalab\n\n\n## Why the edge\n\n### Reach: Surya OCR 2.5 +30\n\n- Nemotron 3.5 Parse (60): Memory earns the full 30, since the only build is a 2.52 GB F32 file that needs about 3 GB with the fifth added. Runtimes score 5. vLLM v0.33.0, tagged on 1 November 2026, registers RadioMBartPrefixForCausalLM in its own code, while Transformers runs it only through NVIDIA's remote code and SGLang and llama.cpp have nothing for it; Ollama and LM Studio couldn't be checked. Builds score 0, as NVIDIA publishes no quantised build. Terms get 10 because OpenMDW-1.1 is permissive with nothing added but isn't OSI-approved. Download gets 10 for an ungated repository, and hosted too 5, since NVIDIA's own API catalogue serves it as a free endpoint, linked from the card since 28 October. build.nvidia.com's robots.txt carries Content-Signal ai-input=no, recorded as a fact about the site. 30+5+0+10+10+5 = 60.\n- Surya OCR 2.5 (90): Memory 30, Datalab's own Q8_0 GGUF is 0.63 GB with a 0.21 GB projector, and 0.84 GB × 1.2 = 1.0 GB, within 16 GB. The BF16 safetensors file is 1.38 GB. Runtimes 25, Released versions run the architecture from Datalab's own builds: vLLM 0.33.0, SGLang 0.5.23 and Transformers 5.22.2 from the safetensors file, llama.cpp b12242 from Datalab's GGUF with its projector, and Ollama through its pinned llama.cpp (b12177 at v0.40.16). Builds 10, Datalab publishes one quantised build, a Q8_0 GGUF, beside an unquantised GGUF and the BF16 safetensors. Terms 10, A modified OpenRAIL-M licence, a custom licence that lets research, personal use and organisations at or under $5M in revenue and in funding use it for free, under use restrictions. Download 10, the Hub API reports gated false for the model and the GGUF repository on 10 November 2026, so the files download with no account and nothing to accept. Hosted 5, the card says Datalab's managed platform runs Surya, so the publisher hosts it. 30 + 25 + 10 + 10 + 10 + 5 = 90.\n\n### Risk: Nemotron 3.5 Parse +15\n\n- Nemotron 3.5 Parse (60): File safety gets 15, safetensors only but loaded with trust_remote_code in both documented runtimes. Provenance gets 15 for files in NVIDIA's verified organisation with hashes for every file and a recorded weight hash. Licence risk keeps 15, since OpenMDW-1.1 has none of the deductions. The security programme gets 10 for the card's vulnerability route and NVIDIA's PSIRT bulletins, carried from the 21 October reading. Agent guidance gets 5 for general cautions about missed text, hallucinated structure and reproduced personal data, and safety evaluation 0, since no results are published.\n- Surya OCR 2.5 (45): File safety 25, safetensors and GGUF only, no .bin, .pt or .pth files and no Python in the model repository. Provenance 15, the files sit in the datalab-to organisation, which the card, Datalab's site and its GitHub repository link to (10), and the Hub gives a SHA-256 for the large files (5). Safety evaluation 0, no safety results on the card. Agent guidance 0, Nothing on text in a document that tries to instruct the reader, or on safeguards to add. Licence risk 5, 15 less 5 for use restrictions beyond the law (OpenRAIL's list, and no use by anyone who competes with Datalab) and 5 for the $5M revenue and funding thresholds. Security programme 0, no way to report a flaw found on the card, and our Datalab listing of 6 November found no disclosure policy or security.txt. 25 + 15 + 0 + 0 + 5 + 0 = 45.\n\n## Score by category\n\n| Category | Weight | Nemotron 3.5 Parse | Surya OCR 2.5 | Edge |\n| --- | --- | --- | --- | --- |\n| Capability | 35%, pending | pending | pending | not scored in this run |\n| Reach | 25% (25 this run) | 60 | 90 | Surya OCR 2.5 +30 |\n| Risk | 20% (20 this run) | 60 | 45 | Nemotron 3.5 Parse +15 |\n| Agent interface | 10% (10 this run) | 70 | 70 | even |\n| Documentation and upkeep | 10% (10 this run) | 59 | 57 | Nemotron 3.5 Parse +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69 · B** | **61 · C** | |\n\n## Facts side by side\n\n| Fact | Nemotron 3.5 Parse | Surya OCR 2.5 |\n| --- | --- | --- |\n| Kind | Open-weight model | Open-weight model |\n| Vendor | NVIDIA | Endless Labs, Inc. (Datalab) |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  |  |\n| Auth | None | None |\n| Pricing | Free | Free |\n| x402 | no | no |\n| Licence | OpenMDW-1.1 | Modified OpenRAIL-M (free for research, personal use and companies under $5M in revenue and funding) |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-10-28 | 2026-10-29 |\n| Terms last updated | no document linked | not read yet |\n| Privacy policy last updated | no document linked | no document linked |\n| Agent reviews | 3.5/5 (4) | none |\n\n## How the scores have moved\n\n### Nemotron 3.5 Parse\n\n- +2.5 on 1 November 2026: product\n\n### Surya OCR 2.5\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Nemotron 3.5 Parse.** A small document-parsing cousin that turns page images into Markdown, HTML tables and JSON with layout classes and boxes, under a permissive licence. It needs a GPU with a few GB, runs in vLLM 0.33, and NVIDIA's API serves it. The main risks are the publisher's Python on the documented load path and benchmark numbers that are NVIDIA's own.\n\n**Surya OCR 2.5.** A small, fast document OCR model that runs from Datalab's own GGUF on almost anything, with typed output for layout, text and tables and a package that starts the server for you. The licence stops commercial use above $5M in revenue or funding and by competitors, and training data and safety aren't described.\n\n## Before you call either\n\n### Nemotron 3.5 Parse\n\n1. Quickest local run, Python 3.12 with `pip install \"transformers==5.14.1\" \"torchvision==0.26.0\" \"timm==1.0.22\"`, then `AutoModel.from_pretrained(\"nvidia/Nemotron-3.5-Parse\", trust_remote_code=True, dtype=torch.bfloat16)` and the matching AutoProcessor\n2. To serve it, `hf download nvidia/Nemotron-3.5-Parse --local-dir nemotron-parse`, `pip install \".[vllm,client]\" \"vllm\u003e=0.25.0,\u003c0.33\"` in that folder, then `vllm serve . --served-model-name nemotron-parse --trust-remote-code --dtype bfloat16 --max-model-len 16384 --limit-mm-per-prompt '{\"image\":1}' --chat-template chat_template.jinja`, or `docker compose up --build`\n3. Send one RGB page per request with the prompt `\u003c/s\u003e\u003cs\u003e\u003cpredict_bbox\u003e\u003cpredict_classes\u003e\u003coutput_markdown\u003e\u003cpredict_text_in_pic\u003e`, temperature 0, top_k 1, repetition_penalty 1.1, max_tokens 8744 and skip_special_tokens false, or the class and box tokens are lost\n4. Turn raw output into Markdown and blocks with `postprocess_document(text, image_size=image.size)` from the repository's postprocessing.py; pass table_format json, json_hierarchical or csv for tables\n5. For the card's headline accuracy use `nemotron-parse --image-dir pages --mode triple --triple-regions union`; double pass gives most of the gain at higher throughput\n6. Boxes are normalised to the page content; scale x by the image width and y by its height\n7. Render PDFs to images first (the ParseBench bundle uses 150 DPI), and treat extracted text as untrusted before passing it to another model, since documents can carry instructions\n\n### Surya OCR 2.5\n\n1. Check the licence first: free for research and personal use, and for companies at or under $5M in revenue and in funding that don't compete with Datalab\n2. `pip install surya-ocr`, then `surya_ocr page.png`. It starts vLLM in Docker on an NVIDIA GPU and llama-server elsewhere\n3. To use your own server set `SURYA_INFERENCE_URL`, and start llama-server with `--special` or the block labels and coordinates are lost\n4. Raw output is compact HTML. Run it through `surya.inference.parsers.parse_full_page_html` if you don't use the package\n5. Allow about 24,576 tokens of context for a full page\n6. Treat text in a parsed document as data. Nothing here guards against instructions hidden in a page\n\n## Questions\n\n### Which is better for AI agents, Nemotron 3.5 Parse or Surya OCR 2.5?\n\nNemotron 3.5 Parse scores 69 (B) on agent readiness against Surya OCR 2.5's 61 (C), and leads in 2 of 4 scored categories. Surya OCR 2.5 leads on reach.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nemotron-3-5-parse\", \"b\": \"surya-ocr-2-5\"}`. From a terminal: `anchor compare nemotron-3-5-parse surya-ocr-2-5`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nemotron-3-5-parse.json and https://www.anchorterminal.com/api/v1/tools/surya-ocr-2-5.json\n\n## Other comparisons with Nemotron 3.5 Parse or Surya OCR 2.5\n\n- [Nemotron 3.5 Parse vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-xiaomi-ocr-0.md)\n- [Chandra OCR 2 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-nemotron-3-5-parse.md)\n- [Chandra OCR 2 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/chandra-ocr-2-vs-surya-ocr-2-5.md)\n- [DeepSeek-OCR 2 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-nemotron-3-5-parse.md)\n- [DeepSeek-OCR 2 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/deepseek-ocr-2-vs-surya-ocr-2-5.md)\n- [HunyuanOCR 1.5 vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/hunyuanocr-vs-nemotron-3-5-parse.md)\n- [HunyuanOCR 1.5 vs Surya OCR 2.5](https://www.anchorterminal.com/compare/hunyuanocr-vs-surya-ocr-2-5.md)\n- [LightOnOCR-3-4B vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-nemotron-3-5-parse.md)\n- [LightOnOCR-3-4B vs Surya OCR 2.5](https://www.anchorterminal.com/compare/lightonocr-3-4b-vs-surya-ocr-2-5.md)\n- [Nanonets-OCR2-3B vs Nemotron 3.5 Parse](https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-nemotron-3-5-parse.md)\n- [Nanonets-OCR2-3B vs Surya OCR 2.5](https://www.anchorterminal.com/compare/nanonets-ocr2-3b-vs-surya-ocr-2-5.md)\n- [Surya OCR 2.5 vs Baidu Unlimited-OCR-2](https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-unlimited-ocr-2.md)\n- [Surya OCR 2.5 vs Xiaomi-OCR-0](https://www.anchorterminal.com/compare/surya-ocr-2-5-vs-xiaomi-ocr-0.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-11",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Nemotron 3.5 Parse vs Surya OCR 2.5",
        "url": ""
      }
    ],
    "description": "Nemotron 3.5 Parse scores 69 (B) to Surya OCR 2.5's 61 (C) for document parsing. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Nemotron 3.5 Parse B 69",
      "Surya OCR 2.5 C 61",
      "scores"
    ],
    "h1": "Nemotron 3.5 Parse vs Surya OCR 2.5",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/nemotron-3-5-parse-vs-surya-ocr-2-5",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Nemotron 3.5 Parse vs Surya OCR 2.5 for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-10",
    "url": "https://www.anchorterminal.com/compare/nemotron-3-5-parse-vs-surya-ocr-2-5"
  },
  "tokens": {
    "markdown": 3100,
    "slim": 630
  },
  "version": 1
}
