App Directory API
Programmatic access to connected application metadata
Overview
App Directory gives you visibility into which Plaid-powered applications your customers have connected to, without implementing Dynamic Client Registration. Plaid manages application onboarding and risk review; you get read access to the resulting metadata for your own risk and compliance needs.
Single-institution accounts can also get this data with no code, in the Data Partner Dashboard. This page covers the API, which is available to every integration model, including platforms.
App Directory is available in Production only after you've completed your Core Exchange integration. To test before then, use Sandbox.
Authentication
Get access to the Data Partner Dashboard and complete your Core Exchange integration, then find your client_id and secret on the Developer > Keys tab. Include both in the headers of every request as PLAID-CLIENT-ID and PLAID-SECRET.
Endpoints
| Endpoint | Functionality |
|---|---|
GET /fdx/recipients | List all applications your customers have connected to |
GET /fdx/recipient/{recipientId} | Get details for a single application |
Get a list of applications with /fdx/recipients
We recommend rerunning this report daily to keep your records current.
Get Recipients
Returns metadata for every recipient (application) your customers have connected to via Plaid's App Directory.
Request fields
curl -X GET 'https://production.plaid.com/fdx/recipients' \
-H 'PLAID-CLIENT-ID: <client_id>' \
-H 'PLAID-SECRET: <secret>'Response fields
The recipient's (application's) identifier
256 The recipient's (application's) name, as displayed to your customers during the consent flow
256 URL for the recipient's (application's) logo
The recipient's (application's) legal entity name
256 The category the recipient (application) falls under
The date the recipient (application) gained production access to Plaid
date The number of your customers connected to this recipient (application)
{
"recipients": [
{
"recipient_id": "98c8990b-72a9-4dc2-a4c5-f45b9b269178",
"client_name": "My Example Client",
"logo_uri": "https://client-logos.plaid.com/logo.png",
"joined_date": "2021-08-31",
"category": "Robo advisors",
"connection_count": 128,
"third_party_legal_name": "My Example Client LLC"
},
{
"recipient_id": "1a6ad795-2b9a-4a9f-8615-e771816c92db",
"client_name": "Another Example Client",
"logo_uri": "https://client-logos.plaid.com/logo2.png",
"joined_date": "2023-11-12",
"category": "eCommerce",
"connection_count": 209,
"third_party_legal_name": "Another Example Client LLC"
}
]
}Get a single application with /fdx/recipient/{recipientId}
recipient_id must be a UUID returned by /fdx/recipients — other values return an error. If this lookup happens during an active OAuth flow, you can optionally pass the OAuth state value as an OAUTH-STATE-ID header, which helps Plaid correlate the request if you need to troubleshoot it later.
Get Recipient
Returns metadata for a single recipient (application), identified by recipientId.
Request fields
The recipient's (application's) identifier (a UUID), as returned by /fdx/recipients.
pathcurl -X GET 'https://production.plaid.com/fdx/recipient/<recipient_id>' \
-H 'PLAID-CLIENT-ID: <client_id>' \
-H 'PLAID-SECRET: <secret>' \
-H 'OAUTH-STATE-ID: <oauth_state>'Response fields
The recipient's (application's) identifier
256 The recipient's (application's) name, as displayed to your customers during the consent flow
256 URL for the recipient's (application's) logo
The recipient's (application's) legal entity name
256 {
"recipient_id": "7bf0b839-861e-444e-b103-9007610ffbaf",
"client_name": "My Example Client",
"logo_uri": "https://client-logos.plaid.com/logo.png",
"third_party_legal_name": "My Example Client LLC"
}Testing
The App Directory API is supported in the Sandbox environment. To test, make calls against sandbox.plaid.com instead of production.plaid.com. Unlike Production, Sandbox data is static, so new records will not be created and existing records will not change.
Errors
Both endpoints return errors in Plaid's standard error object format (error_type, error_code, error_message, display_message, request_id). Log request_id when you encounter an error to speed up troubleshooting with Plaid.