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_43",
      "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.

VersionDatePull RequestSubject
0.3.12022-03-3111104Fix 100 record limit and added start_date
0.3.02022-01-057977Migrate to Python CDK + add transaction stream
0.3.12022-xx-xx7977Fix 100 record limit and added start_date