Supabase
Authentication Type: API Key
Description: Interact with Supabase databases via PostgREST API.
Database Operations
Perform CRUD operations on Supabase database tables.
Read Records
Query and retrieve records from a database table.
Operation Type: Query (Read)
Parameters:
- url
string
(required): The Supabase project URL (e.g., https://your-project.supabase.co) - table
string
(required): The name of the table to read from - select
string
(nullable): Columns to select, comma-separated. Defaults to * (all columns) - filter
string
(nullable): PostgREST filter query (e.g., "status=eq.active", "age=gte.18") - order
string
(nullable): Order by clause (e.g., "created_at.desc", "name.asc") - limit
number
(nullable): Maximum number of rows to return - offset
number
(nullable): Number of rows to skip
Returns:
- data
array of objects
: Array of records from the table - count
number
(nullable): Total count of records (if requested)
Example Usage:
{
"url": "https://xyzcompany.supabase.co",
"table": "customers",
"select": "id,name,email,created_at",
"filter": "status=eq.active",
"order": "created_at.desc",
"limit": 50,
"offset": 0
}
Create Records
Insert new records into a database table.
Operation Type: Mutation (Write)
Parameters:
- url
string
(required): The Supabase project URL (e.g., https://your-project.supabase.co) - table
string
(required): The name of the table to insert into - data
any
(required): Record or array of records to insert - returning
string
(nullable): What to return after insert: "minimal", "representation", or column names. Defaults to "representation"
Returns:
- data
array of objects
: Array of created records - count
number
(nullable): Number of records created
Example Usage:
{
"url": "https://xyzcompany.supabase.co",
"table": "customers",
"data": {
"name": "John Smith",
"email": "john.smith@example.com",
"phone": "+1-555-123-4567",
"status": "active"
},
"returning": "representation"
}
Update Records
Modify existing records in a database table.
Operation Type: Mutation (Write)
Parameters:
- url
string
(required): The Supabase project URL (e.g., https://your-project.supabase.co) - table
string
(required): The name of the table to update - data
any
(required): Fields to update - filter
string
(required): PostgREST filter to specify which records to update (e.g., "id=eq.123") - returning
string
(nullable): What to return after update: "minimal", "representation", or column names. Defaults to "representation"
Returns:
- data
array of objects
: Array of updated records - count
number
(nullable): Number of records updated
Example Usage:
{
"url": "https://xyzcompany.supabase.co",
"table": "customers",
"data": {
"status": "inactive",
"updated_at": "2024-01-15T10:30:00Z"
},
"filter": "id=eq.123",
"returning": "representation"
}
Delete Records
Remove records from a database table.
Operation Type: Mutation (Write)
Parameters:
- url
string
(required): The Supabase project URL (e.g., https://your-project.supabase.co) - table
string
(required): The name of the table to delete from - filter
string
(required): PostgREST filter to specify which records to delete (e.g., "id=eq.123") - returning
string
(nullable): What to return after delete: "minimal", "representation", or column names. Defaults to "representation"
Returns:
- data
array of objects
: Array of deleted records - count
number
(nullable): Number of records deleted
Example Usage:
{
"url": "https://xyzcompany.supabase.co",
"table": "customers",
"filter": "status=eq.inactive",
"returning": "representation"
}
Upsert Records
Insert new records or update existing ones.
Operation Type: Mutation (Write)
Parameters:
- url
string
(required): The Supabase project URL (e.g., https://your-project.supabase.co) - table
string
(required): The name of the table to upsert into - data
any
(required): Record or array of records to upsert - onConflict
string
(nullable): Columns to use for conflict resolution (comma-separated) - returning
string
(nullable): What to return after upsert: "minimal", "representation", or column names. Defaults to "representation"
Returns:
- data
array of objects
: Array of upserted records - count
number
(nullable): Number of records upserted
Example Usage:
{
"url": "https://xyzcompany.supabase.co",
"table": "customers",
"data": {
"email": "john.smith@example.com",
"name": "John Smith",
"phone": "+1-555-123-4567",
"status": "active"
},
"onConflict": "email",
"returning": "representation"
}
Common Use Cases
Data Synchronization:
- Sync external system data with Supabase tables using upsert operations
- Read filtered data to compare with external sources before updating
- Bulk insert records from CSV files or API responses for data migration
Application Backend:
- Create user profiles and customer records for web applications
- Update user preferences and settings with targeted filters
- Delete inactive or expired records to maintain database cleanliness
Analytics and Reporting:
- Query filtered and ordered datasets for business intelligence dashboards
- Read time-series data with date range filters for trend analysis
- Aggregate customer data by status, region, or other dimensions
Real-time Data Management:
- Insert real-time events and transactions as they occur
- Update inventory levels and product availability in e-commerce systems
- Upsert user activity logs to maintain accurate session tracki