{
  "data": {
    "a": {
      "slug": "nanonets",
      "name": "Nanonets API + MCP",
      "vendor": "Nanonets",
      "vendorUrl": "https://nanonets.com",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "OCR and field extraction from PDFs, scans and images.",
      "url": "https://www.anchorterminal.com/tools/nanonets",
      "markdownUrl": "https://www.anchorterminal.com/tools/nanonets.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nanonets.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nanonets.json",
      "repo": "https://github.com/NanoNets/docstrange",
      "license": "MIT (docstrange library)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://extraction-api.nanonets.com/api/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "docstrange"
        }
      ],
      "auth": "mixed",
      "authNotes": "Extraction API takes a Bearer key. The older app API at app.nanonets.com/api/v2 takes the key as the HTTP Basic username with an empty password. The hosted MCP server at mcp.nanonets.com/mcp uses OAuth sign-in.",
      "pricing": "freemium",
      "pricingNotes": "Starter is free with $50 of credits and no card, then $100 a month for 100 credits. Billing is per block run, $0.02 for simple blocks, $0.10 for standard AI and $0.30 for complex AI such as data extraction, and extraction counts one run a page. Growth is quoted with up to 40% volume discount, Enterprise is custom (https://nanonets.com/pricing).",
      "priceSummary": "$100 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 in docs, OpenAPI document or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 1574,
        "npmWeekly": null,
        "pypiWeekly": 47,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.nanonets.com",
      "llmsTxt": "https://docs.nanonets.com/llms.txt",
      "openapi": "https://extraction-api.nanonets.com/openapi.json",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "async-jobs",
        "webhooks",
        "python"
      ],
      "lastRelease": "2025-10-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.6,
        "grade": "E",
        "agentReady": false,
        "rank": 413,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 9,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 47,
          "maintenance": 8,
          "payments": 35,
          "reliability": 45,
          "schema": 61,
          "security": 30,
          "transparency": 65
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Extraction API returns Markdown, CSV or JSON, with named fields or a JSON schema. No public changelog and no dated release in the last 90 days.",
        "strengths": [
          "Extraction API returns Markdown, CSV or JSON, with named fields or a JSON schema",
          "$50 of free credits with no card, and failed block retries aren't charged",
          "Hosted MCP server with OAuth",
          "Published subprocessor list and US, EU and India data locations",
          "ISO/IEC 27001:2022 and SOC 2 Type II claimed in the privacy policy"
        ],
        "weaknesses": [
          "No public changelog and no dated release in the last 90 days",
          "No rate-limit numbers, and the 429 guide covers only the older app API",
          "llms.txt indexes the older app API, not the extraction API or the MCP server",
          "MCP tool list not published",
          "Model-family prices come from an account manager"
        ],
        "agentNotes": [
          "Use the extraction API at `extraction-api.nanonets.com`, not `app.nanonets.com`, unless you already have a trained model",
          "Pass a JSON schema in `json_options` when downstream code needs fixed field names",
          "Use the async extract endpoints for long documents and poll `/api/v1/extract/results/{record_id}`",
          "On a 429, wait 30 seconds and double the delay each retry",
          "Budget per page, since a 10-page PDF through an extraction block is 10 runs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42.6
          }
        ],
        "editorialScores": {
          "ergonomics": 47,
          "maintenance": 8,
          "payments": 35,
          "reliability": 45,
          "schema": 61,
          "security": 30,
          "transparency": 50
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl https://extraction-api.nanonets.com/api/v1/extract/sync \\\n  -H \"Authorization: Bearer $NANONETS_API_KEY\" \\\n  -F file_url=https://example.com/invoice.pdf -F output_format=markdown",
        "claudeCode": "claude mcp add --transport http nanonets https://mcp.nanonets.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/nanonets"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Starter",
          "unit": "month",
          "usd": 100,
          "note": "100 credits after the free $50"
        },
        {
          "item": "Data extraction (complex AI block)",
          "unit": "1k-pages",
          "usd": 300,
          "note": "$0.30 a run at list price, one run a page"
        },
        {
          "item": "Standard AI block",
          "unit": "call",
          "usd": 0.1,
          "note": "classification, validation"
        },
        {
          "item": "Simple block",
          "unit": "call",
          "usd": 0.02,
          "note": "formatting, routing, export"
        }
      ],
      "provenance": {
        "legalEntity": "Nano Net Technologies Inc.",
        "domain": "nanonets.com",
        "domainRegistered": "2005-10-15",
        "endpointOnVendorDomain": true,
        "terms": "https://legal.nanonets.com/terms",
        "privacy": "https://legal.nanonets.com/privacy",
        "statusPage": "https://status.nanonets.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "RDAP gives a 2005 registration, older than the company, so the domain was probably bought later"
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nanonets.json",
      "live": {
        "slug": "nanonets",
        "probe": {
          "target": "https://extraction-api.nanonets.com/api/v2",
          "method": "get",
          "lastAt": "2026-10-04T23:32:50.98496352Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 455,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.73,
          "p50ms24h": 447,
          "p95ms24h": 491,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 245
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.nanonets.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:27:54.187838415Z"
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "docstrange",
            "version": "1.1.8",
            "released": "2025-10-31",
            "seenAt": "2026-10-04T16:34:19.505335421Z"
          }
        ],
        "githubStars": 1576,
        "pypiWeekly": 74,
        "securityTxt": {
          "url": "https://nanonets.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:01.973680417Z"
        },
        "llmsTxt": {
          "url": "https://docs.nanonets.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:02.95370471Z"
        },
        "domain": {
          "domain": "nanonets.com",
          "registered": "2005-10-15",
          "source": "https://rdap.verisign.com/com/v1/domain/nanonets.com",
          "checkedAt": "2026-10-04T13:08:18.933907619Z"
        },
        "pages": [
          {
            "url": "https://nanonets.com/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:11.028049558Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "437fa38c3c93"
          },
          {
            "url": "https://legal.nanonets.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:30.997470748Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cdfa3c559c87"
          },
          {
            "url": "https://legal.nanonets.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:45:33.391472172Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "8c04180e8356"
          }
        ],
        "updatedAt": "2026-10-04T23:32:50.98496352Z"
      }
    },
    "b": {
      "slug": "reducto",
      "name": "Reducto API + MCP",
      "vendor": "Reducto",
      "vendorUrl": "https://reducto.ai",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Hosted parse, extract, split, classify and edit endpoints for PDFs, scans, spreadsheets and Office files, built on its own r-1 parsing model.",
      "url": "https://www.anchorterminal.com/tools/reducto",
      "markdownUrl": "https://www.anchorterminal.com/tools/reducto.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/reducto.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/reducto.json",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://platform.reducto.ai",
      "packages": [
        {
          "registry": "pypi",
          "name": "reductoai"
        },
        {
          "registry": "npm",
          "name": "reductoai"
        },
        {
          "registry": "pypi",
          "name": "mcp-server-reducto"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key from Reducto Studio in the Authorization header. The hosted MCP at mcp.reducto.ai takes the same key as a bearer header. The local MCP reads it from ~/.reducto/config.yaml after a device-code login, or from REDUCTO_API_KEY.",
      "pricing": "usage",
      "pricingNotes": "Standard is pay as you go with $150 of free usage (15,000 credits) to start. List prices from 2026-09-01 per 1,000 pages are r-1 Parse $10, Extract $20 (parsing included), Deep Extract $40, Split $20, Deep Split $40, Classify $7.50 and Edit $60 ($15 for prefilled pages). Batch queue jobs get 20% off. Growth and Enterprise are custom with volume discounts (https://reducto.ai/pricing).",
      "priceSummary": "$10 / 1k pages",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs, pricing or OpenAPI spec (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 341923,
        "pypiWeekly": 1091084,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.reducto.ai",
      "llmsTxt": "https://docs.reducto.ai/llms.txt",
      "openapi": "https://docs.reducto.ai/openapi.json",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.chunk",
        "docs.classify"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "webhooks",
        "async-jobs",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.2,
        "grade": "B",
        "agentReady": false,
        "rank": 207,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs. Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated.",
        "strengths": [
          "Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs",
          "Per-1,000-page list prices for every endpoint, parsing included in Extract and Split",
          "Coded 429 bodies, and SDKs that retry 429s with backoff",
          "SDKs in Python, Node.js and Go with CI, end-to-end and spec-drift workflows",
          "incident.io status page with per-product components and history"
        ],
        "weaknesses": [
          "Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated",
          "No public changelog for the hosted API",
          "11 incidents since 23 July, mostly latency, with Parse degraded on 1 October",
          "MCP server sends usage telemetry by default",
          "Plain API keys with no scopes, and no annotations on tools that start billable jobs"
        ],
        "agentNotes": [
          "Use `/parse_async` or `/extract_async` with a webhook for anything long; sync calls time out at 900 seconds",
          "Pass `jobid://\u003cjob_id\u003e` from a parse into extract or split so you don't pay to parse twice",
          "Call `get_job` when a tool returns a URL result instead of reading fields from the truncated reply",
          "The hosted MCP can't read local files; run `uvx mcp-server-reducto` when the agent needs to upload from disk",
          "Set `REDUCTO_TELEMETRY=0` in the local server's environment to turn off usage telemetry"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.2
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 30,
          "reliability": 72,
          "schema": 80,
          "security": 35,
          "transparency": 38
        },
        "provenanceScore": 82
      },
      "connect": {
        "http": "curl -X POST https://platform.reducto.ai/parse -H \"Authorization: Bearer $REDUCTO_API_KEY\" \\\n  -H \"Content-Type: application/json\" -d '{\"input\":\"https://cdn.reducto.ai/samples/fidelity-example.pdf\"}'",
        "claudeCode": "claude mcp add -s user reducto -- uvx mcp-server-reducto",
        "config": {
          "mcpServers": {
            "reducto": {
              "headers": {
                "Authorization": "Bearer ${REDUCTO_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.reducto.ai/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/reducto"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "r-1 Parse",
          "unit": "1k-pages",
          "usd": 10,
          "note": "Standard list price from 2026-09-01"
        },
        {
          "item": "Extract",
          "unit": "1k-pages",
          "usd": 20,
          "note": "parsing included"
        },
        {
          "item": "Deep Extract",
          "unit": "1k-pages",
          "usd": 40,
          "note": "parsing included"
        },
        {
          "item": "Split",
          "unit": "1k-pages",
          "usd": 20,
          "note": "parsing included"
        },
        {
          "item": "Classify",
          "unit": "1k-pages",
          "usd": 7.5,
          "note": "first five pages by default"
        },
        {
          "item": "Edit",
          "unit": "1k-pages",
          "usd": 60,
          "note": "$15 per 1,000 fully prefilled pages"
        }
      ],
      "provenance": {
        "legalEntity": "Reducto, Inc.",
        "domain": "reducto.ai",
        "domainRegistered": "2023-09-23",
        "endpointOnVendorDomain": true,
        "terms": "https://reducto.ai/terms",
        "privacy": "https://reducto.ai/privacy",
        "statusPage": "https://status.reducto.ai",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The docs changelog at docs.reducto.ai/changelog is the on-prem changelog and sits behind a password"
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/reducto.json",
      "live": {
        "slug": "reducto",
        "probe": {
          "target": "https://platform.reducto.ai",
          "method": "get",
          "lastAt": "2026-10-04T23:32:53.057745988Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 451,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 444,
          "p95ms24h": 478,
          "samples24h": 272,
          "samples30d": 1097,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.reducto.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:28:00.69279905Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "reductoai",
            "version": "0.18.0",
            "seenAt": "2026-10-04T16:37:59.124549444Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-reducto",
            "version": "0.3.0",
            "released": "2026-05-02",
            "seenAt": "2026-10-04T16:37:59.938601289Z"
          },
          {
            "registry": "pypi",
            "name": "reductoai",
            "version": "0.24.0",
            "released": "2026-09-08",
            "seenAt": "2026-10-04T16:37:58.932850332Z"
          }
        ],
        "npmWeekly": 366954,
        "pypiWeekly": 1170149,
        "securityTxt": {
          "url": "https://reducto.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-01T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:42.237208539Z"
        },
        "llmsTxt": {
          "url": "https://docs.reducto.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:09.631507178Z"
        },
        "domain": {
          "domain": "reducto.ai",
          "registered": "2023-09-23",
          "source": "https://rdap.identitydigital.services/rdap/domain/reducto.ai",
          "checkedAt": "2026-10-04T13:03:43.478445759Z"
        },
        "pages": [
          {
            "url": "https://docs.reducto.ai/reference/pricing-migration",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:43:56.331773788Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a2de88ed18a1"
          },
          {
            "url": "https://reducto.ai/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:14.391287143Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f368ce1dcb67"
          },
          {
            "url": "https://reducto.ai/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:16.637276588Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b1672ef84df9"
          },
          {
            "url": "https://reducto.ai/terms",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:18.597204308Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b45eade5b5e0"
          }
        ],
        "updatedAt": "2026-10-04T23:32:53.057745988Z"
      }
    },
    "summary": "Reducto API + MCP has a score of 63.2 (B) against Nanonets API + MCP's 42.6 (E). Both do docs parse. The largest gap is maintenance \u0026 community, 72 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nanonets-vs-reducto",
    "json": "https://www.anchorterminal.com/compare/nanonets-vs-reducto.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nanonets-vs-reducto.md",
    "slim": "https://www.anchorterminal.com/compare/nanonets-vs-reducto.min.md"
  },
  "markdown": "Reducto API + MCP has a score of 63.2 (B) against Nanonets API + MCP's 42.6 (E). Both do docs parse. The largest gap is maintenance \u0026 community, 72 points.\n\n- Nanonets API + MCP: grade E, 42.6/100, rank #413 of 452. Markdown https://www.anchorterminal.com/tools/nanonets.md · JSON https://www.anchorterminal.com/api/v1/tools/nanonets.json\n- Reducto API + MCP: grade B, 63.2/100, rank #207 of 452. Markdown https://www.anchorterminal.com/tools/reducto.md · JSON https://www.anchorterminal.com/api/v1/tools/reducto.json\n\n## Which one, for what\n\nPick Nanonets API + MCP for payments \u0026 pricing (+5), transparency \u0026 trust (+5).\n\nPick Reducto API + MCP for reliability (+27), schema \u0026 documentation (+19), agent ergonomics (+37), security \u0026 auth (+5), maintenance \u0026 community (+72).\n\n## Score by category\n\n| Category | Weight | Nanonets API + MCP | Reducto API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 72 | Reducto API + MCP +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 61 | 80 | Reducto API + MCP +19 |\n| Agent ergonomics | 13% (16.2 this run) | 47 | 84 | Reducto API + MCP +37 |\n| Security \u0026 auth | 14% (17.5 this run) | 30 | 35 | Reducto API + MCP +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | Nanonets API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 8 | 80 | Reducto API + MCP +72 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 65 | 60 | Nanonets API + MCP +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.6 · E** | **63.2 · B** | |\n\n## Facts side by side\n\n| Fact | Nanonets API + MCP | Reducto API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Nanonets | Reducto |\n| Hosted endpoint | `https://extraction-api.nanonets.com/api/v2` | `https://platform.reducto.ai` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | MIT (docstrange library) | none |\n| Tools exposed | none | 9 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2025-10-31 | 2026-09-11 |\n| Popularity | 1.6k stars, 47 PyPI/wk | 342k npm/wk, 1.1M PyPI/wk |\n| Agent reviews | 2/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**Nanonets API + MCP.** Extraction API returns Markdown, CSV or JSON, with named fields or a JSON schema. No public changelog and no dated release in the last 90 days.\n\n**Reducto API + MCP.** Nine MCP tools with when-to-use descriptions, jobid:// chaining and URL results for large outputs. Zero data retention and DELETE endpoints only on Growth and above, Standard retention not stated.\n\n## Before you call either\n\n### Nanonets API + MCP\n\n1. Use the extraction API at `extraction-api.nanonets.com`, not `app.nanonets.com`, unless you already have a trained model\n2. Pass a JSON schema in `json_options` when downstream code needs fixed field names\n3. Use the async extract endpoints for long documents and poll `/api/v1/extract/results/{record_id}`\n4. On a 429, wait 30 seconds and double the delay each retry\n5. Budget per page, since a 10-page PDF through an extraction block is 10 runs\n\n### Reducto API + MCP\n\n1. Use `/parse_async` or `/extract_async` with a webhook for anything long; sync calls time out at 900 seconds\n2. Pass `jobid://\u003cjob_id\u003e` from a parse into extract or split so you don't pay to parse twice\n3. Call `get_job` when a tool returns a URL result instead of reading fields from the truncated reply\n4. The hosted MCP can't read local files; run `uvx mcp-server-reducto` when the agent needs to upload from disk\n5. Set `REDUCTO_TELEMETRY=0` in the local server's environment to turn off usage telemetry\n\n## Other comparisons with Nanonets API + MCP or Reducto API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-nanonets.md)\n- [Adobe PDF Services / PDF Extract API vs Reducto API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto.md)\n- [Extend API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/extend-vs-nanonets.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [LlamaParse API + MCP vs Nanonets API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-nanonets.md)\n- [LlamaParse API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-reducto.md)\n- [Mistral OCR API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-nanonets.md)\n- [Mistral OCR API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.md)\n- [Nanonets API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-unstructured.md)\n- [Reducto API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/reducto-vs-unstructured.md)\n- [Mindee API vs Nanonets API + MCP](https://www.anchorterminal.com/compare/mindee-vs-nanonets.md)\n- [Mindee API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mindee-vs-reducto.md)\n- [Nanonets API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-veryfi.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Nanonets API + MCP vs Reducto API + MCP",
        "url": ""
      }
    ],
    "description": "Reducto API + MCP has a score of 63.2 (B) against Nanonets API + MCP's 42.6 (E). Both do docs parse. The largest gap is maintenance \u0026 community, 72 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Nanonets API + MCP E 42.6",
      "Reducto API + MCP B 63.2",
      "scores"
    ],
    "h1": "Nanonets API + MCP vs Reducto API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-nanonets-vs-reducto.png",
    "path": "/compare/nanonets-vs-reducto",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Nanonets API + MCP vs Reducto API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/nanonets-vs-reducto"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
