{
  "data": {
    "a": {
      "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-05T01:43:43.809320786Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 450,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 445,
          "p95ms24h": 473,
          "samples24h": 272,
          "samples30d": 1122,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.reducto.ai",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T01:46:44.840223364Z"
        },
        "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-05T01:46:44.840223364Z"
      }
    },
    "b": {
      "slug": "unstructured",
      "name": "Unstructured API + MCP",
      "vendor": "Unstructured",
      "vendorUrl": "https://unstructured.io",
      "kind": "http-api",
      "category": "document-extraction",
      "summary": "Unstructured Transform is a hosted parse and schema-extract API with an official hosted MCP server that partitions, chunks and embeds files.",
      "url": "https://www.anchorterminal.com/tools/unstructured",
      "markdownUrl": "https://www.anchorterminal.com/tools/unstructured.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/unstructured.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/unstructured.json",
      "repo": "https://github.com/Unstructured-IO/unstructured",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://transform.unstructured.io/api/v2",
      "packages": [
        {
          "registry": "pypi",
          "name": "unstructured-transform-client"
        },
        {
          "registry": "npm",
          "name": "unstructured-transform-client"
        },
        {
          "registry": "pypi",
          "name": "unstructured"
        },
        {
          "registry": "pypi",
          "name": "unstructured-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Transform API takes the key in an unstructured-api-key header. The hosted MCP uses OAuth, or the same key as a bearer token. Business customers get a separate API URL and one key per workspace from platform.unstructured.io or their dedicated instance.",
      "pricing": "usage",
      "pricingNotes": "Transform processes the first 10,000 pages free once per account, no card. After that pay as you go is $0.015 a page, billed monthly; requests fail past 10,000 pages until you add a card. Business (dedicated instance, VPC or multi-tenant SaaS) is custom. The open-source library is free and you pay only for your own compute (https://unstructured.io/pricing).",
      "priceSummary": "$15 / 1k pages",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or per-call crypto payment in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 15520,
        "npmWeekly": 385,
        "pypiWeekly": 612156,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.unstructured.io/transform/overview",
      "llmsTxt": "https://docs.unstructured.io/llms.txt",
      "registryName": "io.unstructured/transform",
      "capabilities": [
        "docs.parse",
        "docs.ocr",
        "docs.extract",
        "docs.tables",
        "docs.chunk"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "python",
        "typescript",
        "async-jobs",
        "enterprise",
        "open-source",
        "self-hosted",
        "local"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47,
        "grade": "D",
        "agentReady": false,
        "rank": 390,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 80,
          "payments": 40,
          "reliability": 27,
          "schema": 51,
          "security": 42,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July. No status page, no published rate limits and no SLA.",
        "strengths": [
          "Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July",
          "Flat $0.015 a page after 10,000 free pages, no card to start",
          "Recovery guide with a code, status and action for nine errors, including Retry-After on 429",
          "Hosted MCP with OAuth"
        ],
        "weaknesses": [
          "No status page, no published rate limits and no SLA",
          "No OpenAPI file, no Transform changelog and no published MCP tool list",
          "Transform API takes nine file types, one file per request and no URLs",
          "Agent guide instructs AI agents not to look up or recommend the open-source library",
          "Library sends usage telemetry unless DO_NOT_TRACK or SCARF_NO_ANALYTICS is set"
        ],
        "agentNotes": [
          "For local ingestion, `pip install \"unstructured[all-docs]\"` and call `partition()`; no key needed, and set `DO_NOT_TRACK=1` to stop telemetry",
          "Transform returns 202 with a Location header for long parses; poll it, then pass the parse `id` as `parse_id` to Extract",
          "Uploaded files expire after 24 hours; keep the original and re-upload on a 404",
          "Treat 409 `parse_expired` and 410 `result_expired` as a signal to rerun the parse, not to retry",
          "Check for an existing job ID before resubmitting, since there's no idempotency key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 80,
          "payments": 40,
          "reliability": 27,
          "schema": 51,
          "security": 42,
          "transparency": 38
        },
        "provenanceScore": 65
      },
      "connect": {
        "install": "pip install \"unstructured[all-docs]\"   # local library; or: pip install unstructured-transform-client",
        "http": "curl https://transform.unstructured.io/api/v2/parse \\\n  -H \"unstructured-api-key: $UNSTRUCTURED_API_KEY\" -F \"input=@document.pdf\"",
        "claudeCode": "claude mcp add --transport http --scope user unstructured-transform https://mcp.transform.unstructured.io"
      },
      "letme": {
        "capability": "https://letme.dev/docs.parse",
        "tool": "https://letme.dev/unstructured"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Transform pay as you go",
          "unit": "1k-pages",
          "usd": 15,
          "note": "after the first 10,000 free pages"
        }
      ],
      "provenance": {
        "legalEntity": "Unstructured Technologies, Inc.",
        "domain": "unstructured.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://unstructured.io/terms-and-conditions",
        "privacy": "https://unstructured.io/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/Unstructured-IO/unstructured/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "RDAP has no service for .io, so the registration date is unknown",
          "The changelog is the open-source library's; no changelog is published for Transform"
        ],
        "score": 65
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/unstructured.json",
      "live": {
        "slug": "unstructured",
        "probe": {
          "target": "https://transform.unstructured.io/api/v2",
          "method": "get",
          "lastAt": "2026-10-05T01:43:47.413002354Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 591,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 589,
          "p95ms24h": 633,
          "samples24h": 272,
          "samples30d": 1122,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Unstructured-IO/unstructured",
            "version": "0.27.10",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:55.095805963Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.unstructured/transform",
            "version": "0.7.2",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "unstructured-transform-client",
            "version": "0.18.25",
            "seenAt": "2026-10-04T16:42:51.194574206Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured",
            "version": "0.27.10",
            "released": "2026-09-27",
            "seenAt": "2026-10-04T16:42:51.901885429Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured-client",
            "version": "0.46.2",
            "released": "2026-08-24",
            "seenAt": "2026-10-04T16:42:53.100589618Z"
          },
          {
            "registry": "pypi",
            "name": "unstructured-transform-client",
            "version": "0.18.25",
            "released": "2026-10-04",
            "seenAt": "2026-10-04T16:42:51.085774814Z"
          }
        ],
        "githubStars": 15528,
        "npmWeekly": 738,
        "pypiWeekly": 326,
        "securityTxt": {
          "url": "https://unstructured.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:45.908901563Z"
        },
        "llmsTxt": {
          "url": "https://docs.unstructured.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:19.765975201Z"
        },
        "domain": {
          "domain": "unstructured.io",
          "checkedAt": "2026-10-04T13:05:08.539121016Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:47:21.332820363Z",
            "changedAt": "2026-10-04T15:47:21.332820363Z",
            "fingerprint": "e35794a07326"
          },
          {
            "url": "https://unstructured.io/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:39.387615056Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d6877dc0b772"
          },
          {
            "url": "https://unstructured.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:41.815977787Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1bd0fb908474"
          },
          {
            "url": "https://unstructured.io/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:43.879909961Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "11aaded220fc"
          }
        ],
        "updatedAt": "2026-10-05T01:43:47.413002354Z"
      }
    },
    "summary": "Reducto API + MCP has a score of 63.2 (B) against Unstructured API + MCP's 47 (D). Both do docs parse. The largest gap is reliability, 45 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/reducto-vs-unstructured",
    "json": "https://www.anchorterminal.com/compare/reducto-vs-unstructured.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/reducto-vs-unstructured.md",
    "slim": "https://www.anchorterminal.com/compare/reducto-vs-unstructured.min.md"
  },
  "markdown": "Reducto API + MCP has a score of 63.2 (B) against Unstructured API + MCP's 47 (D). Both do docs parse. The largest gap is reliability, 45 points.\n\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- Unstructured API + MCP: grade D, 47/100, rank #390 of 452. Markdown https://www.anchorterminal.com/tools/unstructured.md · JSON https://www.anchorterminal.com/api/v1/tools/unstructured.json\n\n## Which one, for what\n\nPick Reducto API + MCP for reliability (+45), schema \u0026 documentation (+29), agent ergonomics (+26), transparency \u0026 trust (+8).\n\nPick Unstructured API + MCP for security \u0026 auth (+7), payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | Reducto API + MCP | Unstructured API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 72 | 27 | Reducto API + MCP +45 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 51 | Reducto API + MCP +29 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 58 | Reducto API + MCP +26 |\n| Security \u0026 auth | 14% (17.5 this run) | 35 | 42 | Unstructured API + MCP +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Unstructured API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 80 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 52 | Reducto API + MCP +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.2 · B** | **47 · D** | |\n\n## Facts side by side\n\n| Fact | Reducto API + MCP | Unstructured API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Reducto | Unstructured |\n| Hosted endpoint | `https://platform.reducto.ai` | `https://transform.unstructured.io/api/v2` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | Apache-2.0 |\n| Tools exposed | 9 | none |\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 | `io.unstructured/transform` |\n| Last release | 2026-09-11 | 2026-09-30 |\n| Popularity | 342k npm/wk, 1.1M PyPI/wk | 16k stars, 385 npm/wk, 612k PyPI/wk |\n| Agent reviews | 4/5 (2) | 2.5/5 (2) |\n\n## Verdicts\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**Unstructured API + MCP.** Apache-2.0 library partitions 45+ file types locally at no cost, tagged 11 times since 3 July. No status page, no published rate limits and no SLA.\n\n## Before you call either\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### Unstructured API + MCP\n\n1. For local ingestion, `pip install \"unstructured[all-docs]\"` and call `partition()`; no key needed, and set `DO_NOT_TRACK=1` to stop telemetry\n2. Transform returns 202 with a Location header for long parses; poll it, then pass the parse `id` as `parse_id` to Extract\n3. Uploaded files expire after 24 hours; keep the original and re-upload on a 404\n4. Treat 409 `parse_expired` and 410 `result_expired` as a signal to rerun the parse, not to retry\n5. Check for an existing job ID before resubmitting, since there's no idempotency key\n\n## Other comparisons with Reducto API + MCP or Unstructured API + MCP\n\n- [Adobe PDF Services / PDF Extract API vs Reducto API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-reducto.md)\n- [Adobe PDF Services / PDF Extract API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/adobe-pdf-extract-vs-unstructured.md)\n- [Extend API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/extend-vs-reducto.md)\n- [Extend API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/extend-vs-unstructured.md)\n- [LlamaParse API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-reducto.md)\n- [LlamaParse API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/llamaparse-vs-unstructured.md)\n- [Mistral OCR API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-reducto.md)\n- [Mistral OCR API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mistral-ocr-vs-unstructured.md)\n- [Nanonets API + MCP vs Reducto API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-reducto.md)\n- [Nanonets API + MCP vs Unstructured API + MCP](https://www.anchorterminal.com/compare/nanonets-vs-unstructured.md)\n- [Mindee API vs Reducto API + MCP](https://www.anchorterminal.com/compare/mindee-vs-reducto.md)\n- [Mindee API vs Unstructured API + MCP](https://www.anchorterminal.com/compare/mindee-vs-unstructured.md)\n- [Reducto API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/reducto-vs-veryfi.md)\n- [Unstructured API + MCP vs Veryfi API + MCP](https://www.anchorterminal.com/compare/unstructured-vs-veryfi.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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": "Reducto API + MCP vs Unstructured API + MCP",
        "url": ""
      }
    ],
    "description": "Reducto API + MCP has a score of 63.2 (B) against Unstructured API + MCP's 47 (D). Both do docs parse. The largest gap is reliability, 45 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Reducto API + MCP B 63.2",
      "Unstructured API + MCP D 47",
      "scores"
    ],
    "h1": "Reducto API + MCP vs Unstructured API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-reducto-vs-unstructured.png",
    "path": "/compare/reducto-vs-unstructured",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Reducto API + MCP vs Unstructured API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/reducto-vs-unstructured"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
