Plaid
Plaid is a financial data network that gives applications a single API for connecting to bank accounts and other financial institutions. Through Plaid, Nexla can retrieve account and balance information, transaction history, identity data, investment holdings, and liabilities for a connected bank account (Item) from more than 12,000 financial institutions across the US, Canada, UK, and EU.
Power end-to-end data operations for your Plaid API with Nexla. Our bi-directional Plaid connector is purpose-built for Plaid, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Plaid or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Plaid workflows fast, secure, and fully governed.
Features
Type: API
- Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
- Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
- API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
- Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
Prerequisites
Plaid authenticates API requests using a client_id and secret issued to your Plaid developer account, plus an access_token that identifies the specific bank account (called an Item in Plaid's terminology) you want to read data from. Before creating a Plaid credential in Nexla, gather all three values.
-
Sign up for a Plaid developer account at dashboard.plaid.com if you don't already have one.
-
In the Plaid Dashboard, go to Developers > Keys (directly at dashboard.plaid.com/developers/keys) to view your client_id and secret. Plaid issues a separate secret for each environment, so copy the secret that matches the environment you plan to use.
-
Decide which environment to connect to. Sandbox returns simulated data from test institutions and is the fastest way to build and test a flow without a real bank connection. Production returns live data from a real, connected bank account and requires your Plaid application to be approved for production access.
-
Obtain an
access_tokenfor the bank account (Item) you want Nexla to read from:- Sandbox: Call
/sandbox/public_token/createwith a test institution ID to generate apublic_token, then exchange it for anaccess_tokenby calling/item/public_token/exchange. - Production: Integrate Plaid Link, Plaid's client-side connection flow, into your application so an end user can securely log in to their bank. Link returns a
public_tokenin itsonSuccesscallback, which your backend then exchanges for a permanentaccess_tokenvia/item/public_token/exchange.
- Sandbox: Call
-
Store the
client_id,secret, andaccess_tokensecurely. Theaccess_tokendoes not expire and grants ongoing read access to the connected account's financial data, so treat it as a credential rather than embedding it in client-side code.
For more detail on generating and exchanging tokens, see the Plaid Quickstart and the Plaid Item API reference.
Authenticate
Credentials required
Authenticate using Plaid client_id, secret, and access_token obtained from Plaid Link or Sandbox
| Field | Required | Secret | Description |
|---|---|---|---|
| Plaid API Environment | Yes | No | Select Sandbox for testing or Production for live data Allowed values: Sandbox (Testing); Production (Live) |
| Client ID | Yes | Yes | Your Plaid API client_id from dashboard.plaid.com/team/keys |
| Secret | Yes | Yes | Your Plaid API secret from dashboard.plaid.com/team/keys |
| Access Token | Yes | Yes | Plaid access_token for the connected bank Item. Obtain via: (1) Sandbox: Use /sandbox/public_token/create then exchange, or (2) Production: Use Plaid Link flow then exchange public_token |
Create a credential in Nexla
Plaid API Key Authentication uses your client_id, secret, and a bank-specific access_token directly — Nexla does not perform an interactive OAuth handshake for this connector.
-
After selecting the data source type, click the Add Credential tile to open the Add New Credential overlay.
-
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
-
Select the environment to connect to in the Plaid API Environment field: Sandbox (Testing) or Production (Live). This determines which Plaid API host Nexla sends requests to.
-
Enter your Plaid client_id in the Client ID field. You can find this value on the Keys page of the Plaid Dashboard.
-
Enter your Plaid secret in the Secret field. Plaid issues a separate secret for each environment, so make sure the value you enter matches the environment selected above.
-
Enter the Access Token for the bank account (Item) you want to connect. This is the
access_tokenyou obtained by exchanging a Plaid Link (or Sandbox)public_token, as described in Prerequisites.The Access Token is tied to a single connected bank account (Item). If you need to pull data from multiple bank accounts, create a separate Nexla credential for each access_token.
-
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source creation.
Use as a data source
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Plaid connector tile, then select the credential that will be used to connect to Plaid, and click Next; or, create a new Plaid credential for use in this flow.
Endpoint templates
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Plaid endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Manual configuration
Plaid data sources can also be manually configured to ingest data from any valid Plaid API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
Unlike many REST APIs, Plaid does not authenticate requests with a header token. Instead, the client_id, secret, and access_token are sent as fields in the JSON request body on every call. Nexla populates these fields automatically from your credential, so you do not need to add them to the request body yourself when using the pre-built endpoint templates.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Plaid data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.