Skip to main content

Plaid

Overview

The Plaid source supports Full Refresh syncs. It currently only supports pulling from the balances endpoint. It will soon support other data streams (e.g. transactions).

Output schema

Output streams:

Features

FeatureSupported?
Full Refresh SyncYes
Incremental - Append SyncComing soon
Replicate Incremental DeletesComing soon
SSL connectionYes
NamespacesNo

Performance considerations

The Plaid connector should not run into Stripe API limitations under normal usage. Please create an issue if you see any rate limit issues that are not automatically retried successfully.

Getting started

Requirements

  • Plaid Account (with client_id and API key)
  • Access Token

Setup guide for Sandbox

This guide will walk through how to create the credentials you need to run this source in the sandbox of a new plaid account. For production use, consider using the Link functionality that Plaid provides here

  • Create a Plaid account Go to the plaid website and click "Get API Keys". Follow the instructions to create an account.

  • Get Client id and API key Go to the keys page where you will find the client id and your Sandbox API Key (in the UI this key is just called "Sandbox").

  • Create an Access Token First you have to create a public token key and then you can create an access token.

    • Create public key Make this API call described in plaid docs

        curl --location --request POST 'https://sandbox.plaid.com/sandbox/public_token/create' \
      --header 'Content-Type: application/json;charset=UTF-16' \
      --data-raw '{
      "client_id": "<your-client-id>",
      "secret": "<your-sandbox-api-key>",
      "institution_id": "ins_127287",
      "initial_products": ["auth", "transactions"]
      }'
    • Exchange public key for access token Make this API call described in plaid docs. The public token used in this request, is the token returned in the response of the previous request. This request will return an access_token, which is the last field we need to generate for the config for this source!

      curl --location --request POST 'https://sandbox.plaid.com/item/public_token/exchange' \
      --header 'Content-Type: application/json;charset=UTF-16' \
      --data-raw '{
      "client_id": "<your-client-id>",
      "secret": "<your-sandbox-api-key>",
      "public_token": "<public-token-returned-by-previous-request>"
      }'
  • We should now have everything we need to configure this source in the UI.

Reference

Config fields reference

Field
Type
Property name
string
access_token
string
api_key
string
client_id
string
plaid_env
string
start_date

Changelog

Expand to review
VersionDatePull RequestSubject
0.4.52024-07-0641007Update dependencies
0.4.42024-06-2540379Update dependencies
0.4.32024-06-2240147Update dependencies
0.4.22024-06-0438963[autopull] Upgrade base image to v1.2.1
0.4.12024-05-3138810[autopull] Migrate to base image and poetry
0.4.02023-08-1729127Rewrote connector to no-code SDK
0.3.22022-08-0215231Added min_last_updated_datetime support for Capital One items
0.3.12022-03-3111104Fix 100 record limit and added start_date
0.3.02022-01-057977Migrate to Python CDK + add transaction stream