Store and query structured content
Sanity's Content Lake stores your content as structured data, making it queryable, referenceable, and ready for delivery to any channel.


GROQ introduction
GROQ (Graph-Relational Object Queries) is Sanity's powerful query language designed to help you describe exactly what information your application needs.
GraphQL
How to deploy and query GraphQL API for your Sanity projects
Perspectives for Content Lake
Perform the same query but with different results based on the published or draft status of a document.
Libraries and clients
First and third-party libraries for interacting with your data in Content Lake
Documents
Sanity stores your data, and some system data, in JSON documents.
Drafts and versions
How drafts work, and how you disable them
IDs and Paths
How document IDs work, and what you can do with them
Datasets
Managing multiple datasets within a project
Assets
Sanity provides extensible UI for managing assets, and an API for dealing with storage, resizing and deletion.
Migrating your schema and content
How to migrate schema and content within a Sanity project
Connected Content
Structured content is connected. It's what enables reusing and repurposing the same chunk of content in different contexts, and it's how you enable your content to be treated as data. The Content Lake has some unique capabilities that make connected, structured content not only possible but pleasant to work with both programmatically through APIs and in the studio. This article aims to unpack how to use and think about references. While it has some technical language and concepts, you should be able to tag along, even if you aren't super familiar with JavaScript, JSON, or GROQ, our primary query language.