Skip to main content

Metabase

This page contains the setup guide and reference information for the Metabase source connector.

Prerequisites

To set up Metabase you need:

  • username and password - Credential pairs to authenticate with Metabase instance. This may be used to generate a new session_token if necessary. An email from Metabase may be sent to the owner's account every time this is being used to open a new session.
  • session_token - Credential token to authenticate requests sent to Metabase API. Usually expires after 14 days.
  • instance_api_url - URL to interact with Metabase instance API, that uses https.

Setup guide

You can find or create authentication tokens from Metabase by running the following command:`

curl -X POST \
-H "Content-Type: application/json" \
-d '{"username": "person@metabase.com", "password": "fakepassword"}' \
http://localhost:3000/api/session

If you’re working with a remote server, you’ll need to replace localhost:3000 with your server address. This request will return a JSON object with a key called id and the token as the key’s value, e.g.:

{"id":"38f4939c-ad7f-4cbe-ae54-30946daf8593"}

You can use this id value as your session_token when configuring the connector. Note that these credentials tokens may expire after 14 days by default, and you might need to update your connector configuration with a new value when that happens (The connector should throw exceptions about Invalid and expired session tokens and return a 401 (Unauthorized) status code in that scenario).

If you are hosting your own Metabase instance, you can configure this session duration on your Metabase server by setting the environment variable MAX_SESSION_AGE (value is in minutes).

If the connector is supplied with only username and password, a session_token will be generated every time an authenticated query is running, which might trigger security alerts on the user's Metabase account.

Supported sync modes

The Metabase source connector supports the following sync modes:

Supported Streams

Tutorials

Data type mapping

Integration TypeAirbyte TypeNotes
stringstring
integer, numbernumber
arrayarray
objectobject

Features

FeatureSupported?(Yes/No)Notes
Full Refresh SyncYes
Incremental SyncNo
SSL connectionYes
NamespacesNo

Changelog

Expand to review
VersionDatePull RequestSubject
2.1.22024-10-2847531Update dependencies
2.1.12024-08-1644196Bump source-declarative-manifest version
2.1.02024-08-1544127Refactor connector to manifest-only format
2.0.132024-08-1243857Update dependencies
2.0.122024-08-1043685Update dependencies
2.0.112024-08-0343156Update dependencies
2.0.102024-07-2742798Update dependencies
2.0.92024-07-2042314Update dependencies
2.0.82024-07-1638347Make connector compatible with the builder
2.0.72024-07-1341816Update dependencies
2.0.62024-07-1041471Update dependencies
2.0.52024-07-0941171Update dependencies
2.0.42024-07-0640940Update dependencies
2.0.32024-06-2640528Update dependencies
2.0.22024-06-2240117Update dependencies
2.0.12024-06-0639205[autopull] Upgrade base image to v1.2.2
2.0.02024-03-0135680Updates dashboards stream, Base image migration: remove Dockerfile and use the python-connector-base image, migrated to poetry
1.1.02023-10-3131909Add databases and native_query_snippets streams
1.0.12023-07-2028470Update CDK to 0.47.0
1.0.02023-06-2727777Remove Activity Stream
0.3.12022-12-1520535Run on CDK 0.15.0
0.3.02022-12-1319236Migrate to YAML.
0.2.02022-10-2818607Disallow using http URLs
0.1.02022-06-156975Initial (alpha) release