{
  "data": {
    "a": {
      "slug": "autodesk-platform-services",
      "name": "Autodesk Platform Services",
      "vendor": "Autodesk",
      "vendorUrl": "https://aps.autodesk.com",
      "kind": "http-api",
      "category": "cad",
      "summary": "Autodesk Platform Services (APS, formerly Forge) is Autodesk's cloud API set. Its Automation API runs AutoCAD, Inventor, Revit, 3ds Max and Fusion headlessly on design files, beside Model Derivative, Data Management, OSS and Webhooks APIs under OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/autodesk-platform-services",
      "markdownUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/autodesk-platform-services.json",
      "dns": "autodesk-platform-services.grade.anchorterminal.com",
      "repo": "https://github.com/autodesk-platform-services/aps-sdk-openapi",
      "transports": [],
      "packages": [
        {
          "registry": "npm",
          "name": "@aps_sdk/model-derivative"
        },
        {
          "registry": "npm",
          "name": "@aps_sdk/data-management"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 from the Authentication API v2, with two-legged client credentials for an app's own data, three-legged authorisation code for a user's data, with scopes such as data:read, data:write, data:create, bucket:create and code:all per the published OpenAPI specs, plus Secure Service Accounts for server workloads. An app is registered in the APS developer portal after an Autodesk account sign-in in a browser. The Design Automation reference pages did not render for our reader, so its scopes were not read.",
      "pricing": "usage",
      "pricingNotes": "Pricing is published on www.autodesk.com, whose robots.txt answered 403, so no price was read. The APS product pages link to a \"Compare pricing\" page and the blog's topic list names Cloud Credits; the per-operation rates for the Automation API and Model Derivative were not established. The developer portal describes a free trial and ADN membership for direct support without stating terms on the pages read.",
      "priceSummary": "Pay per use",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the seven OpenAPI specs of the aps-sdk-openapi repository, the product overview pages or the support page (checked 2026-11-03). Pricing pages on www.autodesk.com were not read.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://aps.autodesk.com/en/docs/design-automation/v3/developers_guide/overview/",
      "openapi": "https://github.com/autodesk-platform-services/aps-sdk-openapi",
      "capabilities": [
        "cad.generate",
        "cad.edit",
        "cad.export"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "oauth",
        "openapi",
        "enterprise",
        "status-page",
        "async-jobs",
        "typescript",
        "dotnet",
        "usage-priced"
      ],
      "lastRelease": "2026-09-16",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.3,
        "grade": "E",
        "agentReady": false,
        "rank": 1154,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 52,
          "maintenance": 53,
          "payments": 0,
          "reliability": 52,
          "schema": 59,
          "security": 47,
          "transparency": 34
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "OAuth 2.0 with scopes, public OpenAPI specs for six APIs and a status page with APS components make the platform callable by an agent that holds an app's credentials. The Automation API's own docs, quotas, pricing and terms sit on pages our reader could not load, so an agent must plan without published limits or rates.",
        "bestFor": "Agents that must process existing Autodesk files (Inventor, Revit, AutoCAD, Fusion) at scale with add-ins a team already has, or translate models for viewing.",
        "strengths": [
          "OAuth 2.0 with two-legged and three-legged flows, read and write scopes, and Secure Service Accounts, per the published Authentication v2 spec",
          "OpenAPI 3.0 specs with every operation described for Authentication, Data Management, Model Derivative, OSS, Webhooks and Construction, updated on 16 September 2026",
          "Five desktop engines run headlessly in the cloud, so an agent can drive Inventor, Revit, AutoCAD, 3ds Max or Fusion scripts without a workstation",
          "Status page lists APS components separately, with RSS and Atom history feeds",
          "Official SDKs on npm and NuGet, Stack Overflow tags, a fortnightly open expert call and paid ADN support"
        ],
        "weaknesses": [
          "The Design Automation v3 guide, reference, quotas and rate limits did not render for our reader, and no OpenAPI spec for it is published in the SDK repository",
          "Pricing, terms of service, privacy policy and the Autodesk MCP servers page live on www.autodesk.com, whose robots.txt answered 403",
          "No per-operation prices, free tier terms or SLA could be established from the pages read",
          "Workflows need an AppBundle, an Activity and a WorkItem per engine, with add-ins compiled for the desktop product before the first cloud run",
          "No llms.txt and no idempotency guidance were found"
        ],
        "agentNotes": [
          "Expect to hold an APS app's client id and secret, mint a two-legged token with the scopes the call needs, and refresh it; a person creates the app in the developer portal",
          "For the Automation API, the AppBundle (compiled add-in or script), Activity and WorkItem must exist before a job runs; the engine runs the add-in, so geometry edits are written in the desktop product's API, not in a request body",
          "Back off exponentially on 429, as the OSS spec asks, since no numeric limits were readable; check health.autodesk.com for the Automation API component before retrying failures",
          "Do not assume a price per job or translation; have the owner read the pricing page, which our reader could not",
          "Use data:read and read-only scopes for inspection tasks and ask the owner before data:write or bucket:delete, since no confirmation step is documented"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.3
          }
        ],
        "editorialScores": {
          "ergonomics": 52,
          "maintenance": 53,
          "payments": 0,
          "reliability": 52,
          "schema": 59,
          "security": 47,
          "transparency": 10
        },
        "provenanceScore": 58,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST https://developer.api.autodesk.com/authentication/v2/token -H \"Authorization: Basic $(printf '%s:%s' \"$APS_CLIENT_ID\" \"$APS_CLIENT_SECRET\" | base64)\" -d 'grant_type=client_credentials\u0026scope=data:read'"
      },
      "letme": {
        "capability": "https://letme.dev/cad.generate",
        "tool": "https://letme.dev/autodesk-platform-services"
      },
      "area": "design-diagrams",
      "provenance": {
        "legalEntity": "Autodesk, Inc.",
        "domain": "aps.autodesk.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "https://health.autodesk.com/",
        "changelog": "https://github.com/autodesk-platform-services/aps-sdk-openapi/commits/main",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "Autodesk, Inc. is the vendor; the legal entity is taken from the Nasdaq listing recorded on Wikipedia, since www.autodesk.com (terms, privacy, legal notices) answered 403 to robots.txt and was not read.",
          "aps.autodesk.com/robots.txt allows the docs and product pages (Drupal defaults disallow admin and login paths). developer.api.autodesk.com/robots.txt disallows every path, so the API host was not fetched. health.autodesk.com disallows only /api/ and /embed/.",
          "aps.autodesk.com/.well-known/security.txt answered 406 to our reader, so its presence is unknown.",
          "Terms and privacy URLs are left empty because the documents could not be read; the policy reader should take them from www.autodesk.com when it can.",
          "The API endpoints are on developer.api.autodesk.com, an Autodesk domain."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/autodesk-platform-services.json",
      "live": {
        "slug": "autodesk-platform-services",
        "vendorStatus": {
          "page": "https://health.autodesk.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:04:40.444805863Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@aps_sdk/data-management",
            "version": "1.1.4",
            "seenAt": "2026-11-04T20:00:13.352963048Z"
          },
          {
            "registry": "npm",
            "name": "@aps_sdk/model-derivative",
            "version": "1.2.1",
            "seenAt": "2026-11-04T20:00:12.857831756Z"
          }
        ],
        "githubStars": 65,
        "npmWeekly": 10491,
        "securityTxt": {
          "url": "https://aps.autodesk.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:19.119162941Z"
        },
        "updatedAt": "2026-11-04T20:04:40.444805863Z"
      }
    },
    "answer": "Zoo scores 58.7 (C) on agent readiness against Autodesk Platform Services's 44.3 (E), and leads in 6 of 7 scored categories. Autodesk Platform Services leads on agent ergonomics.",
    "b": {
      "slug": "zoo",
      "name": "Zoo",
      "vendor": "Zoo Corporation",
      "vendorUrl": "https://zoo.dev",
      "kind": "http-api",
      "category": "cad",
      "summary": "Zoo is a hosted CAD platform from Zoo Corporation with a REST API, the Zookeeper design agent over a websocket, file conversion and analysis endpoints, a CLI and a local MCP server, all built on its KCL modelling language.",
      "url": "https://www.anchorterminal.com/tools/zoo",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoo.json",
      "dns": "zoo.grade.anchorterminal.com",
      "repo": "https://github.com/KittyCAD/mcp",
      "transports": [
        "stdio",
        "streamable-http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "zoo-mcp"
        },
        {
          "registry": "pypi",
          "name": "kittycad"
        }
      ],
      "auth": "mixed",
      "authNotes": "Bearer API token minted at zoo.dev/account/developer after a browser sign-in (SSO by OAuth 2.0, OpenID Connect or email; Zoo uses no passwords). Tokens are listed, created and deleted at /user/api-tokens; no scopes were found. Team and Enterprise plans add organisation-wide service accounts, and OAuth 2.0 apps with PKCE and a device grant exist for apps. The MCP server reads ZOO_API_TOKEN (ZOO_TOKEN in the registry manifest). Websockets authenticate before the first message.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with $10 of monthly usage (1,205 seconds) and no plan fee; Plus $20 a month with $200 of usage, Pro $99 with $1,245, Team $399 per user with $4,980, Enterprise by contract. Zookeeper reasoning and billable API calls (direct or through MCP) are metered per second at $0.0083, about $0.50 a minute, rounded up to the next second. Failed calls are not charged; GET, /user, /org and /oauth2 calls are free. Pay-as-you-go beyond the allowance is off by default and needs a payment method.",
      "priceSummary": "$0.0083 / credit",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document (226 operations), the API pricing page, the FAQ or the MCP server source (checked 2026-11-03). Payment runs through Stripe-hosted pages and subscription endpoints.",
        "endpoints": []
      },
      "toolCount": 42,
      "popularity": {
        "githubStars": 11,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://zoo.dev/docs/developer-tools/agent-api",
      "openapi": "https://api.zoo.dev/",
      "registryName": "io.github.KittyCAD/zoo-mcp",
      "capabilities": [
        "cad.generate",
        "cad.edit",
        "cad.export"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "usage-priced",
        "free-tier",
        "mcp",
        "mcp-registry",
        "openapi",
        "cli",
        "python",
        "typescript",
        "rust",
        "go",
        "status-page",
        "soc2",
        "security-txt",
        "bug-bounty"
      ],
      "lastRelease": "2026-10-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 669,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 90,
          "payments": 35,
          "reliability": 55,
          "schema": 65,
          "security": 67,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out.",
        "bestFor": "Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.",
        "strengths": [
          "OpenAPI 3.0.3 served at api.zoo.dev with 226 described operations, and SDKs in Python, TypeScript, Rust and Go generated from it",
          "Zookeeper returns editable KCL rather than a mesh, and the CLI or zoo-kcl package exports it to STEP",
          "Public per-second pricing ($0.0083 a second) with $10 of monthly usage on the Free plan and no charge for failed calls",
          "SOC 2 Type II, a disclosure policy with a 72-hour response commitment, and two published Trail of Bits reviews",
          "Status page with component history and no incidents reported for September to November 2026"
        ],
        "weaknesses": [
          "No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket",
          "API tokens carry no scopes and the MCP server has no read-only subset or tool annotations",
          "Free plan data is always used for training; Plus and Pro opt out manually, by the terms of 15 April 2026",
          "The 42 MCP tools and 30,000 characters of docstrings load into every session; the registry entry is at 0.10.0 while PyPI is at 0.33.0",
          "No llms.txt or Markdown docs, no API changelog, and no SLA on any plan"
        ],
        "agentNotes": [
          "Send `{\"type\":\"ping\"}` every 5 seconds on the Zookeeper websocket and expect only KCL back; run the KCL through evaluate_kcl, the CLI or zoo-kcl to get STEP or STL",
          "Budget usage in seconds, since every billable call rounds up to the next second at $0.0083, and the monthly allowance resets at the account anniversary without rollover",
          "Use one modeling session per zoo-mcp process, start it with start_modeling_session and stop it when done; get_modeling_sessions recovers the id after a reconnect",
          "Put the token in ZOO_API_TOKEN, never in a URL; there are no read-only tokens, so use a service account on a Team plan when the owner wants separate credentials",
          "Paginate list endpoints with `limit`, `page_token` and `sort_by`; nothing documents a rate limit, so back off on any 429 or 5xx yourself"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 90,
          "payments": 35,
          "reliability": 55,
          "schema": 65,
          "security": 67,
          "transparency": 57
        },
        "provenanceScore": 80,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uvx zoo-mcp",
        "http": "curl -H \"Authorization: Bearer $ZOO_API_TOKEN\" https://api.zoo.dev/user",
        "claudeCode": "claude mcp add zoo -e ZOO_API_TOKEN=$ZOO_API_TOKEN -- uvx zoo-mcp",
        "config": {
          "mcpServers": {
            "zoo": {
              "args": [
                "zoo-mcp"
              ],
              "command": "uvx",
              "env": {
                "ZOO_API_TOKEN": "YOUR_ZOO_API_TOKEN"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/cad.generate",
        "tool": "https://letme.dev/zoo"
      },
      "area": "design-diagrams",
      "unitPrices": [
        {
          "item": "Billable API second (Zookeeper, modeling, ML, file)",
          "unit": "credit",
          "usd": 0.0083,
          "note": "one credit is one second of a billable call, about $0.50 a minute, rounded up to the next second; GET, /user, /org and /oauth2 calls are free"
        },
        {
          "item": "Plus plan",
          "unit": "month",
          "usd": 20,
          "note": "includes $200 of usage (24,096 seconds); the Free plan includes $10"
        },
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 99,
          "note": "includes $1,245 of usage (150,000 seconds)"
        },
        {
          "item": "Team plan",
          "unit": "seat-month",
          "usd": 399,
          "note": "includes $4,980 of usage per month, service accounts, admin console and auditing"
        }
      ],
      "provenance": {
        "legalEntity": "Zoo Corporation",
        "domain": "zoo.dev",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://zoo.dev/terms-and-conditions",
        "privacy": "https://zoo.dev/privacy-policy",
        "statusPage": "https://status.zoo.dev/",
        "changelog": "https://github.com/KittyCAD/mcp/releases",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "Zoo Corporation is named in the terms (last updated 15 April 2026) and the privacy policy (9 September 2026), with an Inglewood, California address. California law.",
          "Section 3(a)(vii) of the terms forbids accessing the Services with spiders, robots, crawlers or similar data mining tools unless Zoo supplies the tool. Recorded as a fact; zoo.dev/robots.txt allows all crawlers and api.zoo.dev has no robots.txt.",
          "security.txt at zoo.dev/.well-known/security.txt names the GitHub advisory form, security@zoo.dev and a policy, with no Expires line.",
          "No llms.txt (404) and no API changelog page (docs/changelog 404). Releases are tracked per repository on GitHub.",
          "The domain registration date was not checked (no RDAP lookup made)."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoo.json",
      "live": {
        "slug": "zoo",
        "vendorStatus": {
          "page": "https://status.zoo.dev",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:45.470053997Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.KittyCAD/zoo-mcp",
            "version": "0.33.0",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          }
        ],
        "securityTxt": {
          "url": "https://zoo.dev/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-04T15:53:22.312502342Z"
        },
        "updatedAt": "2026-11-04T17:11:44.552009456Z"
      }
    },
    "edges": [
      {
        "by": 37,
        "category": "maintenance",
        "leads": "zoo",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read for a closed service with open SDK sources. The aps-sdk-openapi repository's last commit is 16 September 2026 (Data Management spec), with Model Derivative on 12 August (20 of 30). Two dated spec changes in the last 90 days; SDK package release dates on npm and NuGet were not read (10 of 20). Stack Overflow tags, a fortnightly expert call, a bookable onboarding call and paid ADN support; GitHub issue response was not read because the API refused us (10 of 25). No APS server in the official MCP registry was looked for because the Autodesk MCP servers page could not be read; official SDKs on npm and NuGet are current per the README badges (10 of 15). SDK CI and dependency health unread (3 of 10). 20 + 10 + 10 + 10 + 3 = 53.",
          "b": "Read for a hosted service with open-source clients. zoo-mcp v0.33.0 on 30 October 2026, the CLI v0.2.209 on 28 October and kittycad 1.8.0 on 15 October (30). Nine zoo-mcp tags from 24 to 30 October alone, with CLI and SDK releases through October (20). Commits land daily across the KittyCAD organisation, with a Discord and a community forum; issue response times were not read because GitHub's issue pages refused us (15 of 25). io.github.KittyCAD/zoo-mcp is in the official MCP registry under a GitHub-verified namespace, though at version 0.10.0 of 27 January 2026 (15). pytest across Python 3.11 to 3.14, ruff, ty, a security workflow and Dependabot, with the scheduled run on main passing on 3 November (10). 30 + 20 + 15 + 15 + 10 = 90."
        },
        "scores": {
          "a": 53,
          "b": 90
        }
      },
      {
        "by": 35,
        "category": "payments",
        "leads": "zoo",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 in the specs or pages read (0). Pricing is on www.autodesk.com/products/autodesk-platform-services/overview#pricing, where aps.autodesk.com/pricing redirects; www.autodesk.com/robots.txt answered 403, so no price was read and the line scores as absent (0). A free trial is referred to on the developer pages, but its terms and whether a card is needed were on the unread pages (0). A person signs in to the developer portal to create the app that holds the client id and secret (0). 0 + 0 + 0 + 0 = 0, the reading contentful, personio and coupa took on 7 October 2026 when their pricing pages were unreadable.",
          "b": "No x402, MPP or L402 (0). The per-second rate ($0.0083) and plan allowances are public in the pricing JSON the site loads and on the blog, with the FAQ stating rounding and free GETs (20). The Free plan carries $10 of usage a month with no plan fee; whether sign-up asks for a card was not established, and pay-as-you-go needs a payment method (15 of 20). A person signs in with SSO in a browser and mints the token; service accounts come only after an organisation exists (0). 0 + 20 + 15 + 0 = 35."
        },
        "scores": {
          "a": 0,
          "b": 35
        }
      },
      {
        "by": 35,
        "category": "transparency",
        "leads": "zoo",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service. The APS terms of service are on www.autodesk.com and were not read, so terms clarity scores as absent (5 of 30). Privacy policy, data processing and retention statements are on the same host and unread (0 of 30). No deprecation policy or dated notices were readable; the docs pages that would carry them rendered empty (0 of 20). The status page names regional variants for the data APIs, which is the only location disclosure read; no subprocessor list was read (5 of 20). 5 + 0 + 0 + 5 = 10. These scores reflect what our reader could load, not a finding that the documents don't exist.",
          "b": "The API is closed, with terms last updated 15 April 2026 under California law; the MCP server, CLI, SDKs and Design Studio are MIT (22 of 30). The terms licence inputs and outputs for model training with an opt-out only where the tier allows it, the pricing JSON states the behaviour per plan, and the security page says team and enterprise data is excluded by default; the privacy policy of 9 September 2026 is silent on training and gives no retention periods, and the enterprise page says Zoo trains on customer CAD data without naming the opt-out (15 of 30). No deprecation policy; billing changes were announced on the blog with dates (6 of 20). The trust centre names OpenAI, Cockroach Labs, Google Cloud and AWS as subprocessors, the security page names a US Regulated region, and the privacy policy says data may be processed anywhere in the world (14 of 20). 22 + 15 + 6 + 14 = 57."
        },
        "scores": {
          "a": 34,
          "b": 69
        }
      },
      {
        "by": 20,
        "category": "security",
        "leads": "zoo",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "OAuth 2.0 with client credentials and authorisation code flows and named scopes (data:read, data:write, data:create, bucket scopes, code:all) in the published Authentication v2 spec, plus Secure Service Accounts for server workloads (30). Read-only scopes exist; no confirmation step before destructive calls was found (12 of 20). The engines execute add-ins and scripts on uploaded design files, and no prompt-injection guidance for agents was found on the pages read (5 of 15). No audit log or per-call visibility was found on the pages read (0 of 15). Autodesk's trust and security pages are on www.autodesk.com, unread, and aps.autodesk.com/.well-known/security.txt answered 406, and no disclosure policy, bug bounty or certification was established from the pages read (0 of 20). 30 + 12 + 5 + 0 + 0 = 47.",
          "b": "Bearer API tokens minted in the account, several per user, listed and deleted at /user/api-tokens, organisation service accounts on Team and Enterprise, and OAuth 2.0 apps with PKCE and a device grant; no scopes were found on tokens and no rotation guidance (22 of 30). No read-only token or MCP subset; the Team plan's admin console and auditing give oversight after the fact, and the MCP client's own file permissions govern writes to main.kcl (8 of 20). Zookeeper carries a web_search tool and the MCP server returns KCL samples and docs, with no prompt-injection guidance found (5 of 15). Organisation admins get an API activity log and /user/api-calls lists each call with its cost (12 of 15). security.txt with a GitHub advisory contact and a policy committing to a 72-hour reply and severity-based rewards, SOC 2 Type II on the trust centre, and two Trail of Bits reviews published in 2024 and 2026 (20 of 20). 22 + 8 + 5 + 12 + 20 = 67."
        },
        "scores": {
          "a": 47,
          "b": 67
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "autodesk-platform-services",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Data Management lists support filter and page parameters and Model Derivative returns per-object properties, so responses can be narrowed on the APIs with specs; the Automation API's job outputs are files (15 of 25). Pagination and filtering on the data APIs (15 of 20). Error responses are typed in the specs with reasons and the OSS spec explains 429, though the Automation API's error catalogue was unread (12 of 20). No idempotency key or safe-retry guidance was found; WorkItems are submitted and polled (0 of 20). Official SDKs in TypeScript (npm) and .NET (NuGet), but a Design Automation job needs an AppBundle, an Activity and a WorkItem and the add-in compiled against the desktop product (10 of 15). 15 + 15 + 12 + 0 + 10 = 52.",
          "b": "zoo-mcp lists 42 tools in one process with no toolset switch, read-only subset or dynamic loading, and their docstrings total about 30,000 characters (5 of 25). List endpoints take `limit`, `page_token` and `sort_by` (31 paginated operations), with no field selection or filtering (15 of 20). Errors are a generic object with a message and request_id, no error codes, and MCP tools return a string on failure (8 of 20). No idempotency keys, no readOnlyHint or destructiveHint in the tool source, and the websocket needs a ping every 5 seconds to stay open (4 of 20). Few required parameters, official SDKs in Python, TypeScript, Rust and Go, but one modeling session per MCP process and a websocket protocol an agent has to drive by hand (12 of 15). 5 + 15 + 8 + 4 + 12 = 44."
        },
        "scores": {
          "a": 52,
          "b": 44
        }
      },
      {
        "by": 6,
        "category": "schema",
        "leads": "zoo",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0 specs for Authentication v2, Data Management, Model Derivative v2, OSS, Webhooks, Secure Service Accounts and Construction are public in the aps-sdk-openapi repository with every operation described; the Design Automation v3 API, the one the audit led with, has none there and its reference did not render (18 of 25). No llms.txt found and the docs are not served as Markdown (0). The specs state purpose per operation and the product pages explain the engines and workflow; the Automation API's own guide was unread (12 of 20). Typed schemas, enums and required fields in the specs read (11 of 15). The specs carry 429 and error responses with descriptions; examples in the guides were unread (8 of 15). APIs are versioned in the path (v2, v3), the specs carry versions 1.0 and 2.0 with dated commits, and the blog has a changelog topic, but no changelog page was readable (10 of 15). 18 + 0 + 12 + 11 + 8 + 10 = 59.",
          "b": "OpenAPI 3.0.3 served at the root of api.zoo.dev, 174 paths and 226 operations each with a summary, and MCP tools whose inputs are typed Python signatures that the SDK turns into JSON Schema (25). No llms.txt (404) and no Markdown twin of the docs (0). The MCP docstrings average about 725 characters and say what each tool is for and when to use another, with snapshot at 3,500 characters; the OpenAPI summaries are one line and the websocket page lists one client message type (14 of 20). 583 schemas with 976 enum lists and required fields, and the file conversion path takes typed format parameters (12 of 15). Each docs endpoint page carries a request example, but errors are one generic object with request_id and message, and the websocket's server messages are not enumerated in the docs (9 of 15). The document reports version 0.1.0, there is no API changelog page, and changes are announced per repository release or on the blog, as the per-second billing change of 30 September 2025 was (5 of 15). 25 + 0 + 14 + 12 + 9 + 5 = 65."
        },
        "scores": {
          "a": 59,
          "b": 65
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Autodesk",
        "b": "Zoo Corporation",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "0",
        "b": "42",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "io.github.KittyCAD/zoo-mcp",
        "name": "MCP registry"
      },
      {
        "a": "2026-09-16",
        "b": "2026-10-30",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-04-15",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-09-09",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not read yet",
        "b": "yes, with an opt-out",
        "name": "Customer content may train models"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not read yet",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not read yet",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "11 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Zoo scores 58.7 (C) on agent readiness against Autodesk Platform Services's 44.3 (E), and leads in 6 of 7 scored categories. Autodesk Platform Services leads on agent ergonomics.",
        "question": "Which is better for AI agents, Autodesk Platform Services or Zoo?"
      },
      {
        "answer": "Autodesk Platform Services uses an OAuth sign-in. Zoo takes an API key or an OAuth sign-in.",
        "question": "Do Autodesk Platform Services and Zoo need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Autodesk Platform Services. Zoo runs on your own machine, with no hosted endpoint listed.",
        "question": "Can an agent call Autodesk Platform Services and Zoo without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 52 against 44"
        ],
        "also": null,
        "goodFor": "Agents that must process existing Autodesk files (Inventor, Revit, AutoCAD, Fusion) at scale with add-ins a team already has, or translate models for viewing.",
        "slug": "autodesk-platform-services",
        "watchFor": "The Design Automation v3 guide, reference, quotas and rate limits did not render for our reader, and no OpenAPI spec for it is published in the SDK repository"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 65 against 59",
          "Security \u0026 auth, 67 against 47",
          "Payments \u0026 pricing, 35 against 0",
          "Maintenance \u0026 community, 90 against 53",
          "Transparency \u0026 trust, 69 against 34"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.",
        "slug": "zoo",
        "watchFor": "No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket"
      }
    ],
    "history": null,
    "job": {
      "capability": "cad.generate",
      "name": "Cad generate"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services.json",
        "title": "Adam vs Autodesk Platform Services",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo.json",
        "title": "Adam vs Zoo",
        "url": "https://www.anchorterminal.com/compare/adam-cad-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-ntop.json",
        "title": "Autodesk Platform Services vs nTop",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-ntop"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape.json",
        "title": "Autodesk Platform Services vs Onshape",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ntop-vs-zoo.json",
        "title": "nTop vs Zoo",
        "url": "https://www.anchorterminal.com/compare/ntop-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale.json",
        "title": "Autodesk Platform Services vs SimScale",
        "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale"
      },
      {
        "json": "https://www.anchorterminal.com/compare/simscale-vs-zoo.json",
        "title": "SimScale vs Zoo",
        "url": "https://www.anchorterminal.com/compare/simscale-vs-zoo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/onshape-vs-zoo.json",
        "title": "Onshape vs Zoo",
        "url": "https://www.anchorterminal.com/compare/onshape-vs-zoo"
      }
    ],
    "panel": null,
    "scores": [
      {
        "autodesk-platform-services": 52,
        "by": 3,
        "edge": "zoo",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zoo": 55
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "autodesk-platform-services": 59,
        "by": 6,
        "edge": "zoo",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zoo": 65
      },
      {
        "autodesk-platform-services": 52,
        "by": 8,
        "edge": "autodesk-platform-services",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zoo": 44
      },
      {
        "autodesk-platform-services": 47,
        "by": 20,
        "edge": "zoo",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zoo": 67
      },
      {
        "autodesk-platform-services": 0,
        "by": 35,
        "edge": "zoo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zoo": 35
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "autodesk-platform-services": 53,
        "by": 37,
        "edge": "zoo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zoo": 90
      },
      {
        "autodesk-platform-services": 34,
        "by": 35,
        "edge": "zoo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zoo": 69
      }
    ],
    "summary": "Zoo scores 58.7 (C) on agent readiness against Autodesk Platform Services's 44.3 (E), and leads in 6 of 7 scored categories. Autodesk Platform Services leads on agent ergonomics. Both do cad generate.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "autodesk-platform-services": "OAuth 2.0 with scopes, public OpenAPI specs for six APIs and a status page with APS components make the platform callable by an agent that holds an app's credentials. The Automation API's own docs, quotas, pricing and terms sit on pages our reader could not load, so an agent must plan without published limits or rates.",
      "zoo": "A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo",
    "json": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.min.md"
  },
  "markdown": "Zoo scores 58.7 (C) on agent readiness against Autodesk Platform Services's 44.3 (E), and leads in 6 of 7 scored categories. Autodesk Platform Services leads on agent ergonomics. Both do cad generate.\n\n- Autodesk Platform Services: grade E, 44.3/100, rank #1154 of 1349. Markdown https://www.anchorterminal.com/tools/autodesk-platform-services.md · JSON https://www.anchorterminal.com/api/v1/tools/autodesk-platform-services.json\n- Zoo: grade C, 58.7/100, rank #669 of 1349. Markdown https://www.anchorterminal.com/tools/zoo.md · JSON https://www.anchorterminal.com/api/v1/tools/zoo.json\n- Best CAD, simulation and fabrication APIs for AI agents: https://www.anchorterminal.com/best/cad/index.md\n- All 15 cad comparisons: https://www.anchorterminal.com/compare/cad/index.md\n\n## Which one, for what\n\n### Autodesk Platform Services (E)\n\nGood for: Agents that must process existing Autodesk files (Inventor, Revit, AutoCAD, Fusion) at scale with add-ins a team already has, or translate models for viewing.\n\nAhead on:\n- Agent ergonomics, 52 against 44\n\nWatch for: The Design Automation v3 guide, reference, quotas and rate limits did not render for our reader, and no OpenAPI spec for it is published in the SDK repository\n\n### Zoo (C)\n\nGood for: Agents that need to produce or iterate editable mechanical geometry as code and export STEP, with a hosted engine and no desktop.\n\nAhead on:\n- Schema \u0026 documentation, 65 against 59\n- Security \u0026 auth, 67 against 47\n- Payments \u0026 pricing, 35 against 0\n- Maintenance \u0026 community, 90 against 53\n- Transparency \u0026 trust, 69 against 34\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No rate limits, 429 handling or idempotency keys documented for the REST API or the websocket\n\n\n## Why the edge\n\n### Maintenance \u0026 community: Zoo +37\n\n- Autodesk Platform Services (53): Read for a closed service with open SDK sources. The aps-sdk-openapi repository's last commit is 16 September 2026 (Data Management spec), with Model Derivative on 12 August (20 of 30). Two dated spec changes in the last 90 days; SDK package release dates on npm and NuGet were not read (10 of 20). Stack Overflow tags, a fortnightly expert call, a bookable onboarding call and paid ADN support; GitHub issue response was not read because the API refused us (10 of 25). No APS server in the official MCP registry was looked for because the Autodesk MCP servers page could not be read; official SDKs on npm and NuGet are current per the README badges (10 of 15). SDK CI and dependency health unread (3 of 10). 20 + 10 + 10 + 10 + 3 = 53.\n- Zoo (90): Read for a hosted service with open-source clients. zoo-mcp v0.33.0 on 30 October 2026, the CLI v0.2.209 on 28 October and kittycad 1.8.0 on 15 October (30). Nine zoo-mcp tags from 24 to 30 October alone, with CLI and SDK releases through October (20). Commits land daily across the KittyCAD organisation, with a Discord and a community forum; issue response times were not read because GitHub's issue pages refused us (15 of 25). io.github.KittyCAD/zoo-mcp is in the official MCP registry under a GitHub-verified namespace, though at version 0.10.0 of 27 January 2026 (15). pytest across Python 3.11 to 3.14, ruff, ty, a security workflow and Dependabot, with the scheduled run on main passing on 3 November (10). 30 + 20 + 15 + 15 + 10 = 90.\n\n### Payments \u0026 pricing: Zoo +35\n\n- Autodesk Platform Services (0): No x402, MPP or L402 in the specs or pages read (0). Pricing is on www.autodesk.com/products/autodesk-platform-services/overview#pricing, where aps.autodesk.com/pricing redirects; www.autodesk.com/robots.txt answered 403, so no price was read and the line scores as absent (0). A free trial is referred to on the developer pages, but its terms and whether a card is needed were on the unread pages (0). A person signs in to the developer portal to create the app that holds the client id and secret (0). 0 + 0 + 0 + 0 = 0, the reading contentful, personio and coupa took on 7 October 2026 when their pricing pages were unreadable.\n- Zoo (35): No x402, MPP or L402 (0). The per-second rate ($0.0083) and plan allowances are public in the pricing JSON the site loads and on the blog, with the FAQ stating rounding and free GETs (20). The Free plan carries $10 of usage a month with no plan fee; whether sign-up asks for a card was not established, and pay-as-you-go needs a payment method (15 of 20). A person signs in with SSO in a browser and mints the token; service accounts come only after an organisation exists (0). 0 + 20 + 15 + 0 = 35.\n\n### Transparency \u0026 trust: Zoo +35\n\n- Autodesk Platform Services (34): Closed service. The APS terms of service are on www.autodesk.com and were not read, so terms clarity scores as absent (5 of 30). Privacy policy, data processing and retention statements are on the same host and unread (0 of 30). No deprecation policy or dated notices were readable; the docs pages that would carry them rendered empty (0 of 20). The status page names regional variants for the data APIs, which is the only location disclosure read; no subprocessor list was read (5 of 20). 5 + 0 + 0 + 5 = 10. These scores reflect what our reader could load, not a finding that the documents don't exist.\n- Zoo (69): The API is closed, with terms last updated 15 April 2026 under California law; the MCP server, CLI, SDKs and Design Studio are MIT (22 of 30). The terms licence inputs and outputs for model training with an opt-out only where the tier allows it, the pricing JSON states the behaviour per plan, and the security page says team and enterprise data is excluded by default; the privacy policy of 9 September 2026 is silent on training and gives no retention periods, and the enterprise page says Zoo trains on customer CAD data without naming the opt-out (15 of 30). No deprecation policy; billing changes were announced on the blog with dates (6 of 20). The trust centre names OpenAI, Cockroach Labs, Google Cloud and AWS as subprocessors, the security page names a US Regulated region, and the privacy policy says data may be processed anywhere in the world (14 of 20). 22 + 15 + 6 + 14 = 57.\n\n### Security \u0026 auth: Zoo +20\n\n- Autodesk Platform Services (47): OAuth 2.0 with client credentials and authorisation code flows and named scopes (data:read, data:write, data:create, bucket scopes, code:all) in the published Authentication v2 spec, plus Secure Service Accounts for server workloads (30). Read-only scopes exist; no confirmation step before destructive calls was found (12 of 20). The engines execute add-ins and scripts on uploaded design files, and no prompt-injection guidance for agents was found on the pages read (5 of 15). No audit log or per-call visibility was found on the pages read (0 of 15). Autodesk's trust and security pages are on www.autodesk.com, unread, and aps.autodesk.com/.well-known/security.txt answered 406, and no disclosure policy, bug bounty or certification was established from the pages read (0 of 20). 30 + 12 + 5 + 0 + 0 = 47.\n- Zoo (67): Bearer API tokens minted in the account, several per user, listed and deleted at /user/api-tokens, organisation service accounts on Team and Enterprise, and OAuth 2.0 apps with PKCE and a device grant; no scopes were found on tokens and no rotation guidance (22 of 30). No read-only token or MCP subset; the Team plan's admin console and auditing give oversight after the fact, and the MCP client's own file permissions govern writes to main.kcl (8 of 20). Zookeeper carries a web_search tool and the MCP server returns KCL samples and docs, with no prompt-injection guidance found (5 of 15). Organisation admins get an API activity log and /user/api-calls lists each call with its cost (12 of 15). security.txt with a GitHub advisory contact and a policy committing to a 72-hour reply and severity-based rewards, SOC 2 Type II on the trust centre, and two Trail of Bits reviews published in 2024 and 2026 (20 of 20). 22 + 8 + 5 + 12 + 20 = 67.\n\n### Agent ergonomics: Autodesk Platform Services +8\n\n- Autodesk Platform Services (52): Data Management lists support filter and page parameters and Model Derivative returns per-object properties, so responses can be narrowed on the APIs with specs; the Automation API's job outputs are files (15 of 25). Pagination and filtering on the data APIs (15 of 20). Error responses are typed in the specs with reasons and the OSS spec explains 429, though the Automation API's error catalogue was unread (12 of 20). No idempotency key or safe-retry guidance was found; WorkItems are submitted and polled (0 of 20). Official SDKs in TypeScript (npm) and .NET (NuGet), but a Design Automation job needs an AppBundle, an Activity and a WorkItem and the add-in compiled against the desktop product (10 of 15). 15 + 15 + 12 + 0 + 10 = 52.\n- Zoo (44): zoo-mcp lists 42 tools in one process with no toolset switch, read-only subset or dynamic loading, and their docstrings total about 30,000 characters (5 of 25). List endpoints take `limit`, `page_token` and `sort_by` (31 paginated operations), with no field selection or filtering (15 of 20). Errors are a generic object with a message and request_id, no error codes, and MCP tools return a string on failure (8 of 20). No idempotency keys, no readOnlyHint or destructiveHint in the tool source, and the websocket needs a ping every 5 seconds to stay open (4 of 20). Few required parameters, official SDKs in Python, TypeScript, Rust and Go, but one modeling session per MCP process and a websocket protocol an agent has to drive by hand (12 of 15). 5 + 15 + 8 + 4 + 12 = 44.\n\n### Schema \u0026 documentation: Zoo +6\n\n- Autodesk Platform Services (59): OpenAPI 3.0 specs for Authentication v2, Data Management, Model Derivative v2, OSS, Webhooks, Secure Service Accounts and Construction are public in the aps-sdk-openapi repository with every operation described; the Design Automation v3 API, the one the audit led with, has none there and its reference did not render (18 of 25). No llms.txt found and the docs are not served as Markdown (0). The specs state purpose per operation and the product pages explain the engines and workflow; the Automation API's own guide was unread (12 of 20). Typed schemas, enums and required fields in the specs read (11 of 15). The specs carry 429 and error responses with descriptions; examples in the guides were unread (8 of 15). APIs are versioned in the path (v2, v3), the specs carry versions 1.0 and 2.0 with dated commits, and the blog has a changelog topic, but no changelog page was readable (10 of 15). 18 + 0 + 12 + 11 + 8 + 10 = 59.\n- Zoo (65): OpenAPI 3.0.3 served at the root of api.zoo.dev, 174 paths and 226 operations each with a summary, and MCP tools whose inputs are typed Python signatures that the SDK turns into JSON Schema (25). No llms.txt (404) and no Markdown twin of the docs (0). The MCP docstrings average about 725 characters and say what each tool is for and when to use another, with snapshot at 3,500 characters; the OpenAPI summaries are one line and the websocket page lists one client message type (14 of 20). 583 schemas with 976 enum lists and required fields, and the file conversion path takes typed format parameters (12 of 15). Each docs endpoint page carries a request example, but errors are one generic object with request_id and message, and the websocket's server messages are not enumerated in the docs (9 of 15). The document reports version 0.1.0, there is no API changelog page, and changes are announced per repository release or on the blog, as the per-second billing change of 30 September 2025 was (5 of 15). 25 + 0 + 14 + 12 + 9 + 5 = 65.\n\n## Score by category\n\n| Category | Weight | Autodesk Platform Services | Zoo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 52 | 55 | Zoo +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 59 | 65 | Zoo +6 |\n| Agent ergonomics | 13% (16.2 this run) | 52 | 44 | Autodesk Platform Services +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 67 | Zoo +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 35 | Zoo +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 53 | 90 | Zoo +37 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 34 | 69 | Zoo +35 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **44.3 · E** | **58.7 · C** | |\n\n## Facts side by side\n\n| Fact | Autodesk Platform Services | Zoo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Autodesk | Zoo Corporation |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports |  | stdio, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Tools exposed | 0 | 42 |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | no |\n| MCP registry | not listed | `io.github.KittyCAD/zoo-mcp` |\n| Last release | 2026-09-16 | 2026-10-30 |\n| Terms last updated | no document linked | 2026-04-15 |\n| Privacy policy last updated | no document linked | 2026-09-09 |\n| Customer content may train models | not read yet | yes, with an opt-out |\n| Terms restrict automated access | not read yet | yes |\n| Terms restrict benchmarking | not read yet | yes |\n| Terms or service can change without notice | not read yet | not found in the text |\n| Arbitration or class-action waiver | not read yet | not found in the text |\n| Popularity | none | 11 stars |\n\n## Verdicts\n\n**Autodesk Platform Services.** OAuth 2.0 with scopes, public OpenAPI specs for six APIs and a status page with APS components make the platform callable by an agent that holds an app's credentials. The Automation API's own docs, quotas, pricing and terms sit on pages our reader could not load, so an agent must plan without published limits or rates.\n\n**Zoo.** A public OpenAPI document, SDKs in four languages, a 42-tool MCP server and a $10 monthly allowance let an agent generate KCL geometry and export STEP without a contract. No rate limits, retry guidance or scoped tokens are documented, the MCP server has no read-only subset, and the Free plan's data trains Zoo's models with no opt-out.\n\n## Before you call either\n\n### Autodesk Platform Services\n\n1. Expect to hold an APS app's client id and secret, mint a two-legged token with the scopes the call needs, and refresh it; a person creates the app in the developer portal\n2. For the Automation API, the AppBundle (compiled add-in or script), Activity and WorkItem must exist before a job runs; the engine runs the add-in, so geometry edits are written in the desktop product's API, not in a request body\n3. Back off exponentially on 429, as the OSS spec asks, since no numeric limits were readable; check health.autodesk.com for the Automation API component before retrying failures\n4. Do not assume a price per job or translation; have the owner read the pricing page, which our reader could not\n5. Use data:read and read-only scopes for inspection tasks and ask the owner before data:write or bucket:delete, since no confirmation step is documented\n\n### Zoo\n\n1. Send `{\"type\":\"ping\"}` every 5 seconds on the Zookeeper websocket and expect only KCL back; run the KCL through evaluate_kcl, the CLI or zoo-kcl to get STEP or STL\n2. Budget usage in seconds, since every billable call rounds up to the next second at $0.0083, and the monthly allowance resets at the account anniversary without rollover\n3. Use one modeling session per zoo-mcp process, start it with start_modeling_session and stop it when done; get_modeling_sessions recovers the id after a reconnect\n4. Put the token in ZOO_API_TOKEN, never in a URL; there are no read-only tokens, so use a service account on a Team plan when the owner wants separate credentials\n5. Paginate list endpoints with `limit`, `page_token` and `sort_by`; nothing documents a rate limit, so back off on any 429 or 5xx yourself\n\n## Questions\n\n### Which is better for AI agents, Autodesk Platform Services or Zoo?\n\nZoo scores 58.7 (C) on agent readiness against Autodesk Platform Services's 44.3 (E), and leads in 6 of 7 scored categories. Autodesk Platform Services leads on agent ergonomics.\n\n### Do Autodesk Platform Services and Zoo need an API key?\n\nAutodesk Platform Services uses an OAuth sign-in. Zoo takes an API key or an OAuth sign-in.\n\n### Can an agent call Autodesk Platform Services and Zoo without installing anything?\n\nNo hosted endpoint is listed for Autodesk Platform Services. Zoo runs on your own machine, with no hosted endpoint listed.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"autodesk-platform-services\", \"b\": \"zoo\"}`. From a terminal: `anchor compare autodesk-platform-services zoo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/autodesk-platform-services.json and https://www.anchorterminal.com/api/v1/tools/zoo.json\n\n## Other comparisons with Autodesk Platform Services or Zoo\n\n- [Adam vs Autodesk Platform Services](https://www.anchorterminal.com/compare/adam-cad-vs-autodesk-platform-services.md)\n- [Adam vs Zoo](https://www.anchorterminal.com/compare/adam-cad-vs-zoo.md)\n- [Autodesk Platform Services vs nTop](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-ntop.md)\n- [Autodesk Platform Services vs Onshape](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-onshape.md)\n- [nTop vs Zoo](https://www.anchorterminal.com/compare/ntop-vs-zoo.md)\n- [Autodesk Platform Services vs SimScale](https://www.anchorterminal.com/compare/autodesk-platform-services-vs-simscale.md)\n- [SimScale vs Zoo](https://www.anchorterminal.com/compare/simscale-vs-zoo.md)\n- [Onshape vs Zoo](https://www.anchorterminal.com/compare/onshape-vs-zoo.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-04",
    "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": "Autodesk Platform Services vs Zoo",
        "url": ""
      }
    ],
    "description": "Zoo scores 58.7 (C) to Autodesk Platform Services's 44.3 (E) for cad generate. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Autodesk Platform Services E 44.3",
      "Zoo C 58.7",
      "scores"
    ],
    "h1": "Autodesk Platform Services vs Zoo",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/autodesk-platform-services-vs-zoo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Autodesk Platform Services vs Zoo for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/autodesk-platform-services-vs-zoo"
  },
  "tokens": {
    "markdown": 4650,
    "slim": 3130
  },
  "version": 1
}
