Docs_
Appwrite helps you build secure and scalable apps, faster. Leverage Appwrite's powerful APIs to stop fighting technologies and start delivering value. New to the model? Read how backend as a service (BaaS) compares to other platforms, then dive in here.
All quick start guidesExplore capabilities
All the core functionalities you need with a scalable and flexible API. Explore Appwrite's product offerings.
Auth
Sign in users with multiple OAuth providers.
Databases
Store your application and user data.
Functions
Extend and customize your server's functionality.
Sites
Deploy websites on the internet at scale.
Messaging
Send and schedule email, SMS, and push notifications.
Storage
Store images, videos, documents, and files.
Avatars
Generate icons, screenshots, and QR codes for your apps.
Realtime
Respond to server events in realtime.
Build faster with AI
Wire up MCP so models can reach your Appwrite project and docs, install agent skills for SDK-accurate codegen, and use quickstart prompts to scaffold features, whether you work in an IDE or a vibe coding platform.
IDEs & coding agents
Editors and agents where you ship code locally or in the terminal.
Vibe coding platforms
Build from prompts in the browser; connect docs or full MCP where supported.
Explore the AI tooling documentation Configure the MCP server
Explore ways to integrate
Choose how you integrate with Appwrite. Explore references for the Appwrite SDK, REST API, GraphQL API, or Realtime API.
Show me some code
If you learn best from code examples, follow one of our tutorials.

React tutorial
Learn Appwrite Auth, Databases, and more with React.

Next.js tutorial
Learn Appwrite Auth, Databases, and more with Next.js.

Flutter tutorial
Learn Appwrite Auth, Databases, and more with Flutter.

SvelteKit tutorial
Learn Appwrite Auth, Databases, and more with SvelteKit.

Vue tutorial
Learn Appwrite Auth, Databases, and more with Vue.

Android tutorial
Learn Appwrite Auth, Databases, and more with Android.
Migrate to Appwrite
Own your data with automatic data migrations.
Common questions
Quick answers when you are new to Appwrite or deciding how to navigate these docs.
- What is Appwrite?
Appwrite is an open-source backend platform: Auth, Databases, Storage, Functions, Realtime, Messaging, and hosting for sites. You can build against Appwrite Cloud or run the same stack self-hosted.
- What is Appwrite used for, and what does Appwrite do?
You use it as the server side for your app: user sign-in, persisted data, file uploads, scheduled or event-driven logic, notifications, and live updates - exposed over APIs and SDKs so your client or server code stays thin. Browse products for what each service covers.
- How do I use Appwrite from React, Next.js, or another framework?
Appwrite is framework-agnostic: you call it from the browser or server with an SDK or plain HTTP. Pick a quick start for your stack (for example React or Next.js), or follow a full tutorial if you prefer a guided build.
- Where should I start in the documentation?
Use Quick starts to connect a project in minutes. Use Tutorials for end-to-end apps. When you need exact request shapes and types, open the API references for your SDK and runtime.
- Should I use Appwrite Cloud or self-host?
Appwrite Cloud is the convenient option: we run the stack, ship upgrades, and you pay a predictable subscription. Self-hosting suits strict regulation, full data residency, air-gapped networks, or when you prefer to pay with engineering time instead of a managed service fee - but you operate the cluster yourself: you plan version upgrades and data migrations between releases (including backups and rollback), instead of Appwrite doing that for you. The product surface is aligned either way; see self-hosting and compare pricing with your ops cost.
- Where can I browse the API reference?
Open API references for REST payloads, GraphQL, and Realtime, organized by platform (web, mobile, server). The SDKs page lists official client and server libraries.
- Where can I get help or report a bug?
Ask the community on Discord, check support for product help options, and use GitHub issues for reproducible bugs in the open-source server.