Initializing
You can initialize a new Supabase client using the createClient()
method.
The Supabase client is your entrypoint to the rest of the Supabase functionality and is the easiest way to interact with everything we offer within the Supabase ecosystem.
Parameters
supabaseUrlrequired
string
The unique Supabase URL which is supplied when you create a new project in your project dashboard.
supabaseKeyrequired
string
The unique Supabase Key which is supplied when you create a new project in your project dashboard.
optionsoptional
SupabaseClientOptions
No description provided.
Examples
createClient()
import { createClient } from '@supabase/supabase-js'
// Create a single supabase client for interacting with your database
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
With additional parameters
import { createClient } from '@supabase/supabase-js'
const options = {
schema: 'public',
headers: { 'x-my-custom-header': 'my-app-name' },
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: true
}
const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key", options)
API schemas
import { createClient } from '@supabase/supabase-js'
// Provide a custom schema. Defaults to "public".
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
schema: 'other_schema'
})
By default the API server points to the public
schema. You can enable other database schemas within the Dashboard.
Go to Settings > API > Schema
and add the schema which you want to expose to the API.
Note: each client connection can only access a single schema, so the code above can access the other_schema
schema but cannot access the public
schema.
Custom fetch
implementation
import { createClient } from '@supabase/supabase-js'
const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
fetch: fetch.bind(globalThis)
})
supabase-js
uses the cross-fetch
library to make HTTP requests,
but an alternative fetch
implementation can be provided as an option.
This is most useful in environments where cross-fetch
is not compatible (for instance Cloudflare Workers).