GraphQL API deprecation: timeline and how to migrate

As of October 26, 2026, Weaviate’s GraphQL API is deprecated. Nothing breaks today. Here is what changes, when, and how to move off it.

Timeline

Weaviate Cloud

  • December 1, 2026: GraphQL is switched off on clusters that have not been using it.
  • May 1, 2027: end of life. GraphQL is switched off on all remaining clusters, and GraphQL requests return an error.
  • New clusters have been created without GraphQL since September 30, 2026.

Self-hosted Weaviate

  • Every Weaviate version released before May 1, 2027 keeps a working GraphQL API.
  • The first minor release after that date disables it by default. You can switch it back on with DISABLE_GRAPHQL=false while you finish migrating.
  • GraphQL is removed in a later release. There is no date for that yet.

Why we are deprecating it

Our gRPC-based client libraries give you higher efficiency and throughput, errors that are easy to spot, and typed results that fit the client libraries. They also work cleanly with role-based access control, while GraphQL needs read access to every collection on a cluster. Putting everything into one fast API lets us improve the parts you actually use, faster. The full reasoning is in the blog post.

Are you affected?

Only if you send queries to Weaviate over GraphQL. The usual places to check:

  • direct requests to /v1/graphql
  • raw GraphQL helpers in a client, such as graphql_raw_query() in Python
  • older clients: the Python v3 API, TypeScript v2, Java v5 or earlier, Go v5
  • queries from browser code
  • BI or no-code tools that send GraphQL

If every search in your application goes through a current Python, TypeScript, Java or C# client, you are most likely not affected.

How to move, in three steps

  1. Find your GraphQL calls: The migration guide shows where GraphQL hides and which client versions still use it.
  2. Switch to the latest client library: The latest Python, TypeScript, Java and C# clients use gRPC, and Go v6 is a release candidate. In the browser, use the @weaviate/web client. For setups that cannot run a client, there is the REST Search API (preview). If something you use in GraphQL is not covered yet, tell us. We are committed to adding it.
  3. Test with GraphQL turned off: Self-hosted: set DISABLE_GRAPHQL=true on a test instance. Weaviate Cloud: contact support and we switch GraphQL off on a cluster of your choice so you can test.

:point_right: Read the migration guide

We will help

If you get stuck, if your use case is not covered by the client libraries or the REST Search API yet, or if you do not know where your GraphQL requests come from, tell us early and we will work with you to close the gap.

2 Likes