GraphQL API (deprecated)
Weaviate Cloud switches off the GraphQL API on May 1, 2027. Clusters that have not used GraphQL in the last 30 days have it switched off from December 1, 2026. New Weaviate Cloud clusters are already created with GraphQL disabled. Self-hosted Weaviate keeps GraphQL until at least May 1, 2027. The first minor release after that date disables it by default, and you can switch it back on. It is removed in a later release.
Use a client library, the web client or the REST Search API instead. See Migrating from the GraphQL API.
API
This section is the reference for Weaviate's GraphQL query API. To search your data, use a Weaviate client library. The current Python, TypeScript, Go, Java, and C# clients query over the gRPC API.
To move existing GraphQL queries to a client library, the web client or the REST Search API, see Migrating from the GraphQL API.
All references
All references have their individual subpages. Click on one of the references below for more information.
- Object-level queries
- Aggregate
- Search operators
- Conditional filters
- Additional operators
- Additional properties
- Explore
GraphQL API
GraphQL is case-sensitive (reference), so make sure to use the correct casing when writing your queries.
Query structure
You can POST a GraphQL query to Weaviate as follows:
curl http://localhost/v1/graphql -X POST -H 'Content-type: application/json' -d '{GraphQL query}'
A GraphQL JSON object is defined as:
{
"query": "{ # GRAPHQL QUERY }"
}
GraphQL queries follow a defined structure. Queries are structured as follows:
{
<Function> {
<Collection> {
<property>
_<underscore-property>
}
}
}
Limitations
GraphQL integer data currently only supports int32, and does not support int64. This means that currently integer data fields in Weaviate with integer values larger than int32, will not be returned using GraphQL queries. We are working on solving this issue. As current workaround is to use a string instead.
Consistency level
GraphQL (Get) queries are run with a tunable consistency level.
gRPC API
Starting with Weaviate v1.19.0, a gRPC interface is being progressively added to Weaviate.
gRPC is a high-performance, open-source universal RPC framework that is contract-based and can be used in any environment. It is based on HTTP/2 and Protocol Buffers, and is therefore very fast and efficient.
Read more about the gRPC API here.
Questions and feedback
Have a question or feedback? Here's how to reach us.
