DEV Community

Alex Spinov
Alex Spinov

Posted on

Appwrite Has a Free API — Open-Source Backend for Web and Mobile

Appwrite is an open-source BaaS that gives you auth, databases, storage, functions, and messaging — all with a REST API and SDKs for every platform.

What Is Appwrite?

Appwrite provides backend services so you can focus on your app. Self-host it or use Appwrite Cloud.

Free tier (Cloud):

  • 75K monthly active users
  • 10GB storage, 2GB bandwidth
  • 750K function executions
  • Unlimited projects

Quick Start (Docker)

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

REST API

# Create document
curl -X POST https://cloud.appwrite.io/v1/databases/DB_ID/collections/COL_ID/documents \
  -H "X-Appwrite-Project: PROJECT_ID" \
  -H "X-Appwrite-Key: API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"documentId":"unique()","data":{"title":"Hello","body":"World"}}'

# List documents
curl https://cloud.appwrite.io/v1/databases/DB_ID/collections/COL_ID/documents \
  -H "X-Appwrite-Project: PROJECT_ID" \
  -H "X-Appwrite-Key: API_KEY"
Enter fullscreen mode Exit fullscreen mode

JavaScript SDK

import { Client, Databases } from "appwrite";

const client = new Client()
  .setEndpoint("https://cloud.appwrite.io/v1")
  .setProject("PROJECT_ID");

const db = new Databases(client);
const docs = await db.listDocuments("DB_ID", "COL_ID");
console.log(docs.documents);
Enter fullscreen mode Exit fullscreen mode

Use Cases

  1. Mobile apps — auth + DB + storage + push
  2. Web apps — real-time subscriptions
  3. Serverless functions — 10+ runtime support
  4. File management — upload, transform, serve
  5. Messaging — email, SMS, push notifications

Appwrite vs Alternatives

Feature Appwrite Firebase Supabase
Open source Yes No Yes
Self-hosted Yes No Yes
Auth providers 30+ 10+ 20+
Functions Yes Yes Yes
Messaging Yes FCM only No

Need web data at scale? Check out my scraping tools on Apify or email spinov001@gmail.com for custom solutions.

Top comments (0)