I want to fetch data, I don’t want to change anything, but my query is too complex to fit nicely in a URL.
Before QUERY, developers usually had two choices:
GET — correct for reading data, but complex filters can turn into long, messy URLs.
POST — lets you send structured data in the body, but its semantics don’t clearly express a safe, read-only query.
Now there’s another option:
QUERY /search
{
"filters": {...}
}
QUERY is designed for safe, idempotent requests with a body useful for complex search, analytics, GraphQL, vector search and RAG.
Standardized as RFC 10008 in June 2026. Interesting to see how quickly frameworks and APIs start adopting it.