DEV Community

Alex Spinov
Alex Spinov

Posted on

Appwrite Has a Free API: The Open-Source Firebase With No Vendor Lock-In

Firebase is great until Google changes pricing, drops a product, or you need to migrate. Appwrite gives you the same features without the lock-in.

What Is Appwrite?

Appwrite is an open-source backend-as-a-service. Authentication, databases, storage, functions, messaging — all self-hostable, all with SDKs for every platform.

Quick Start

docker run -it --rm \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw \
  --entrypoint="install" \
  appwrite/appwrite:latest
Enter fullscreen mode Exit fullscreen mode

Or use Appwrite Cloud (free tier: 75K requests/month).

The SDKs

// Web SDK
import { Client, Databases, Account } from 'appwrite'

const client = new Client()
  .setEndpoint('https://cloud.appwrite.io/v1')
  .setProject('your-project-id')

// Authentication
const account = new Account(client)
await account.createEmailPasswordSession('user@example.com', 'password')
const user = await account.get()

// Database
const databases = new Databases(client)
const posts = await databases.listDocuments('db-id', 'posts-collection', [
  Query.orderDesc('$createdAt'),
  Query.limit(20)
])

// Create document
await databases.createDocument('db-id', 'posts', ID.unique(), {
  title: 'My Post',
  content: 'Hello World',
  author: user.$id
})

// Real-time
client.subscribe('databases.db-id.collections.posts.documents', (response) => {
  console.log(response.events, response.payload)
})
Enter fullscreen mode Exit fullscreen mode

Firebase vs Appwrite

Feature Firebase Appwrite
Self-hosted No Yes
Open source No Yes (Apache 2.0)
Database NoSQL only Documents + relations
Auth providers 10+ 30+
Functions Node.js, Python 10+ runtimes
Vendor lock-in High None

Key Features

  • Auth — Email, phone, OAuth (30+ providers), magic links, JWT
  • Database — Document-based with relations, indexes, permissions
  • Storage — Files, images with built-in transformations (resize, crop)
  • Functions — Serverless in Node, Python, PHP, Ruby, Dart, Swift, Kotlin, Java, .NET, Bun
  • Messaging — Email, SMS, push notifications
  • Real-time — WebSocket subscriptions for any resource

Free Cloud Tier

  • 75K requests/month, 10GB bandwidth, 2GB storage, 750K function executions

Building apps or need backend solutions? Check out my developer tools or email spinov001@gmail.com.

Top comments (0)