Database / Weaviate Vector database Interview questions
What is the difference between Weaviate's REST/GraphQL API and its gRPC API?
Weaviate has historically exposed a GraphQL API (alongside a REST API for schema and object management) as its primary query interface, letting clients construct rich, nested queries combining vector search, filtering, and cross-reference traversal in a single request. More recently, Weaviate has adopted gRPC as the default, higher-performance transport for many client-library operations.
| REST / GraphQL | gRPC |
| Widely compatible, human-readable, easy to inspect and debug. | Binary protocol; generally lower latency and overhead per request. |
| GraphQL's flexible nested query structure fits well for complex, multi-part queries. | Structured, strongly-typed calls generated from a schema definition. |
| Still fully supported and used directly or via some client libraries. | Used as the default transport by current official client libraries for core operations. |
For most application developers using an official Weaviate client library, this distinction is largely handled transparently by the client itself, which chooses the appropriate transport internally; the practical relevance mostly surfaces when debugging at the wire-protocol level, building a custom client, or reasoning about why a given operation's latency profile looks the way it does.
More Related questions...