Supabase Auth API

auth supabase

Supabase Auth API

Authentication with email, OAuth, magic links, and row-level security policies.

Quick Facts

FieldValue
ProviderSupabase
CategoryAuthentication & Identity APIs
Websitehttps://supabase.com
AuthenticationAPI Key + JWT
Pricing Modelfreemium
Free TierYes, generous free tier
Rate Limit100 req/min (varies by plan)

Overview

Supabase Auth API is a authentication & identity apis provided by Supabase. Authentication with email, OAuth, magic links, and row-level security policies. This API is designed to help developers integrate auth capabilities into their applications with minimal setup and maximum reliability.

The API supports API Key + JWT authentication, ensuring secure access to all endpoints. With a freemium pricing model, Supabase offers flexible options for projects of any size, from prototypes to enterprise deployments.

Supabase maintains comprehensive documentation, SDKs for popular programming languages, and active community support. The API is built on REST principles, returning JSON responses with standard HTTP status codes, making it straightforward to integrate into existing workflows.

Authentication

This API uses API Key + JWT authentication. Refer to the official documentation for authentication details.

Always store your credentials securely using environment variables or a secrets manager. Never commit API keys to version control or expose them in client-side code.

Code Samples

Python

import requests
import os

API_KEY = os.environ.get("API_KEY", "YOUR_API_KEY")
BASE_URL = "https://api.supabase.com"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

response = requests.get(f"{BASE_URL}/v1/resources", headers=headers)
print(response.status_code)
print(response.json())

JavaScript

const API_KEY = process.env.API_KEY || 'YOUR_API_KEY';
const BASE_URL = 'https://api.supabase.com';

const response = await fetch(`${BASE_URL}/v1/resources`, {
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json'
  }
});
const data = await response.json();
console.log(data);

cURL

curl -H "Authorization: Bearer $API_KEY" \
     -H "Content-Type: application/json" \
     https://api.supabase.com/v1/resources

Go

package main

import (
    "net/http"
    "fmt"
    "io"
    "os"
)

func main() {
    apiKey := os.Getenv("API_KEY")
    if apiKey == "" {
        apiKey = "YOUR_API_KEY"
    }
    req, _ := http.NewRequest("GET", "https://api.supabase.com/v1/resources", nil)
    req.Header.Set("Authorization", "Bearer " + apiKey)
    req.Header.Set("Content-Type", "application/json")
    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Pricing

The pricing model is freemium. Free tier with generous limits, paid plans for higher usage and premium features. Visit the provider’s pricing page at https://supabase.com for current rates and detailed pricing information.

Use Cases

  • Integration: Connect Supabase services to your application for seamless auth functionality.
  • Automation: Automate auth workflows and reduce manual operations.
  • Scaling: Handle growing auth demands with Supabase’s robust infrastructure.

Further Reading

Other languages