Supabase β‘
Query your Supabase projects directly from chat.
Setup
1. Get your credentials
Go to Supabase Dashboard β Project Settings β API
You'll see two tabs:
- "Publishable and secret API keys" - New format (limited functionality)
- "Legacy anon, service_role API keys" - JWT format (full functionality)
β οΈ Use the Legacy JWT key for full access!
The service_role JWT key (starts with eyJ...) gives full admin access including:
- Listing users with details
- Counting signups
- Accessing auth.users
The new sb_secret_... keys have limited functionality and can't access the Admin API.
2. Find your keys
- Go to: Project Settings β API
- Click the "Legacy anon, service_role API keys" tab
- Find
service_role(marked with red "secret" badge) - Click Reveal and copy the
eyJ...token
Direct link: https://supabase.com/dashboard/project/YOUR_PROJECT_REF/settings/api
3. Configure
Option A: Interactive setup
python3 {baseDir}/scripts/supabase.py auth
Option B: Manual config
Create ~/.supabase_config.json:
{
"url": "https://xxxxx.supabase.co",
"service_key": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Option C: Environment variables
export SUPABASE_URL="https://xxxxx.supabase.co"
export SUPABASE_SERVICE_KEY="eyJhbG..."
Commands
User Analytics
# Count total users
python3 {baseDir}/scripts/supabase.py users
# Count new users (24h)
python3 {baseDir}/scripts/supabase.py users-today
# Count new users (7 days)
python3 {baseDir}/scripts/supabase.py users-week
# List users with details (name, email, provider, signup date)
python3 {baseDir}/scripts/supabase.py list-users
# List new users from last 24h
python3 {baseDir}/scripts/supabase.py list-users-today
# Limit results
python3 {baseDir}/scripts/supabase.py list-users --limit 5
Project Info
# Show project info and key type
python3 {baseDir}/scripts/supabase.py info
# List tables exposed via REST API
python3 {baseDir}/scripts/supabase.py tables
JSON Output
python3 {baseDir}/scripts/supabase.py list-users --json
Key Types Explained
| Key Type | Format | User Listing | User Count | REST Tables |
|---|---|---|---|---|
| JWT service_role | eyJ... |
β Yes | β Yes | β Yes |
| New secret | sb_secret_... |
β No | β No | β Yes |
Recommendation: Always use the JWT service_role key for Clawdbot integration.
Daily Reports
Set up automated daily user reports via Clawdbot cron.
Example: Daily 5 PM Report
Ask Clawdbot:
Send me a report of how many new users signed up at 5 PM every day,
show the last 5 signups with their names
This creates a cron job like:
{
"name": "Daily Supabase User Report",
"schedule": {
"kind": "cron",
"expr": "0 17 * * *",
"tz": "America/Los_Angeles"
},
"payload": {
"message": "Supabase daily report: Count new user signups in the last 24 hours, and list the 5 most recent signups with their name and email."
}
}
Sample Report Output
π Supabase Daily Report
New signups (last 24h): 2
Last 5 signups:
β’ Jane Smith <[email protected]> (google) - 2026-01-25
β’ Alex Johnson <[email protected]> (google) - 2026-01-25
β’ Sam Wilson <[email protected]> (email) - 2026-01-24
β’ Chris Lee <[email protected]> (google) - 2026-01-23
β’ Jordan Taylor <[email protected]> (github) - 2026-01-22
Troubleshooting
"list-users requires a JWT service_role key"
You're using an sb_secret_... key. Get the JWT key from:
Project Settings β API β Legacy tab β service_role β Reveal
"No API key found in request"
The new sb_secret_ keys don't work with all endpoints. Switch to the JWT key.
Keys not showing
Make sure you're on the "Legacy anon, service_role API keys" tab, not the new API keys tab.
Security Note
The service_role key has full admin access to your database. Keep it secure:
- Never commit to git
- Don't expose in client-side code
- Only use on trusted machines
The config file is automatically set to mode 600 (owner read/write only).