Overview

Plaid is a widely-used financial data API that lets your application securely connect to users bank accounts to access transactions, balances, and identity data. It powers many popular personal finance apps and supports thousands of financial institutions across North America and Europe. Developers use it to build budgeting apps, lending platforms, and account verification services.

Beginner Tip

Start in the Plaid Sandbox environment using the provided test credentials; Plaid Link (the front-end component) handles the secure bank connection so you never touch users bank passwords.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

Link token
Expires
Response fields: link token, expiration

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

JSON Response · Illustrative
{
  "status": "success",
  "data": {
    "result": "Data from Plaid",
    "description": "Connect with user's bank accounts and access transaction data",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

transactions List of transaction objects for the requested account and date range.
amount Transaction amount; positive values are debits (money out), negative values are credits (money in).
date Posted date of the transaction in YYYY-MM-DD format.
merchant_name Cleaned merchant name derived from the raw transaction description.
category Hierarchical list of category labels assigned to the transaction.
account_id Unique identifier for the bank account this transaction belongs to.

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
// Create a Link token (first step in Plaid authentication flow)
const url = "https://production.plaid.com/link/token/create";
const payload = {
  client_id: "YOUR_CLIENT_ID",
  secret: "YOUR_SECRET",
  user: { client_user_id: "user-123" },
  client_name: "My App",
  products: ["auth", "transactions"],
  country_codes: ["US"],
  language: "en"
};

const response = await fetch(url, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(payload)
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();

console.log(`Link token: ${data.link_token}`);
console.log(`Expires: ${data.expiration}`);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

INVALID_API_KEYS The client_id or secret provided is incorrect or from the wrong environment
Copy your credentials from the Plaid Dashboard and ensure you are using sandbox keys for the sandbox environment and production keys for production.
ITEM_LOGIN_REQUIRED The user bank connection needs to be re-authenticated
Implement a re-authentication flow using Plaid Link in update mode to prompt the user to reconnect their account.
PRODUCTS_NOT_SUPPORTED The requested product is not available for the user institution
Check the institution supported products using the /institutions/get endpoint before requesting specific data types.

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth API Key
HTTPS REQUIRED
CORS UNKNOWN
Category Finance
Difficulty Advanced
Listing details not endpoint-verified

Similar APIs

View All →