{
  "data": {
    "a": {
      "slug": "opensearch",
      "name": "OpenSearch",
      "vendor": "OpenSearch Software Foundation",
      "vendorUrl": "https://opensearch.org",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "OpenSearch is an open-source search and analytics engine with vector, text and hybrid search, run by its owner. Agents reach it through a REST API, official clients, an OpenSearch MCP Server and an MCP endpoint inside the cluster.",
      "url": "https://www.anchorterminal.com/tools/opensearch",
      "markdownUrl": "https://www.anchorterminal.com/tools/opensearch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opensearch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opensearch.json",
      "repo": "https://github.com/opensearch-project/OpenSearch",
      "license": "Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server",
      "transports": [
        "http",
        "stdio"
      ],
      "packages": [
        {
          "registry": "oci",
          "name": "opensearchproject/opensearch"
        },
        {
          "registry": "pypi",
          "name": "opensearch-mcp-server-py"
        },
        {
          "registry": "pypi",
          "name": "opensearch-py"
        }
      ],
      "auth": "mixed",
      "authNotes": "The owner sets access up on their own cluster. The Security plugin accepts basic auth, client certificates, JWT, OpenID Connect and SAML, and since 3.7 API keys sent as `Authorization: ApiKey \u003ctoken\u003e`. Only a security administrator can create, list or revoke a key. Each key names cluster permissions and index patterns with allowed actions, lasts 90 days at most, and cannot reach system indexes or the Security API. API keys are off until enabled in `config.yml`. The MCP server takes basic auth, AWS IAM, request headers or mTLS, or no authentication.",
      "pricing": "free",
      "pricingNotes": "Free software under Apache-2.0 with nothing to buy from the foundation, so an agent can start on a local Docker container with no account or contract. The owner pays for the machines. Three certified vendors sell long-term support, and opensearch.org lists no price for it (checked 2026-10-09).",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation source, the API specification or the MCP server source (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 9,
      "popularity": {
        "githubStars": 13800,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.opensearch.org/latest/vector-search/",
      "openapi": "https://api-spec.opensearch.org/opensearch-openapi.yaml",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "http-api",
        "mcp",
        "docker",
        "openapi",
        "api-key",
        "python",
        "javascript",
        "java",
        "go",
        "free"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68,
        "grade": "B",
        "agentReady": false,
        "rank": 233,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 60,
          "reliability": 77,
          "schema": 77,
          "security": 70,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -5,
        "negativeNotes": [
          "Until 0.12.0 (fix merged 3 August 2026, released 17 September 2026) the OpenSearch MCP Server attached its own configured credentials to any cluster URL a caller named in dynamic connection mode, which had shipped in 0.10.0 on 2 June 2026. The fix is described in the changelog and commit, and the repository lists no published advisory. Three points (https://github.com/opensearch-project/opensearch-mcp-server-py/blob/main/CHANGELOG.md).",
          "The Security plugin published four advisories on 30 April 2026, one moderate (GHSA-x83w-23jp-g6pw, document-level security not applied to documents linked by `has_child` or `has_parent`) and three low. Fixed and disclosed, so two points (https://github.com/opensearch-project/security/security/advisories)."
        ],
        "verdict": "OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation.",
        "bestFor": "A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.",
        "strengths": [
          "Apache-2.0 for the engine, the plugins, the clients and the MCP server, under a foundation hosted by The Linux Foundation",
          "An OpenAPI 3.1 description of the REST API is published as one file, with about 717 operations in 36 namespace files in the source repository",
          "API keys since 3.7 carry cluster and index permissions, expire within 90 days at most, and are revoked on every node at once",
          "Approximate k-NN with filters applied during the search on the Lucene and Faiss engines, plus hybrid and neural sparse search",
          "Releases follow a published schedule about every eight weeks. 3.8.0 was tagged on 31 July and 3.9.0 on 22 September 2026"
        ],
        "weaknesses": [
          "No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software",
          "No `llms.txt` on docs.opensearch.org (HTTP 404), and doc pages carry about 160 KB of navigation text each",
          "The MCP server allows writes by default (`OPENSEARCH_SETTINGS_ALLOW_WRITE` is `true`) and no tool sets `readOnlyHint` or `destructiveHint`",
          "Before version 0.12.0 the MCP server sent its own configured credentials to any cluster URL a caller named. No advisory was published",
          "The core repository shows about 2,500 open issues, and 21 of the 25 newest carried the `untriaged` label on 9 October 2026"
        ],
        "agentNotes": [
          "Create the index with `index.knn` set to true and a `knn_vector` field of the right dimension before indexing vectors",
          "Put the `filter` clause inside the `knn` query for filtering during the search. A filter outside it runs afterwards and can return fewer than `k` hits",
          "Ask a security administrator for an API key and send it as `Authorization: ApiKey \u003ctoken\u003e`. The token is shown once and lasts 90 days at most",
          "Use `size`, `_source` and `filter_path` to keep responses small, and `search_after` with a point in time for deep paging",
          "Set `OPENSEARCH_SETTINGS_ALLOW_WRITE=false` on the MCP server unless writes are needed. `GenericOpenSearchApiTool` can call any endpoint"
        ],
        "metrics": {
          "kind": "local",
          "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": 68
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 84,
          "payments": 60,
          "reliability": 77,
          "schema": 77,
          "security": 70,
          "transparency": 69
        },
        "provenanceScore": 45
      },
      "connect": {
        "install": "docker run -d -p 9200:9200 -p 9600:9600 -e \"discovery.type=single-node\" -e \"OPENSEARCH_INITIAL_ADMIN_PASSWORD=\u003ccustom-admin-password\u003e\" opensearchproject/opensearch:latest",
        "http": "curl https://localhost:9200 -ku admin:\"\u003ccustom-admin-password\u003e\"",
        "config": {
          "mcpServers": {
            "opensearch": {
              "args": [
                "opensearch-mcp-server-py"
              ],
              "command": "uvx"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/opensearch"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "OpenSearch Software Foundation, a project of The Linux Foundation",
        "domain": "opensearch.org",
        "domainRegistered": "2003-05-15",
        "endpointOnVendorDomain": false,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.opensearch.org/latest/version-history/",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The foundation page says the OpenSearch Software Foundation is a project of The Linux Foundation and is not involved in technical oversight of the open source project.",
          "No terms or privacy document is set. The site footer links The Linux Foundation's general terms and privacy policy, which are a parent body's website notices. The Apache-2.0 licence stands in for the software.",
          "The software runs on the owner's machines, so no endpoint is on the vendor's domain and there is no status page.",
          "https://opensearch.org/.well-known/security.txt answered 404 on 9 October 2026. `SECURITY.md` in the core repository asks for reports by email to security@opensearch.org.",
          "RDAP for opensearch.org gives a registration date of 2003-05-15 and a transfer on 13 November 2024.",
          "The first release date is the 1.0 general availability date in the maintenance table on the releases page."
        ],
        "score": 45
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opensearch.json",
      "live": {
        "slug": "opensearch",
        "versions": [
          {
            "registry": "github",
            "name": "opensearch-project/OpenSearch",
            "version": "3.9.0",
            "released": "2026-09-29",
            "seenAt": "2026-10-09T17:11:12.76716689Z"
          },
          {
            "registry": "pypi",
            "name": "opensearch-mcp-server-py",
            "version": "0.12.0",
            "released": "2026-09-17",
            "seenAt": "2026-10-09T17:11:10.759906653Z"
          },
          {
            "registry": "pypi",
            "name": "opensearch-py",
            "version": "3.2.0",
            "released": "2026-04-27",
            "seenAt": "2026-10-09T17:11:10.949518654Z"
          }
        ],
        "githubStars": 13832,
        "pypiWeekly": 75145,
        "pages": [
          {
            "url": "https://docs.opensearch.org/latest/version-history/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:37:58.648544982Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9aa4527e824d"
          }
        ],
        "updatedAt": "2026-10-09T18:37:58.648544982Z"
      }
    },
    "answer": "Vespa scores 70 (BB) on agent readiness against OpenSearch's 68 (B), and leads in 4 of 7 scored categories. OpenSearch leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "vespa",
      "name": "Vespa",
      "vendor": "Vespa.ai AS",
      "vendorUrl": "https://vespa.ai",
      "kind": "http-api",
      "category": "vector-search",
      "summary": "Vespa is an open-source search engine from Vespa.ai AS for vector, text and hybrid retrieval with ranking, run self-hosted or on Vespa Cloud. Agents reach it through HTTP query and document APIs, the Vespa CLI and a Python client.",
      "url": "https://www.anchorterminal.com/tools/vespa",
      "markdownUrl": "https://www.anchorterminal.com/tools/vespa.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/vespa.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/vespa.json",
      "repo": "https://github.com/vespa-engine/vespa",
      "license": "Apache-2.0 for the engine, the Vespa CLI and pyvespa. Vespa Cloud is a paid hosted service",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "pyvespa"
        }
      ],
      "auth": "mixed",
      "authNotes": "Vespa Cloud data-plane requests use mutual TLS with a client certificate placed in the application package, or a bearer token on a separate token endpoint. Each client is limited to `read`, `write` or both. Tokens are created in the console, have versions for rotation, expire (30 days by default) and can be revoked. The control plane uses a browser login through Auth0 (`vespa auth login`) or an application key pair for CI. Access is self-serve after a browser sign-up. A self-hosted Vespa has no authentication until the operator configures mTLS.",
      "pricing": "usage",
      "pricingNotes": "Vespa Cloud charges by the hour for allocated resources. Startup is $0.05 a vCPU-hour, $0.005 a GB-hour of memory and $0.0002 a GB-hour of disk, on dev zones with community support and no SLA. Basic starts at $0.10 a vCPU-hour, Commercial at $0.145 and Enterprise at $0.18 with a $20,000 monthly minimum. Unit prices fall with volume by up to 50 per cent. The trial has $300 of credits, needs no card and stops the application when credits run out. Self-hosting the Apache-2.0 engine is free (https://cloud.vespa.ai/price-calculator-content, checked 2026-10-09).",
      "priceSummary": "$0.05 / vCPU-hr",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the pricing page or the price calculator (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 7100,
        "npmWeekly": null,
        "pypiWeekly": 180440,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.vespa.ai/",
      "llmsTxt": "https://docs.vespa.ai/llms.txt",
      "capabilities": [
        "db.vector",
        "db.hybrid",
        "db.fulltext",
        "db.filters"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "hosted",
        "usage-based",
        "free-trial",
        "no-card",
        "cli",
        "llms-txt",
        "python",
        "java",
        "status-page",
        "sla",
        "soc2",
        "enterprise"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70,
        "grade": "BB",
        "agentReady": true,
        "rank": 165,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 91,
          "payments": 40,
          "reliability": 80,
          "schema": 58,
          "security": 75,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -2,
        "negativeNotes": [
          "GHSA-v86h-xr9p-pgm5, moderate severity (CVSS 6.8), published 4 September 2026. Two local file inclusion flaws in the deployment API let an authorised deployer read files readable by the config server process, in versions up to 8.746.22. Patched in 8.748.3 and disclosed in public, so a small deduction (https://github.com/vespa-engine/vespa/security/advisories/GHSA-v86h-xr9p-pgm5)."
        ],
        "verdict": "Vespa Cloud publishes hourly unit prices, a 99.5% uptime agreement for paying customers and a trial with $300 of credits and no card. Every call needs an application package deployed first, no OpenAPI file was found in the reviewed documentation, and Vespa.ai says it has no official public MCP server.",
        "bestFor": "Teams that need hybrid retrieval with custom ranking at scale and can maintain a schema and application package.",
        "strengths": [
          "Data-plane clients use mTLS certificates or tokens, each limited to `read`, `write` or both, with token versions, expiry and revocation",
          "Unit prices are public, from $0.05 a vCPU-hour on Startup, and the trial gives $300 of credits with no card",
          "Every docs page has a Markdown twin, with `llms.txt` and `llms-full.txt` on docs.vespa.ai",
          "16 release tags between 12 July and 29 September 2026, and pyvespa 1.2.8 on 1 October 2026",
          "Sub-processor list updated 12 August 2026 with locations, and logs are kept for at most 30 days in the application's region"
        ],
        "weaknesses": [
          "No OpenAPI file was found in the docs index. The APIs are described in reference pages only",
          "Vespa.ai states it has no official public MCP server. An MCP endpoint must be added to the user's own application",
          "No call works until a schema and `services.xml` are deployed as an application package",
          "The Service Agreement named in the DPA is not on the product terms page, which links only the privacy policy, DPA and SLA",
          "Advisory GHSA-v86h-xr9p-pgm5 (moderate, 4 September 2026) let authorised deployers read config server files before 8.748.3"
        ],
        "agentNotes": [
          "Deploy an application package with a schema before feeding or querying. Use `vespa deploy` and wait for the endpoint to report ready",
          "Send a token as `Authorization: Bearer` only to the endpoint marked Token. The mTLS endpoint needs the client certificate and key",
          "Set `hits`, `offset` and `presentation.summary` on queries. `hits` is capped at 400 by default and the query timeout defaults to 0.5s",
          "On 429 from `/document/v1` reduce the feed rate and back off. On 507 stop feeding, because the cluster is out of memory or disk",
          "Use the `condition` parameter for test-and-set writes and expect 412 when it fails or the document is missing"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 91,
          "payments": 40,
          "reliability": 80,
          "schema": 58,
          "security": 75,
          "transparency": 86
        },
        "provenanceScore": 84
      },
      "connect": {
        "install": "brew install vespa-cli",
        "http": "curl -H \"Authorization: Bearer $TOKEN\" $ENDPOINT"
      },
      "letme": {
        "capability": "https://letme.dev/db.vector",
        "tool": "https://letme.dev/vespa"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Startup plan, one vCPU for an hour",
          "unit": "vcpu-hour",
          "usd": 0.05,
          "note": "Memory $0.005 and disk $0.0002 a GB-hour are charged as well"
        },
        {
          "item": "Commercial plan, one vCPU for an hour (initial price)",
          "unit": "vcpu-hour",
          "usd": 0.145,
          "note": "Memory $0.0145 and disk $0.0005 a GB-hour are charged as well. Prices fall with volume"
        }
      ],
      "provenance": {
        "legalEntity": "Vespa.ai AS",
        "domain": "vespa.ai",
        "domainRegistered": "2017-12-16",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://vespa.ai/privacy-policy/",
        "statusPage": "https://status.vespa.ai",
        "changelog": "https://github.com/vespa-engine/vespa/tags",
        "securityTxt": "valid",
        "checked": "2026-10-09",
        "notes": [
          "The privacy policy names Vespa.ai AS, Prinsens gate 49, 7011 Trondheim, Norway, as controller for vespa.ai and console.vespa-cloud.com.",
          "No terms document is set. The product terms page links only the privacy policy, the DPA and the SLA, and the Service Agreement the DPA refers to was not found on the site.",
          "The DPA, last updated 18 October 2023, names Vespa.AI Norway AS as processor, a different name from the privacy policy's.",
          "Application endpoints answer on vespa-app.cloud and the console and control plane on vespa-cloud.com, both second domains of the vendor's.",
          "security.txt at vespa.ai expires on 31 December 2026 and points to a vulnerability disclosure programme on Intigriti.",
          "RDAP for vespa.ai gives a registration date of 2017-12-16."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/vespa.json",
      "live": {
        "slug": "vespa",
        "vendorStatus": {
          "page": "https://status.vespa.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:23.97066219Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "vespa-engine/vespa",
            "version": "v8.763.13",
            "released": "2026-10-05",
            "seenAt": "2026-10-09T17:27:18.515115733Z"
          },
          {
            "registry": "pypi",
            "name": "pyvespa",
            "version": "1.2.8",
            "released": "2026-10-01",
            "seenAt": "2026-10-09T17:27:18.319678267Z"
          }
        ],
        "githubStars": 7123,
        "pypiWeekly": 182010,
        "securityTxt": {
          "url": "https://vespa.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T11:00:00.000Z",
          "checkedAt": "2026-10-09T15:40:23.346956539Z"
        },
        "llmsTxt": {
          "url": "https://docs.vespa.ai/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:58.474948058Z"
        },
        "pages": [
          {
            "url": "https://cloud.vespa.ai/price-calculator-content",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:55.644428567Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ce920cc40204"
          },
          {
            "url": "https://vespa.ai/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:47:12.355239311Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "264881430bba"
          }
        ],
        "updatedAt": "2026-10-10T00:51:23.97066219Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenSearch Software Foundation",
        "b": "Vespa.ai AS",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server",
        "b": "Apache-2.0 for the engine, the Vespa CLI and pyvespa. Vespa Cloud is a paid hosted service",
        "name": "Licence"
      },
      {
        "a": "9",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-22",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "14k stars",
        "b": "7.1k stars, 180k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Vespa scores 70 (BB) on agent readiness against OpenSearch's 68 (B), and leads in 4 of 7 scored categories. OpenSearch leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, OpenSearch or Vespa?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do OpenSearch and Vespa need an API key?"
      },
      {
        "answer": "OpenSearch runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Vespa.",
        "question": "Can an agent call OpenSearch and Vespa without installing anything?"
      },
      {
        "answer": "Yes. OpenSearch is open source (Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server). Vespa is open source (Apache-2.0 for the engine, the Vespa CLI and pyvespa. Vespa Cloud is a paid hosted service).",
        "question": "Are OpenSearch and Vespa open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 77 against 58",
          "Payments \u0026 pricing, 60 against 40"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.",
        "slug": "opensearch",
        "watchFor": "No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 75 against 70",
          "Maintenance \u0026 community, 91 against 84",
          "Transparency \u0026 trust, 85 against 57"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Free to start without a card"
        ],
        "goodFor": "Teams that need hybrid retrieval with custom ranking at scale and can maintain a schema and application package.",
        "slug": "vespa",
        "watchFor": "No OpenAPI file was found in the docs index. The APIs are described in reference pages only"
      }
    ],
    "job": {
      "capability": "db.vector",
      "name": "Vector search"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-opensearch.json",
        "title": "Chroma API + MCP vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/chroma-vs-vespa.json",
        "title": "Chroma API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/chroma-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch.json",
        "title": "Elasticsearch vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elasticsearch-vs-vespa.json",
        "title": "Elasticsearch vs Vespa",
        "url": "https://www.anchorterminal.com/compare/elasticsearch-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/epsilla-vs-opensearch.json",
        "title": "Epsilla Vector Database vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/epsilla-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/epsilla-vs-vespa.json",
        "title": "Epsilla Vector Database vs Vespa",
        "url": "https://www.anchorterminal.com/compare/epsilla-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lancedb-vs-opensearch.json",
        "title": "LanceDB vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/lancedb-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/lancedb-vs-vespa.json",
        "title": "LanceDB vs Vespa",
        "url": "https://www.anchorterminal.com/compare/lancedb-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.json",
        "title": "Meilisearch vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meilisearch-vs-vespa.json",
        "title": "Meilisearch vs Vespa",
        "url": "https://www.anchorterminal.com/compare/meilisearch-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch.json",
        "title": "Milvus and Zilliz Cloud API + MCP vs OpenSearch",
        "url": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-vespa.json",
        "title": "Milvus and Zilliz Cloud API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/milvus-zilliz-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-pinecone.json",
        "title": "OpenSearch vs Pinecone API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-pinecone"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-qdrant.json",
        "title": "OpenSearch vs Qdrant API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-qdrant"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-typesense.json",
        "title": "OpenSearch vs Typesense API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-typesense"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector.json",
        "title": "OpenSearch vs Upstash Vector API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opensearch-vs-weaviate.json",
        "title": "OpenSearch vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/opensearch-vs-weaviate"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pinecone-vs-vespa.json",
        "title": "Pinecone API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/pinecone-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/qdrant-vs-vespa.json",
        "title": "Qdrant API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/qdrant-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/typesense-vs-vespa.json",
        "title": "Typesense API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/typesense-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/upstash-vector-vs-vespa.json",
        "title": "Upstash Vector API + MCP vs Vespa",
        "url": "https://www.anchorterminal.com/compare/upstash-vector-vs-vespa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/vespa-vs-weaviate.json",
        "title": "Vespa vs Weaviate API + MCP",
        "url": "https://www.anchorterminal.com/compare/vespa-vs-weaviate"
      }
    ],
    "scores": [
      {
        "by": 3,
        "edge": "vespa",
        "key": "reliability",
        "name": "Reliability",
        "opensearch": 77,
        "vespa": 80,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "opensearch",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "opensearch": 77,
        "vespa": 58,
        "weight": 13
      },
      {
        "by": 0,
        "edge": "",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "opensearch": 80,
        "vespa": 80,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "vespa",
        "key": "security",
        "name": "Security \u0026 auth",
        "opensearch": 70,
        "vespa": 75,
        "weight": 14
      },
      {
        "by": 20,
        "edge": "opensearch",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "opensearch": 60,
        "vespa": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "vespa",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "opensearch": 84,
        "vespa": 91,
        "weight": 7
      },
      {
        "by": 28,
        "edge": "vespa",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "opensearch": 57,
        "vespa": 85,
        "weight": 7
      }
    ],
    "summary": "Vespa scores 70 (BB) on agent readiness against OpenSearch's 68 (B), and leads in 4 of 7 scored categories. OpenSearch leads on schema \u0026 documentation and payments \u0026 pricing. Both do vector search.",
    "verdicts": {
      "opensearch": "OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation.",
      "vespa": "Vespa Cloud publishes hourly unit prices, a 99.5% uptime agreement for paying customers and a trial with $300 of credits and no card. Every call needs an application package deployed first, no OpenAPI file was found in the reviewed documentation, and Vespa.ai says it has no official public MCP server."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/opensearch-vs-vespa",
    "json": "https://www.anchorterminal.com/compare/opensearch-vs-vespa.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/opensearch-vs-vespa.md",
    "slim": "https://www.anchorterminal.com/compare/opensearch-vs-vespa.min.md"
  },
  "markdown": "Vespa scores 70 (BB) on agent readiness against OpenSearch's 68 (B), and leads in 4 of 7 scored categories. OpenSearch leads on schema \u0026 documentation and payments \u0026 pricing. Both do vector search.\n\n- OpenSearch: grade B, 68/100, rank #233 of 950. Markdown https://www.anchorterminal.com/tools/opensearch.md · JSON https://www.anchorterminal.com/api/v1/tools/opensearch.json\n- Vespa: grade BB, 70/100, rank #165 of 950. Markdown https://www.anchorterminal.com/tools/vespa.md · JSON https://www.anchorterminal.com/api/v1/tools/vespa.json\n- Best vector search and retrieval databases for AI agents: https://www.anchorterminal.com/best/vector-search/index.md\n- All 85 retrieval comparisons: https://www.anchorterminal.com/compare/vector-search/index.md\n\n## Which one, for what\n\n### OpenSearch (B)\n\nGood for: A team that already runs OpenSearch for logs or text search and wants vectors and hybrid search in the same cluster, with fine-grained access control.\n\nAhead on:\n- Schema \u0026 documentation, 77 against 58\n- Payments \u0026 pricing, 60 against 40\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: No hosted service from the foundation. The owner installs, secures and runs the cluster, and no status page or SLA exists for the software\n\n### Vespa (BB)\n\nGood for: Teams that need hybrid retrieval with custom ranking at scale and can maintain a schema and application package.\n\nAhead on:\n- Security \u0026 auth, 75 against 70\n- Maintenance \u0026 community, 91 against 84\n- Transparency \u0026 trust, 85 against 57\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Free to start without a card\n\nWatch for: No OpenAPI file was found in the docs index. The APIs are described in reference pages only\n\n\n## Score by category\n\n| Category | Weight | OpenSearch | Vespa | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 77 | 80 | Vespa +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 58 | OpenSearch +19 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 80 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 70 | 75 | Vespa +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | OpenSearch +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 91 | Vespa +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 85 | Vespa +28 |\n| Negative events | ≤15 | -5 | -2 | |\n| **Total** | | **68 · B** | **70 · BB** | |\n\n## Facts side by side\n\n| Fact | OpenSearch | Vespa |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenSearch Software Foundation | Vespa.ai AS |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Free | Pay per use |\n| x402 | no | no |\n| Licence | Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server | Apache-2.0 for the engine, the Vespa CLI and pyvespa. Vespa Cloud is a paid hosted service |\n| Tools exposed | 9 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-22 | 2026-10-01 |\n| Terms last updated | no document linked | no document linked |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models |  |  |\n| Terms restrict automated access |  |  |\n| Terms restrict benchmarking |  |  |\n| Terms or service can change without notice |  |  |\n| Arbitration or class-action waiver |  |  |\n| Popularity | 14k stars | 7.1k stars, 180k PyPI/wk |\n\n## Verdicts\n\n**OpenSearch.** OpenSearch 3.9.0 runs vector, text and hybrid search under Apache-2.0, with an OpenAPI 3.1 description of its REST API and API keys limited by permission and index pattern. The owner runs the cluster, no status page or SLA comes with the software, and no tool in the MCP server sets a read-only or destructive annotation.\n\n**Vespa.** Vespa Cloud publishes hourly unit prices, a 99.5% uptime agreement for paying customers and a trial with $300 of credits and no card. Every call needs an application package deployed first, no OpenAPI file was found in the reviewed documentation, and Vespa.ai says it has no official public MCP server.\n\n## Before you call either\n\n### OpenSearch\n\n1. Create the index with `index.knn` set to true and a `knn_vector` field of the right dimension before indexing vectors\n2. Put the `filter` clause inside the `knn` query for filtering during the search. A filter outside it runs afterwards and can return fewer than `k` hits\n3. Ask a security administrator for an API key and send it as `Authorization: ApiKey \u003ctoken\u003e`. The token is shown once and lasts 90 days at most\n4. Use `size`, `_source` and `filter_path` to keep responses small, and `search_after` with a point in time for deep paging\n5. Set `OPENSEARCH_SETTINGS_ALLOW_WRITE=false` on the MCP server unless writes are needed. `GenericOpenSearchApiTool` can call any endpoint\n\n### Vespa\n\n1. Deploy an application package with a schema before feeding or querying. Use `vespa deploy` and wait for the endpoint to report ready\n2. Send a token as `Authorization: Bearer` only to the endpoint marked Token. The mTLS endpoint needs the client certificate and key\n3. Set `hits`, `offset` and `presentation.summary` on queries. `hits` is capped at 400 by default and the query timeout defaults to 0.5s\n4. On 429 from `/document/v1` reduce the feed rate and back off. On 507 stop feeding, because the cluster is out of memory or disk\n5. Use the `condition` parameter for test-and-set writes and expect 412 when it fails or the document is missing\n\n## Questions\n\n### Which is better for AI agents, OpenSearch or Vespa?\n\nVespa scores 70 (BB) on agent readiness against OpenSearch's 68 (B), and leads in 4 of 7 scored categories. OpenSearch leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do OpenSearch and Vespa need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call OpenSearch and Vespa without installing anything?\n\nOpenSearch runs on your own machine, with no hosted endpoint listed. No hosted endpoint is listed for Vespa.\n\n### Are OpenSearch and Vespa open source?\n\nYes. OpenSearch is open source (Apache-2.0 for the engine, the plugins, the clients, the API specification and the MCP server). Vespa is open source (Apache-2.0 for the engine, the Vespa CLI and pyvespa. Vespa Cloud is a paid hosted service).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/opensearch-vs-vespa.json, and with the fewest tokens: https://www.anchorterminal.com/compare/opensearch-vs-vespa.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"opensearch\", \"b\": \"vespa\"}`. From a terminal: `anchor compare opensearch vespa`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/opensearch.json and https://www.anchorterminal.com/api/v1/tools/vespa.json\n\n## Other comparisons with OpenSearch or Vespa\n\n- [Chroma API + MCP vs OpenSearch](https://www.anchorterminal.com/compare/chroma-vs-opensearch.md)\n- [Chroma API + MCP vs Vespa](https://www.anchorterminal.com/compare/chroma-vs-vespa.md)\n- [Elasticsearch vs OpenSearch](https://www.anchorterminal.com/compare/elasticsearch-vs-opensearch.md)\n- [Elasticsearch vs Vespa](https://www.anchorterminal.com/compare/elasticsearch-vs-vespa.md)\n- [Epsilla Vector Database vs OpenSearch](https://www.anchorterminal.com/compare/epsilla-vs-opensearch.md)\n- [Epsilla Vector Database vs Vespa](https://www.anchorterminal.com/compare/epsilla-vs-vespa.md)\n- [LanceDB vs OpenSearch](https://www.anchorterminal.com/compare/lancedb-vs-opensearch.md)\n- [LanceDB vs Vespa](https://www.anchorterminal.com/compare/lancedb-vs-vespa.md)\n- [Meilisearch vs OpenSearch](https://www.anchorterminal.com/compare/meilisearch-vs-opensearch.md)\n- [Meilisearch vs Vespa](https://www.anchorterminal.com/compare/meilisearch-vs-vespa.md)\n- [Milvus and Zilliz Cloud API + MCP vs OpenSearch](https://www.anchorterminal.com/compare/milvus-zilliz-vs-opensearch.md)\n- [Milvus and Zilliz Cloud API + MCP vs Vespa](https://www.anchorterminal.com/compare/milvus-zilliz-vs-vespa.md)\n- [OpenSearch vs Pinecone API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-pinecone.md)\n- [OpenSearch vs Qdrant API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-qdrant.md)\n- [OpenSearch vs Typesense API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-typesense.md)\n- [OpenSearch vs Upstash Vector API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-upstash-vector.md)\n- [OpenSearch vs Weaviate API + MCP](https://www.anchorterminal.com/compare/opensearch-vs-weaviate.md)\n- [Pinecone API + MCP vs Vespa](https://www.anchorterminal.com/compare/pinecone-vs-vespa.md)\n- [Qdrant API + MCP vs Vespa](https://www.anchorterminal.com/compare/qdrant-vs-vespa.md)\n- [Typesense API + MCP vs Vespa](https://www.anchorterminal.com/compare/typesense-vs-vespa.md)\n- [Upstash Vector API + MCP vs Vespa](https://www.anchorterminal.com/compare/upstash-vector-vs-vespa.md)\n- [Vespa vs Weaviate API + MCP](https://www.anchorterminal.com/compare/vespa-vs-weaviate.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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": "OpenSearch vs Vespa",
        "url": ""
      }
    ],
    "description": "Vespa scores 70 (BB) to OpenSearch's 68 (B) for vector search. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "OpenSearch B 68",
      "Vespa BB 70",
      "scores"
    ],
    "h1": "OpenSearch vs Vespa",
    "image": "https://www.anchorterminal.com/assets/og/compare-opensearch-vs-vespa.png",
    "path": "/compare/opensearch-vs-vespa",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenSearch vs Vespa for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/opensearch-vs-vespa"
  },
  "tokens": {
    "markdown": 2500,
    "slim": 630
  },
  "version": 1
}
