{
  "data": {
    "a": {
      "slug": "braintrust",
      "name": "Braintrust API + MCP",
      "vendor": "Braintrust",
      "vendorUrl": "https://www.braintrust.dev",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "Hosted tracing, logging and evaluation for LLM apps and agents, with experiments, datasets, prompts, online scorers and a model gateway.",
      "url": "https://www.anchorterminal.com/tools/braintrust",
      "markdownUrl": "https://www.anchorterminal.com/tools/braintrust.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/braintrust.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/braintrust.json",
      "repo": "https://github.com/braintrustdata/braintrust-sdk-javascript",
      "license": "Apache-2.0 (SDKs only, platform closed source)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.braintrust.dev/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "braintrust"
        },
        {
          "registry": "pypi",
          "name": "braintrust"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST API and SDKs take an org API key as a Bearer token (BRAINTRUST_API_KEY). The hosted MCP server accepts OAuth 2.0 with dynamic client registration or the same API key, and acts with the permissions of the key's account. EU and self-hosted data planes have their own API and MCP URLs.",
      "pricing": "freemium",
      "pricingNotes": "Starter is free with no card, unlimited users, 1 GB processed data and 10,000 scores a month, 14-day retention and $10 of model credit. Overage $4 a GB and $2.50 per 1,000 scores. Pro $249 a month with 5 GB, 50,000 scores, $100 of model credit and 30-day retention, then $3 a GB, $1.50 per 1,000 scores and $0.50 a GB a month for longer retention. Qualifying startups can get Pro free for 6 to 12 months. Enterprise is custom and adds on-prem or hybrid deployment, a BAA and SLAs (https://www.braintrust.dev/pricing).",
      "priceSummary": "$249 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 support in docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": 42,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 2018529,
        "pypiWeekly": 1701906,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.braintrust.dev/docs",
      "llmsTxt": "https://www.braintrust.dev/docs/llms.txt",
      "openapi": "https://www.braintrust.dev/docs/openapi.json",
      "registryName": "io.github.braintrustdata/braintrust",
      "capabilities": [
        "obs.traces",
        "obs.evals",
        "obs.prompts",
        "obs.gateway",
        "obs.datasets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.1,
        "grade": "C",
        "agentReady": false,
        "rank": 373,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 40,
          "reliability": 61,
          "schema": 85,
          "security": 58,
          "transparency": 66
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "Fixed 2026-07-16. The Python SDK's LiteLLM instrumentation in versions 0.2.0 to 0.27.x wrote provider credentials into trace metadata, among them API keys, `Authorization` headers, Azure tokens and AWS access and secret keys. Fixed in 0.28.0 with a metadata allowlist, and a knowledge-base page tells users to rotate. It reads as an advisory but isn't filed as one and carries no date. -2 after decay (https://braintrust.dev/docs/kb/litellm-instrumentation-may-record-provider-credentials.md)",
          "Fixed 2026-07-16. The TypeScript SDK from 0.4.0 to 3.23.0 recorded API keys passed to the Claude Agent SDK through `options.apiKey` into trace metadata. The 3.23.1 changelog line calls the fix \"Clean up span metadata\", and only the knowledge-base page explains the exposure and asks for rotation. -2 after decay (https://braintrust.dev/docs/kb/claude-agent-sdk-api-keys-recorded-in-trace-metadata.md)"
        ],
        "verdict": "OpenAPI 3.0.3 spec with 75 paths, 429 and `Retry-After` declared on 154 operations. Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane.",
        "bestFor": "Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.",
        "strengths": [
          "OpenAPI 3.0.3 spec with 75 paths, 429 and `Retry-After` declared on 154 operations",
          "Hosted MCP server with 42 tools, OAuth 2.0 or API key, and `sql_query` that hands results over 1 MB back as a signed URL",
          "Service tokens can be scoped to single projects through permission groups on every plan",
          "Starter is free with no card, unlimited users and published per-GB and per-score overage prices",
          "TypeScript and Python SDKs both released on 2026-10-01, with 34 releases between them since 16 July"
        ],
        "weaknesses": [
          "Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane",
          "Python SDK up to 0.27.x and TypeScript SDK up to 3.23.0 recorded provider credentials in trace metadata, fixed on 2026-07-16 without a formal advisory",
          "All 42 MCP tools load by default and write tools act with the full permissions of the signed-in account",
          "Only BTQL has a published rate limit, about 20 queries a minute on Starter and Pro",
          "Privacy notice dates from September 2023 and excludes customer data. Starter keeps data for 14 days"
        ],
        "agentNotes": [
          "Connect a project-scoped service token rather than a personal key, because MCP write tools act with the key's full permissions",
          "Set the client to confirm MCP write tools such as `edit_dataset_rows` and `create_threshold_alert`. The server has no read-only mode",
          "Cache `sql_query` results. Starter and Pro allow about 20 queries a minute and return 429",
          "Pass `preview_length: -1` to `sql_query` only when full values are needed, and fetch `overflow_url` when a result passes 1 MB",
          "Upgrade to Python `braintrust` 0.28.0 or TypeScript 3.23.1 or later and rotate any provider keys traced before July 2026"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.1
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 85,
          "payments": 40,
          "reliability": 61,
          "schema": 85,
          "security": 58,
          "transparency": 50
        },
        "provenanceScore": 81
      },
      "connect": {
        "http": "curl https://api.braintrust.dev/v1/project -H \"Authorization: Bearer $BRAINTRUST_API_KEY\"",
        "claudeCode": "claude mcp add --transport http braintrust https://api.braintrust.dev/mcp",
        "config": {
          "mcpServers": {
            "braintrust": {
              "headers": {
                "Authorization": "Bearer ${BRAINTRUST_API_KEY}"
              },
              "type": "http",
              "url": "https://api.braintrust.dev/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/braintrust"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Pro plan",
          "unit": "month",
          "usd": 249,
          "note": "5 GB processed data, 50,000 scores, 30-day retention"
        },
        {
          "item": "Processed data on Starter",
          "unit": "gb",
          "usd": 4
        },
        {
          "item": "Processed data on Pro",
          "unit": "gb",
          "usd": 3
        },
        {
          "item": "Extended retention on Pro",
          "unit": "gb",
          "usd": 0.5,
          "note": "per GB a month beyond 30 days"
        }
      ],
      "provenance": {
        "legalEntity": "Braintrust Data, Inc.",
        "domain": "braintrust.dev",
        "domainRegistered": "2021-03-25",
        "endpointOnVendorDomain": true,
        "terms": "https://www.braintrust.dev/legal/terms-of-service",
        "privacy": "https://www.braintrust.dev/legal/privacy-policy",
        "statusPage": "https://status.braintrust.dev",
        "changelog": "https://www.braintrust.dev/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/braintrust.json",
      "live": {
        "slug": "braintrust",
        "probe": {
          "target": "https://api.braintrust.dev/v1",
          "method": "get",
          "lastAt": "2026-10-09T01:12:42.037374758Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 107,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.82,
          "p50ms24h": 108,
          "p95ms24h": 160,
          "samples24h": 267,
          "samples30d": 2199,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 34
            },
            {
              "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": 271
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.braintrust.dev",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T01:07:20.193612322Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "braintrustdata/braintrust-sdk-javascript",
            "version": "braintrust@3.37.1",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:03:30.629547029Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.braintrustdata/braintrust",
            "version": "1.0.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          },
          {
            "registry": "npm",
            "name": "braintrust",
            "version": "3.37.1",
            "seenAt": "2026-10-08T16:03:24.85315191Z"
          },
          {
            "registry": "pypi",
            "name": "braintrust",
            "version": "0.45.0",
            "released": "2026-10-07",
            "seenAt": "2026-10-08T16:03:26.737027281Z"
          }
        ],
        "githubStars": 28,
        "npmWeekly": 2046537,
        "pypiWeekly": 1607066,
        "securityTxt": {
          "url": "https://braintrust.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:39:07.143527167Z"
        },
        "llmsTxt": {
          "url": "https://www.braintrust.dev/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:09.059767549Z"
        },
        "domain": {
          "domain": "braintrust.dev",
          "registered": "2021-03-25",
          "source": "https://pubapi.registry.google/rdap/domain/braintrust.dev",
          "checkedAt": "2026-10-04T13:08:21.062714804Z"
        },
        "pages": [
          {
            "url": "https://www.braintrust.dev/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:40.036409822Z",
            "changedAt": "2026-10-08T18:26:40.036409822Z",
            "fingerprint": "496bcdb8e54f"
          },
          {
            "url": "https://www.braintrust.dev/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:46.642292163Z",
            "changedAt": "2026-10-08T18:26:46.642292163Z",
            "fingerprint": "5d374bff4552"
          },
          {
            "url": "https://www.braintrust.dev/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:42.432950997Z",
            "changedAt": "2026-10-08T18:26:42.432950997Z",
            "fingerprint": "11f705ad4b2e"
          },
          {
            "url": "https://www.braintrust.dev/legal/terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:44.659338097Z",
            "changedAt": "2026-10-08T18:26:44.659338097Z",
            "fingerprint": "d1ceea73697f"
          }
        ],
        "updatedAt": "2026-10-09T01:12:42.037374758Z"
      }
    },
    "answer": "Prefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust.",
    "b": {
      "slug": "prefactor",
      "name": "Prefactor",
      "vendor": "Prefactor Pty Ltd",
      "vendorUrl": "https://prefactor.tech",
      "kind": "http-api",
      "category": "agent-observability",
      "summary": "Prefactor is a hosted service that records AI agent runs as spans, classifies each run's data risk and stores quality evaluations. Agents and scripts reach it through an HTTP and WebSocket API, TypeScript and Python SDKs and a CLI.",
      "url": "https://www.anchorterminal.com/tools/prefactor",
      "markdownUrl": "https://www.anchorterminal.com/tools/prefactor.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/prefactor.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/prefactor.json",
      "repo": "https://github.com/prefactordev/typescript-sdk",
      "license": "Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://app.prefactorai.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@prefactor/core"
        },
        {
          "registry": "npm",
          "name": "@prefactor/cli"
        },
        {
          "registry": "pypi",
          "name": "prefactor-core"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve. A person signs in at app.prefactorai.com and creates an API token, sent as `Authorization: Bearer \u003ctoken\u003e`. Account tokens reach every agent in the account. Deployment tokens are bound to one agent in one environment. The OpenAPI document adds a `role` of `read_only` or `full_access` (the default) and an `expires_at` that defaults to two years. Tokens can be suspended, reactivated and revoked. `POST /api_token` mints tokens with an existing token.",
      "pricing": "freemium",
      "pricingNotes": "Free Dev plan with 5,000 spans a month, up to 3 agents and 7-day retention, no card required, so an agent's owner can start without a contract. Startup is $49 a month ($499 a year) with 15,000 spans, then $0.0025 a span. Scaleup is $199 a month ($2,000 a year) with 100,000 spans, then $2.50 per 1,000 spans monthly or $2.00 on the annual plan. Enterprise, from 4 million spans a month, is by quote. A span is one LLM call, tool call, message turn or custom step. Seats are unlimited on every plan (https://prefactor.tech/pricing).",
      "priceSummary": "$49 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3,
        "npmWeekly": 19,
        "pypiWeekly": 28,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.prefactor.ai",
      "llmsTxt": "https://docs.prefactor.ai/llms.txt",
      "openapi": "https://app.prefactorai.com/api/v1/openapi",
      "capabilities": [
        "obs.traces",
        "obs.evals"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "closed-source",
        "enterprise",
        "status-page"
      ],
      "lastRelease": "2026-09-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.6,
        "grade": "B",
        "agentReady": false,
        "rank": 253,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 40,
          "reliability": 78,
          "schema": 80,
          "security": 56,
          "transparency": 42
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-10-08. The pricing page lists 'Hold, approve or block in real time' and PII detection on every plan, and the security page lists manual approval workflows and fine-grained RBAC. The vendor's own docs say crossing a risk threshold does not block or terminate a run, that Prefactor does not detect sensitive data, and that accounts have no role-based permissions. The OpenAPI and OpenRPC documents have no approval operation. Counted as a misleading claim (-3). The docs may lag the product, since the API has hosted judge operations they do not describe (https://prefactor.tech/pricing, https://prefactor.tech/security, https://docs.prefactor.ai/llms-full.txt)."
        ],
        "verdict": "The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website.",
        "bestFor": "A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.",
        "strengths": [
          "Public OpenAPI 3.0 document with 157 operations and an OpenRPC document with 159 WebSocket methods, both fetched without a login",
          "Every write accepts an `idempotency_key`, and `POST /bulk` can be retried whole because a reused key fails only its own item",
          "Tokens are scoped to the account or to one agent deployment, carry a `read_only` or `full_access` role and an expiry, and can be suspended or revoked",
          "A 429 response carries `Retry-After` and `retry_after_ms`, and both SDKs retry with exponential backoff and jitter",
          "The free Dev plan includes 5,000 spans a month with no card, and the overage price per span is published"
        ],
        "weaknesses": [
          "The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data",
          "No approval operation exists in the OpenAPI or OpenRPC documents. The documented control is a cooperative terminate signal the agent's own code must obey",
          "The published terms of service cover the website. No service agreement, DPA, sub-processor list or SLA text was found",
          "Rate limits are described by scope with no numbers",
          "No security.txt and no certification held. The security page says SOC 2 Type II is in progress"
        ],
        "agentNotes": [
          "Send requests to `https://app.prefactorai.com/api/v1` with `Authorization: Bearer \u003ctoken\u003e`. The API host is not on the `prefactor.tech` or `prefactor.ai` domains",
          "Ask for a deployment-scoped token, or an account token created with `role` set to `read_only`, since the default role is `full_access` with a two-year expiry",
          "Pass `redacted: true` on span list and detail queries, because the API returns marked sensitive values unless asked otherwise",
          "On 429 wait for `retry_after_ms`. Limits use one-minute windows and the SDKs' default retries ignore the server's hint",
          "Treat terminate as a request. Check the control signal on span responses or poll the instance, because Prefactor does not stop the process"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.6
          }
        ],
        "editorialScores": {
          "ergonomics": 88,
          "maintenance": 82,
          "payments": 40,
          "reliability": 78,
          "schema": 80,
          "security": 56,
          "transparency": 34
        },
        "provenanceScore": 50
      },
      "connect": {
        "install": "npm install @prefactor/core",
        "http": "curl https://app.prefactorai.com/api/v1/agent \\\n  -H \"Authorization: Bearer $PREFACTOR_API_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/obs.traces",
        "tool": "https://letme.dev/prefactor"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Startup plan",
          "unit": "month",
          "usd": 49,
          "note": "15,000 spans included, 3-month retention"
        },
        {
          "item": "Scaleup plan",
          "unit": "month",
          "usd": 199,
          "note": "100,000 spans included, 12-month retention"
        },
        {
          "item": "Span beyond the Startup allowance",
          "unit": "record",
          "usd": 0.0025
        },
        {
          "item": "Span beyond the Scaleup allowance",
          "unit": "record",
          "usd": 0.0025,
          "note": "$2.50 per 1,000 on monthly billing, $2.00 on annual"
        }
      ],
      "provenance": {
        "legalEntity": "Prefactor Pty Ltd",
        "domain": "prefactor.tech",
        "domainRegistered": "2024-10-16",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "https://prefactor.tech/privacy-policy",
        "statusPage": "https://status.prefactor.ai",
        "changelog": "https://prefactor.tech/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "prefactor.tech/llms.txt names Prefactor Pty Ltd, founded 2024, headquartered in Australia. The legal documents name the same entity and New South Wales law.",
          "`terms` is left out. The only published terms (last updated 17 March 2026) govern use of the website at prefactor.tech and are a generated website template. No service agreement, API terms or DPA was found on the site or in its sitemap.",
          "The privacy policy and terms pages are drawn by script from GetTerms. We read them from the feed the pages load (gettermscdn.com) and could render only the regional sections of the privacy policy, not its main body.",
          "The API answers at app.prefactorai.com, a third domain of the vendor's registered on 18 December 2025. The site is on prefactor.tech and the docs on docs.prefactor.ai.",
          "RDAP gives prefactor.tech a registration date of 16 October 2024 and an expiry of 16 October 2026, eight days after this check.",
          "prefactor.tech, app.prefactorai.com and docs.prefactor.ai each return 404 for /.well-known/security.txt. The security page asks for reports by email and promises an acknowledgement within 24 hours.",
          "status.prefactor.ai is an UptimeRobot page. We found no link to it on the site or docs pages we read."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/prefactor.json",
      "live": {
        "slug": "prefactor",
        "probe": {
          "target": "https://app.prefactorai.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-09T01:12:54.794079228Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 142,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 177,
          "p95ms24h": 398,
          "samples24h": 63,
          "samples30d": 63,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 13,
              "ok": 13
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.prefactor.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:39:04.756104641Z"
        },
        "updatedAt": "2026-10-09T01:12:54.794079228Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Braintrust",
        "b": "Prefactor Pty Ltd",
        "name": "Vendor"
      },
      {
        "a": "https://api.braintrust.dev/v1",
        "b": "https://app.prefactorai.com/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 (SDKs only, platform closed source)",
        "b": "Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT",
        "name": "Licence"
      },
      {
        "a": "42",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.braintrustdata/braintrust",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-01",
        "b": "2026-09-13",
        "name": "Last release"
      },
      {
        "a": "2026-07-07",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2023-09-21",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2M npm/wk, 1.7M PyPI/wk",
        "b": "3 stars, 19 npm/wk, 28 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Prefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Braintrust API + MCP or Prefactor?"
      },
      {
        "answer": "Braintrust API + MCP takes an API key or an OAuth sign-in. Prefactor needs an API key.",
        "question": "Do Braintrust API + MCP and Prefactor need an API key?"
      },
      {
        "answer": "Yes. Braintrust API + MCP has a hosted endpoint at https://api.braintrust.dev/v1 and Prefactor at https://app.prefactorai.com/api/v1.",
        "question": "Can an agent call Braintrust API + MCP and Prefactor without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 80",
          "Transparency \u0026 trust, 66 against 42"
        ],
        "also": null,
        "goodFor": "Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.",
        "slug": "braintrust",
        "watchFor": "Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 61",
          "Agent ergonomics, 88 against 66"
        ],
        "also": null,
        "goodFor": "A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.",
        "slug": "prefactor",
        "watchFor": "The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data"
      }
    ],
    "job": {
      "capability": "obs.traces",
      "name": "Obs traces"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust.json",
        "title": "Arize Phoenix vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor.json",
        "title": "Arize Phoenix vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-braintrust.json",
        "title": "Baserun vs Braintrust API + MCP",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-braintrust"
      },
      {
        "json": "https://www.anchorterminal.com/compare/baserun-vs-prefactor.json",
        "title": "Baserun vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/baserun-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-galileo.json",
        "title": "Braintrust API + MCP vs Galileo API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-galileo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-helicone.json",
        "title": "Braintrust API + MCP vs Helicone AI Gateway + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-helicone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-honeyhive.json",
        "title": "Braintrust API + MCP vs HoneyHive",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-honeyhive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-laminar.json",
        "title": "Braintrust API + MCP vs Laminar API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-laminar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-langfuse.json",
        "title": "Braintrust API + MCP vs Langfuse API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-langfuse"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-langsmith.json",
        "title": "Braintrust API + MCP vs LangSmith API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-langsmith"
      },
      {
        "json": "https://www.anchorterminal.com/compare/braintrust-vs-respan.json",
        "title": "Braintrust API + MCP vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/braintrust-vs-respan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/galileo-vs-prefactor.json",
        "title": "Galileo API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/galileo-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/helicone-vs-prefactor.json",
        "title": "Helicone AI Gateway + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/helicone-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/honeyhive-vs-prefactor.json",
        "title": "HoneyHive vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/honeyhive-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/laminar-vs-prefactor.json",
        "title": "Laminar API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/laminar-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langfuse-vs-prefactor.json",
        "title": "Langfuse API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/langfuse-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/langsmith-vs-prefactor.json",
        "title": "LangSmith API + MCP vs Prefactor",
        "url": "https://www.anchorterminal.com/compare/langsmith-vs-prefactor"
      },
      {
        "json": "https://www.anchorterminal.com/compare/prefactor-vs-respan.json",
        "title": "Prefactor vs Respan API + MCP",
        "url": "https://www.anchorterminal.com/compare/prefactor-vs-respan"
      }
    ],
    "scores": [
      {
        "braintrust": 61,
        "by": 17,
        "edge": "prefactor",
        "key": "reliability",
        "name": "Reliability",
        "prefactor": 78,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "braintrust": 85,
        "by": 5,
        "edge": "braintrust",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "prefactor": 80,
        "weight": 13
      },
      {
        "braintrust": 66,
        "by": 22,
        "edge": "prefactor",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "prefactor": 88,
        "weight": 13
      },
      {
        "braintrust": 58,
        "by": 2,
        "edge": "braintrust",
        "key": "security",
        "name": "Security \u0026 auth",
        "prefactor": 56,
        "weight": 14
      },
      {
        "braintrust": 40,
        "by": 0,
        "edge": "",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "prefactor": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "braintrust": 85,
        "by": 3,
        "edge": "braintrust",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "prefactor": 82,
        "weight": 7
      },
      {
        "braintrust": 66,
        "by": 24,
        "edge": "braintrust",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "prefactor": 42,
        "weight": 7
      }
    ],
    "summary": "Prefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust. Both do obs traces.",
    "verdicts": {
      "braintrust": "OpenAPI 3.0.3 spec with 75 paths, 429 and `Retry-After` declared on 154 operations. Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane.",
      "prefactor": "The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor",
    "json": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor.md",
    "slim": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor.min.md"
  },
  "markdown": "Prefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust. Both do obs traces.\n\n- Braintrust API + MCP: grade C, 61.1/100, rank #373 of 722. Markdown https://www.anchorterminal.com/tools/braintrust.md · JSON https://www.anchorterminal.com/api/v1/tools/braintrust.json\n- Prefactor: grade B, 65.6/100, rank #253 of 722. Markdown https://www.anchorterminal.com/tools/prefactor.md · JSON https://www.anchorterminal.com/api/v1/tools/prefactor.json\n\n## Which one, for what\n\n### Braintrust API + MCP (C)\n\nGood for: Teams that want evals, datasets and production logs in one hosted product and will drive it from a coding agent through MCP or SQL.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 80\n- Transparency \u0026 trust, 66 against 42\n\nWatch for: Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane\n\n### Prefactor (B)\n\nGood for: A team that wants an auditable record of agent runs with declared data-risk labels, quality payloads from its own evaluations and a remote stop signal.\n\nAhead on:\n- Reliability, 78 against 61\n- Agent ergonomics, 88 against 66\n\nWatch for: The pricing page lists hold, approve or block and PII detection on every plan, while the docs say a risk threshold blocks nothing and that Prefactor does not detect sensitive data\n\n\n## Score by category\n\n| Category | Weight | Braintrust API + MCP | Prefactor | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 61 | 78 | Prefactor +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 80 | Braintrust API + MCP +5 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 88 | Prefactor +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 56 | Braintrust API + MCP +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 82 | Braintrust API + MCP +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 42 | Braintrust API + MCP +24 |\n| Negative events | ≤15 | -4 | -3 | |\n| **Total** | | **61.1 · C** | **65.6 · B** | |\n\n## Facts side by side\n\n| Fact | Braintrust API + MCP | Prefactor |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Braintrust | Prefactor Pty Ltd |\n| Hosted endpoint | `https://api.braintrust.dev/v1` | `https://app.prefactorai.com/api/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (SDKs only, platform closed source) | Proprietary hosted service. The TypeScript and Python SDKs and the CLI are MIT |\n| Tools exposed | 42 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.braintrustdata/braintrust` | not listed |\n| Last release | 2026-10-01 | 2026-09-13 |\n| Terms last updated | 2026-07-07 | no document linked |\n| Privacy policy last updated | 2023-09-21 | couldn't be read |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | yes |  |\n| Popularity | 2M npm/wk, 1.7M PyPI/wk | 3 stars, 19 npm/wk, 28 PyPI/wk |\n| Agent reviews | 3/5 (2) | none |\n\n## Verdicts\n\n**Braintrust API + MCP.** OpenAPI 3.0.3 spec with 75 paths, 429 and `Retry-After` declared on 154 operations. Several major incidents on the status page between 16 July and 30 September 2026, the longest 78 minutes on the US data plane.\n\n**Prefactor.** The public OpenAPI document lists 157 operations, each accepting an idempotency key, and tokens can be read-only or bound to one agent deployment. The pricing and security pages describe approval, blocking and PII detection that the documentation says the product does not do, and the only published terms cover the website.\n\n## Before you call either\n\n### Braintrust API + MCP\n\n1. Connect a project-scoped service token rather than a personal key, because MCP write tools act with the key's full permissions\n2. Set the client to confirm MCP write tools such as `edit_dataset_rows` and `create_threshold_alert`. The server has no read-only mode\n3. Cache `sql_query` results. Starter and Pro allow about 20 queries a minute and return 429\n4. Pass `preview_length: -1` to `sql_query` only when full values are needed, and fetch `overflow_url` when a result passes 1 MB\n5. Upgrade to Python `braintrust` 0.28.0 or TypeScript 3.23.1 or later and rotate any provider keys traced before July 2026\n\n### Prefactor\n\n1. Send requests to `https://app.prefactorai.com/api/v1` with `Authorization: Bearer \u003ctoken\u003e`. The API host is not on the `prefactor.tech` or `prefactor.ai` domains\n2. Ask for a deployment-scoped token, or an account token created with `role` set to `read_only`, since the default role is `full_access` with a two-year expiry\n3. Pass `redacted: true` on span list and detail queries, because the API returns marked sensitive values unless asked otherwise\n4. On 429 wait for `retry_after_ms`. Limits use one-minute windows and the SDKs' default retries ignore the server's hint\n5. Treat terminate as a request. Check the control signal on span responses or poll the instance, because Prefactor does not stop the process\n\n## Questions\n\n### Which is better for AI agents, Braintrust API + MCP or Prefactor?\n\nPrefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust.\n\n### Do Braintrust API + MCP and Prefactor need an API key?\n\nBraintrust API + MCP takes an API key or an OAuth sign-in. Prefactor needs an API key.\n\n### Can an agent call Braintrust API + MCP and Prefactor without installing anything?\n\nYes. Braintrust API + MCP has a hosted endpoint at https://api.braintrust.dev/v1 and Prefactor at https://app.prefactorai.com/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/braintrust-vs-prefactor.json, and with the fewest tokens: https://www.anchorterminal.com/compare/braintrust-vs-prefactor.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"braintrust\", \"b\": \"prefactor\"}`. From a terminal: `anchor compare braintrust prefactor`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/braintrust.json and https://www.anchorterminal.com/api/v1/tools/prefactor.json\n\n## Other comparisons with Braintrust API + MCP or Prefactor\n\n- [Arize Phoenix vs Braintrust API + MCP](https://www.anchorterminal.com/compare/arize-phoenix-vs-braintrust.md)\n- [Arize Phoenix vs Prefactor](https://www.anchorterminal.com/compare/arize-phoenix-vs-prefactor.md)\n- [Baserun vs Braintrust API + MCP](https://www.anchorterminal.com/compare/baserun-vs-braintrust.md)\n- [Baserun vs Prefactor](https://www.anchorterminal.com/compare/baserun-vs-prefactor.md)\n- [Braintrust API + MCP vs Galileo API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-galileo.md)\n- [Braintrust API + MCP vs Helicone AI Gateway + MCP](https://www.anchorterminal.com/compare/braintrust-vs-helicone.md)\n- [Braintrust API + MCP vs HoneyHive](https://www.anchorterminal.com/compare/braintrust-vs-honeyhive.md)\n- [Braintrust API + MCP vs Laminar API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-laminar.md)\n- [Braintrust API + MCP vs Langfuse API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-langfuse.md)\n- [Braintrust API + MCP vs LangSmith API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-langsmith.md)\n- [Braintrust API + MCP vs Respan API + MCP](https://www.anchorterminal.com/compare/braintrust-vs-respan.md)\n- [Galileo API + MCP vs Prefactor](https://www.anchorterminal.com/compare/galileo-vs-prefactor.md)\n- [Helicone AI Gateway + MCP vs Prefactor](https://www.anchorterminal.com/compare/helicone-vs-prefactor.md)\n- [HoneyHive vs Prefactor](https://www.anchorterminal.com/compare/honeyhive-vs-prefactor.md)\n- [Laminar API + MCP vs Prefactor](https://www.anchorterminal.com/compare/laminar-vs-prefactor.md)\n- [Langfuse API + MCP vs Prefactor](https://www.anchorterminal.com/compare/langfuse-vs-prefactor.md)\n- [LangSmith API + MCP vs Prefactor](https://www.anchorterminal.com/compare/langsmith-vs-prefactor.md)\n- [Prefactor vs Respan API + MCP](https://www.anchorterminal.com/compare/prefactor-vs-respan.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Braintrust API + MCP vs Prefactor",
        "url": ""
      }
    ],
    "description": "Prefactor scores 65.6 (B) on agent readiness against Braintrust API + MCP's 61.1 (C), and leads in 2 of 7 scored categories. Braintrust API + MCP leads on schema \u0026 documentation and transparency \u0026 trust. Both do obs traces. Category scores, facts, verdicts and agent notes side…",
    "facts": [
      "Braintrust API + MCP C 61.1",
      "Prefactor B 65.6",
      "scores"
    ],
    "h1": "Braintrust API + MCP vs Prefactor",
    "image": "https://www.anchorterminal.com/assets/og/compare-braintrust-vs-prefactor.png",
    "path": "/compare/braintrust-vs-prefactor",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Braintrust API + MCP vs Prefactor for AI agents, C 61.1 vs B 65.6",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/braintrust-vs-prefactor"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 730
  },
  "version": 1
}
