Link

Connect users' financial accounts to your application

Plaid Link is the client-side component that your users interact with to connect their financial accounts to Plaid. Link handles the entire onboarding flow securely and efficiently, from account selection to multi-factor authentication.

Link Overview

Introduction to Link

Plaid Link is a drop-in module that handles the details of connecting your users' financial accounts to Plaid. Link provides a secure, elegant authentication flow for each institution that your users want to connect with.

Key features of Link include:

  • Universal authentication: Handles login credentials, multi-factor authentication, and OAuth flows
  • Error handling: Gracefully manages connection errors and guides users through resolution
  • Multi-platform support: Available for web, iOS, Android, React Native, and other platforms
  • Customizable interface: Configurable text, colors, and institution selection views
  • Production requirement: Mandatory for all Plaid production integrations

Initializing Link

Link is initialized by passing a link_token that you create server-side. The implementation varies by platform, but the core concept remains the same across all supported environments.

The link_token is a short-lived, single-use token that configures Link for your user’s specific flow.

Link Flow Overview

The typical Plaid integration flow involves four key steps:

  1. Create link_token: Your server calls /link/token/create to generate a link_token
  2. Initialize Link: Pass the link_token to Link and open it for your user
  3. Receive public_token: User completes the Link flow and you receive a public_token in the onSuccess callback
  4. Exchange for access_token: Your server exchanges the public_token for a permanent access_token that you store securely

The access_token is the long-lived token you’ll use for all subsequent API requests for this user’s accounts.

Platform Support

Link is available across multiple platforms:

Official SDKs

  • Web: JavaScript SDK for web applications
  • iOS: Native iOS SDK
  • Android: Native Android SDK
  • React Native: Cross-platform mobile development
  • Hosted Link: Server-side hosted solution

Community Supported

  • Flutter: Community-maintained wrapper
  • Angular: Community-maintained integration
  • Vue.js: Community-maintained integration

Supporting OAuth

Some institutions require OAuth authentication, where Link redirects users to their bank's website or mobile app for login. Link handles this process seamlessly:

  • Automatically detects OAuth requirements
  • Opens the institution's authentication page
  • Handles the redirect flow back to your application
  • Maintains security throughout the process

Customizing Link

Link can be customized to match your application's branding and user experience:

Customizable Elements

  • Text and messaging throughout the flow
  • Institution selection interface
  • Background colors and styling
  • Account selection view
  • Success and error messaging

Configuration Methods

  • Plaid Dashboard: Visual configuration interface
  • link_token parameters: Programmatic customization
  • CSS overrides: Advanced styling options (web only)

Link customization is configured through your Plaid Dashboard and affects all Link sessions for your application.

Returning User Flows

Link provides optimized experiences for users who have previously connected accounts:

  • Faster authentication: Streamlined flow for existing users
  • Account updates: Easy re-authentication for expired connections
  • Additional accounts: Simple process to connect additional accounts from the same institution

Error Handling

Link includes comprehensive error handling to ensure a smooth user experience:

Recommended Practices

  • Update mode support: Handle scenarios where users need to re-authenticate
  • Duplicate prevention: Detect and prevent duplicate account connections
  • Token expiration: Gracefully handle expired link_tokens
  • Institution errors: Guide users through temporary institution outages

Error Categories

  • User errors: Invalid credentials, account locked, etc.
  • Institution errors: Maintenance, outages, or technical issues
  • Item errors: Connection problems requiring user attention
  • API errors: Rate limits, invalid requests, or configuration issues

Optimizing Link Conversion

The configuration and presentation of Link significantly impacts user completion rates:

Best Practices

  • Clear messaging: Explain why you need access to financial data
  • Minimal friction: Only request necessary account types and data
  • Trust indicators: Display security badges and privacy information
  • Mobile optimization: Ensure smooth experience on mobile devices
  • Institution selection: Pre-filter institutions relevant to your users

Link Updates

Plaid regularly updates Link with new features, security enhancements, and institution support:

Update Process

  • Automatic deployment: Updates deploy automatically for hosted solutions
  • SDK updates: Regular releases for native SDKs with new features
  • Backward compatibility: Updates maintain compatibility with existing integrations
  • Feature rollouts: New features may roll out gradually

We recommend regularly updating to the latest Link SDK versions to ensure access to the newest features and security improvements.

Troubleshooting

For comprehensive troubleshooting guidance and best practices for robust Link integration, see our detailed troubleshooting documentation.

Common issues include:

  • Institution connectivity problems
  • Token expiration handling
  • Mobile browser compatibility
  • Network timeout management

Next Steps

Ready to implement Link in your application? Check out our platform-specific guides:

For detailed API reference, see the Link Token Create endpoint documentation.