DEV Community

Alex Spinov
Alex Spinov

Posted on

Supabase Has a Free Tier — Build Full-Stack Apps with a Postgres Database, Auth, and API in Minutes

Supabase gives you a free Postgres database with a REST API auto-generated from your tables. Plus free authentication, file storage, and real-time subscriptions. No backend code needed — just create tables and your API is ready.

The free tier includes 500 MB database, 1 GB file storage, 50,000 monthly active users for auth, and unlimited API requests.

Get Started Free

  1. Sign up at supabase.com
  2. Create a new project (choose a region, set a database password)
  3. Copy your project URL and anon API key from Settings → API

1. Auto-Generated REST API

Create a table in the dashboard, and Supabase instantly gives you CRUD endpoints.

# Read all rows from a "posts" table
curl "https://YOUR_PROJECT.supabase.co/rest/v1/posts?select=*" \
  -H "apikey: YOUR_ANON_KEY" \
  -H "Authorization: Bearer YOUR_ANON_KEY"

# Insert a row
curl -X POST "https://YOUR_PROJECT.supabase.co/rest/v1/posts" \
  -H "apikey: YOUR_ANON_KEY" \
  -H "Authorization: Bearer YOUR_ANON_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "My First Post", "content": "Hello Supabase!", "published": true}'

# Filter and sort
curl "https://YOUR_PROJECT.supabase.co/rest/v1/posts?published=eq.true&order=created_at.desc&limit=10" \
  -H "apikey: YOUR_ANON_KEY" \
  -H "Authorization: Bearer YOUR_ANON_KEY"
Enter fullscreen mode Exit fullscreen mode

2. Authentication

# Sign up a new user
curl -X POST "https://YOUR_PROJECT.supabase.co/auth/v1/signup" \
  -H "apikey: YOUR_ANON_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "securepassword123"}'

# Sign in
curl -X POST "https://YOUR_PROJECT.supabase.co/auth/v1/token?grant_type=password" \
  -H "apikey: YOUR_ANON_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "user@example.com", "password": "securepassword123"}'
Enter fullscreen mode Exit fullscreen mode

3. Python — Task Manager

from supabase import create_client

url = "https://YOUR_PROJECT.supabase.co"
key = "YOUR_ANON_KEY"
supabase = create_client(url, key)

# Create a task
supabase.table("tasks").insert({
    "title": "Review pull requests",
    "status": "todo",
    "priority": "high"
}).execute()

# Get all pending tasks
tasks = supabase.table("tasks") \
    .select("*") \
    .eq("status", "todo") \
    .order("priority") \
    .execute()

for task in tasks.data:
    print(f"[{task['priority']}] {task['title']}")
Enter fullscreen mode Exit fullscreen mode

4. Node.js — Real-Time Chat

import { createClient } from "@supabase/supabase-js";

const supabase = createClient("https://YOUR_PROJECT.supabase.co", "YOUR_ANON_KEY");

// Send a message
async function sendMessage(userId, text) {
  await supabase.from("messages").insert({ user_id: userId, text });
}

// Listen for new messages in real-time
supabase
  .channel("messages")
  .on("postgres_changes", { event: "INSERT", schema: "public", table: "messages" },
    (payload) => {
      console.log("New message:", payload.new.text);
    }
  )
  .subscribe();

sendMessage("user-123", "Hello everyone!");
Enter fullscreen mode Exit fullscreen mode

Free Tier Limits

Resource Free Limit
Database 500 MB
File storage 1 GB
Auth users 50,000 MAU
API requests Unlimited
Edge Functions 500K invocations/month
Realtime 200 concurrent connections

What You Can Build

  • Full-stack web app — React/Next.js + Supabase (no separate backend)
  • Mobile app backend — user auth, data storage, file uploads
  • Real-time dashboard — live data updates without WebSocket setup
  • Blog/CMS — Postgres as content store, auto-API for frontend
  • SaaS MVP — auth + database + file storage in one platform
  • IoT data collector — store sensor data with REST inserts

More Free API Articles


Need Web Data? Try These Tools

If you're building apps that need web scraping or data extraction, check out my ready-made tools on Apify Store — scrapers for Reddit, YouTube, Google News, Trustpilot, and 80+ more. No coding needed, just run and get your data.

Need a custom scraping solution? Email me at spinov001@gmail.com


More Free APIs You Should Know About

Need custom data scraping? Email me or check my Apify actors.

Top comments (0)