Storing data in Webflow Cloud
Webflow Cloud provides built-in, flexible storage for modern web apps
Webflow Cloud lets you build and deploy modern web applications with built-in support for persistent data storage. Whether you need to store structured records or simple key-value pairs, Webflow Cloud provides flexible options to match your app’s needs.
Storage for Webflow Cloud is in private beta
Visit webflow.com/cloud to request access.
Storage options in Webflow Cloud
Webflow Cloud offers three storage solutions, each designed for different types of data and use cases:
Best for structured, relational data - like user profiles, product catalogs, or transactional records.
Best for unstructured, dynamic data - like user preferences, session data, or temporary settings.
Best for large files and unstructured data - like images, videos, or PDF files.
How storage works in Webflow Cloud
Webflow Cloud connects your app to storage resources using bindings.
A binding is a configuration that grants your app secure, direct access to a specific resource managed by Webflow Cloud. When you declare a binding in your wrangler.json
file and deploy your app, Webflow Cloud automatically creates a resource and grants your app permission to use it.
With bindings, you can:
- Access resources automatically. No secret keys required.
- Reference bindings as environment variables in your app.
- Maintain isolated environments. Each binding is specific to a project’s environment.
- Manage bindings and resources in the Webflow Cloud dashboard.
Bindings combine permission and API access in a single step, so you can read and write data securely and efficiently. Learn more about bindings in the Cloudflare Workers documentation.
Declaring a binding
Declaring a binding is the first step to using storage in your app.
Add a binding to your wrangler.json
file
In your wrangler.json
file, add a binding for the storage resource you want to use.
SQLite
Key Value Store
Object Storage
To use SQLite, add a d1_databases
array to your wrangler.json
file. Declare a binding for each database you want to use inside the array.
Note: Webflow Cloud will assign a unique ID for each resource on deployment.
See the SQLite overview for full details.
For a complete walkthrough of using storage in your app, see the guides on adding a SQLite database to your app and adding a Key Value Store to your app.
Accessing storage in your app
Once you’ve declared a binding, access the resource in your app using the binding name as an environment variable. Environment variables for bindings are automatically available in your app and don’t need to be manually created in your environment dashboard.
Next.js
Astro
In a Next.js app, you must access the environment variables for your bindings through the Workers runtime using the getCloudflareContext()
function.
How to use getCloudflareContext()
- Always call
getCloudflareContext()
inside a function (not at the top level of your module) to ensure the binding is available in the correct context. - For static routes or use outside of request handlers (such as Incremental Static Regeneration or Static Site Generation), use
getCloudflareContext({ async: true })
and await the result. This ensures the environment bindings are correctly resolved in all environments.
Managing storage in the Webflow Cloud dashboard
Once you’ve deployed your app with the declared bindings, you can view and manage your storage resources directly in the Webflow Cloud dashboard:
Open the environment dashboard
In Webflow Cloud, select your project and the environment where your app is deployed with storage bindings configured in wrangler.json
.
Next steps
- Learn more about SQLite
- Learn more about Key Value Store
- See how to configure storage bindings in your project
- Learn about storage limits in Webflow Cloud
FAQs
Where can I see my storage resources?
Once you’ve deployed your app with the declared bindings, you can view and manage your storage resources directly in the Webflow Cloud dashboard.

I declared a binding in my wrangler.json
file, but I can't see it in the dashboard.
I declared a binding in my wrangler.json
file, but I can't see it in the dashboard.
If you have an existing Webflow Cloud project, you may need to edit your project settings to enable storage
- Go to your project in the Webflow Cloud dashboard.
- Select the ”…” icon in the “Actions” section of the menu.
- Select “Edit” (you don’t actually need to edit anything).
- Press “Save Changes” to update your project.

Save the changes and redeploy your app. Once your app deploys you should see the bindings tab in the dashboard.
I can't access the API methods on my binding
After declaring a binding, make sure you’ve generated the types for your binding. After running the following command, you’ll be able to access the API methods on your binding.
This creates/updates a worker-configuration.d.ts
file with your binding types.