Skip to main content

Plaid

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 streams:

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

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.

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

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.

Expand to review
VersionDatePull RequestSubject
0.5.12024-08-1644196Bump source-declarative-manifest version
0.5.02024-08-1444086Refactor connector to manifest-only format
0.4.132024-08-1243861Update dependencies
0.4.122024-08-1043663Update dependencies
0.4.112024-08-0343239Update dependencies
0.4.102024-07-2742686Update dependencies
0.4.92024-07-2042230Update dependencies
0.4.82024-07-1341730Update dependencies
0.4.72024-07-1041412Update dependencies
0.4.62024-07-0941235Update dependencies
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