Skip to main content
Go to documentation:
⌘U
Weaviate Database

Develop AI applications using Weaviate's APIs and tools

Deploy

Deploy, configure, and maintain Weaviate Database

Query Agent

Run agentic search over your Weaviate Cloud collections

Weaviate Cloud

Manage and scale Weaviate in the cloud

Engram

Persistent memory for LLM agents and applications

Additional resources

Integrations
Weaviate Academy

Need help?

Weaviate LogoAsk AI Assistant⌘K
Support
Community Forum
Contributor guide

GraphQL API (deprecated)

The GraphQL API is 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.

GraphQL API​

GraphQL is case-sensitive

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​