Select data from a Supabase table using the REST API.

This task queries data from a Supabase table using the REST API with support for filtering, ordering, and pagination.

yaml
type: "io.kestra.plugin.supabase.Select"

Select all records from a table.

yaml
id: supabase_select_all
namespace: company.team

tasks:
  - id: select_users
    type: io.kestra.plugin.supabase.Select
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users

Select specific columns with filtering and ordering.

yaml
id: supabase_select_filtered
namespace: company.team

tasks:
  - id: select_active_users
    type: io.kestra.plugin.supabase.Select
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    select: "id,name,email,created_at"
    filter: "status=eq.active"
    order: "created_at.desc"
    limit: 50

Select with pagination.

yaml
id: supabase_select_paginated
namespace: company.team

tasks:
  - id: select_users_page
    type: io.kestra.plugin.supabase.Select
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    limit: 25
    offset: 50
Properties

The Supabase API key

The API key for authenticating with Supabase -- use the anon key for client-side operations or the service_role key for server-side operations with elevated privileges.

The name of the table to select from

The name of the table in your Supabase database

The Supabase project URL

The URL of your Supabase project (e.g., https://your-project.supabase.com)

Filter conditions

Filter conditions using PostgREST syntax (e.g., 'status=eq.active', 'age=gte.18')

Limit the number of rows returned

Maximum number of rows to return

Offset for pagination

Number of rows to skip for pagination

Default { "followRedirects": "true", "allowFailed": "false", "defaultCharset": "UTF-8" }

Order by clause

Order by clause using PostgREST syntax (e.g., 'created_at.desc', 'name.asc')

Default public

The schema to use

The database schema to use for operations -- defaults to 'public'.

Columns to select

Comma-separated list of columns to select. If not specified, all columns (*) will be selected.

The HTTP status code of the response

SubType array

The headers of the response

The raw response body

SubType object

The selected rows from the table

The number of rows returned

Format uri

The URI of the executed request

Format duration

The time allowed to establish a connection to the server before failing.

Default PT5M
Format duration

The time allowed for a read connection to remain idle before closing it.

The password for HTTP basic authentication.

The username for HTTP basic authentication.

Default false

If true, allow a failed response code (response code >= 400)

SubType integer

List of response code allowed for this request

The authentification to use.

Default UTF-8

The default charset for the request.

Default true

Whether redirects should be followed automatically.

SubType string
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

The proxy configuration.

The SSL request options

The timeout configuration.

The address of the proxy server.

The password for proxy authentication.

The port of the proxy server.

Default DIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

The username for proxy authentication.

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

The token for bearer token authentication.