Plaid logo
Docs
ALL DOCS

API

  • Overview
  • Libraries
  • API versioning
  • Postman Collection
  • Webhooks
Product API reference
  • Transactions
  • Auth
  • Balance
  • Identity
  • Assets
  • Investments
  • Liabilities
  • Payment Initiation
  • Virtual Accounts
  • Transfer (beta)
  • Income
  • Identity Verification
  • Monitor
  • Signal
  • Enrich
Other API reference
  • Item endpoints and webhooks
  • Account endpoints and schemas
  • Institution endpoints
  • Token flow and endpoints
  • Processor endpoints
  • Sandbox endpoints
  • Reseller partner endpoints
Plaid logo
Docs
Plaid.com
Get API keys
Open nav

Enrich

API reference for Enrich endpoint

Endpoints
/transactions/enrichSend transaction data and retrieve enrichments

/transactions/enrich

Enrich locally-held transaction data

The /transactions/enrich endpoint enriches raw transaction data generated by your own banking products or retrieved from other non-Plaid sources.
To request access to Enrich, reach out to your Plaid point of contact or send a note to enrich-feedback@plaid.com

transactions/enrich

Request fields and example

client_id
string
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
string
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
account_type
requiredstring
The account type for the requested transactions (either depository or credit).
transactions
required[object]
An array of transaction objects to be enriched by Plaid. Maximum of 100 transactions per request.
id
requiredstring
A unique ID for the transaction used to help you tie data back to your systems.
description
requiredstring
The raw description of the transaction. If you have location data in available an unstructured format, it may be appended to the description field.
amount
requirednumber
The absolute value of the transaction (>= 0). When testing Enrich, note that amount data should be realistic. Unrealistic or inaccurate amount data may result in reduced quality output.

Format: double
direction
requiredstring
The direction of the transaction from the perspective of the account holder:
OUTFLOW - Includes outgoing transfers, purchases, and fees. (Typically represented as a negative value on checking accounts and debit cards and a positive value on credit cards.)
INFLOW - Includes incoming transfers, refunds, and income. (Typically represented as a positive value on checking accounts and debit cards and a negative value on credit cards.)


Possible values: INFLOW, OUTFLOW
iso_currency_code
requiredstring
The ISO-4217 currency code of the transaction e.g. USD.
location
object
A representation of where a transaction took place.
Use this field to pass in structured location information you may have about your transactions. Providing location data is optional but can increase result quality. If you have unstructured location information, it may be appended to the description field.
country
string
The country where the transaction occurred.
region
string
The region or state where the transaction occurred.
city
string
The city where the transaction occurred.
address
string
The street address where the transaction occurred.
postal_code
string
The postal code where the transaction occurred.
mcc
string
Merchant category codes (MCCs) are four-digit numbers that describe a merchant's primary business activities.
date_posted
string
The date the transaction posted, in ISO 8601 (YYYY-MM-DD) format.

Format: date
options
object
An optional object to be used with the request.
include_legacy_category
boolean
Include legacy_category and legacy_category_id in the response (in addition to the default personal_finance_category).
Categories are based on Plaid's legacy taxonomy. For a full list of legacy categories, see /categories/get.


Default: false
Select Language
Copy
1const transactionsToEnrich: Array<ClientProvidedTransaction> = [
2 {
3 id: "1",
4 description: "PURCHASE WM SUPERCENTER #1700",
5 amount: 72.10,
6 iso_currency_code: "USD",
7 location: {
8 city: "Poway",
9 region: "CA",
10 },
11 direction: EnrichTransactionDirection.Outflow,
12 },
13 {
14 id: "2",
15 description: "DD DOORDASH BURGERKIN 855-123-4567 CA",
16 amount: 28.34,
17 iso_currency_code: "USD",
18 direction: EnrichTransactionDirection.Outflow
19 }
20];
21
22const request: TransactionsEnrichGetRequest = {
23 account_type: "depository",
24 transactions: transactionsToEnrich
25};
26
27const response = await client.transactionsEnrich(request);
28const enrichedTransactions = response.data.enriched_transactions;
transactions/enrich

Response fields and example

enriched_transactions
[object]
A list of enriched transactions.
id
string
The unique ID for the transaction as provided by you in the request.
description
string
The raw description of the transaction.
amount
number
The absolute value of the transaction (>= 0)

Format: double
direction
string
The direction of the transaction from the perspective of the account holder:
OUTFLOW - Includes outgoing transfers, purchases, and fees. (Typically represented as a negative value on checking accounts and debit cards and a positive value on credit cards.)
INFLOW - Includes incoming transfers, refunds, and income. (Typically represented as a positive value on checking accounts and debit cards and a negative value on credit cards.)


Possible values: INFLOW, OUTFLOW
iso_currency_code
string
The ISO-4217 currency code of the transaction e.g. USD.
enrichments
object
A grouping of the Plaid produced transaction enrichment fields.
counterparties
[object]
The counterparties present in the transaction. Counterparties, such as the merchant or the financial institution, are extracted by Plaid from the raw description.
name
string
The name of the counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.
entity_id
nullablestring
A unique, stable, Plaid-generated id that maps to the counterparty.
type
string
The counterparty type.
merchant: a provider of goods or services for purchase financial_institution: a financial entity (bank, credit union, BNPL, fintech) payment_app: a transfer or P2P app (e.g. Zelle) marketplace: a marketplace (e.g DoorDash, Google Play Store) payment_terminal: a point-of-sale payment terminal (e.g Square, Toast)


Possible values: merchant, financial_institution, payment_app, marketplace, payment_terminal
website
nullablestring
The website associated with the counterparty.
logo_url
nullablestring
The URL of a logo associated with the counterparty, if available. The logo is formatted as a 100x100 pixel PNG file.
entity_id
nullablestring
A unique, stable, Plaid-generated id that maps to the primary counterparty.
legacy_category_id
deprecatednullablestring
The ID of the legacy category to which this transaction belongs. For a full list of legacy categories, see /categories/get.
We recommend using the personal_finance_category for transaction categorization to obtain the best results.
legacy_category
deprecated[string]
A hierarchical array of the legacy categories to which this transaction belongs. For a full list of legacy categories, see /categories/get.
We recommend using the personal_finance_category for transaction categorization to obtain the best results.
location
object
A representation of where a transaction took place
address
nullablestring
The street address where the transaction occurred.
city
nullablestring
The city where the transaction occurred.
region
nullablestring
The region or state where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called state.
postal_code
nullablestring
The postal code where the transaction occurred. In API versions 2018-05-22 and earlier, this field is called zip.
country
nullablestring
The ISO 3166-1 alpha-2 country code where the transaction occurred.
lat
nullablenumber
The latitude where the transaction occurred.

Format: double
lon
nullablenumber
The longitude where the transaction occurred.

Format: double
store_number
nullablestring
The merchant defined store number where the transaction occurred.
logo_url
nullablestring
The URL of a logo associated with this transaction, if available. The logo is formatted as a 100x100 pixel PNG file.
merchant_name
nullablestring
The name of the primary counterparty, such as the merchant or the financial institution, as extracted by Plaid from the raw description.
payment_channel
string
The channel used to make a payment. online: transactions that took place online.
in store: transactions that were made at a physical location.
other: transactions that relate to banks, e.g. fees or deposits.


Possible values: online, in store, other
personal_finance_category
nullableobject
Information describing the intent of the transaction. Most relevant for personal finance use cases, but not limited to such use cases.
See the taxonomy csv file for a full list of personal finance categories.
primary
string
A high level category that communicates the broad category of the transaction.
detailed
string
A granular category conveying the transaction's intent. This field can also be used as a unique identifier for the category.
personal_finance_category_icon_url
string
A link to the icon associated with the primary personal finance category. The logo will always be 100x100 pixels.
website
nullablestring
The website associated with this transaction.
request_id
string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.
Copy
1{
2 "enriched_transactions": [
3 {
4 "id": "6135818adda16500147e7c1d",
5 "description": "PURCHASE WM SUPERCENTER #1700",
6 "amount": 72.1,
7 "direction": "OUTFLOW",
8 "iso_currency_code": "USD",
9 "enrichments": {
10 "counterparties": [
11 {
12 "name": "Walmart",
13 "type": "merchant",
14 "logo_url": "https://plaid-merchant-logos.plaid.com/walmart_1100.png",
15 "website": "walmart.com",
16 "entity_id": "plaid_6f2d35f96f1b2ec4af99222c23f70c35"
17 }
18 ],
19 "entity_id": "plaid_6f2d35f96f1b2ec4af99222c23f70c35",
20 "location": {
21 "address": "13425 Community Rd",
22 "city": "Poway",
23 "region": "CA",
24 "postal_code": "92064",
25 "country": "US",
26 "store_number": "1700",
27 "lat": null,
28 "lon": null
29 },
30 "logo_url": "https://plaid-merchant-logos.plaid.com/walmart_1100.png",
31 "merchant_name": "Walmart",
32 "payment_channel": "in store",
33 "personal_finance_category": {
34 "detailed": "GENERAL_MERCHANDISE_SUPERSTORES",
35 "primary": "GENERAL_MERCHANDISE"
36 },
37 "personal_finance_category_icon_url": "https://plaid-category-icons.plaid.com/PFC_GENERAL_MERCHANDISE.png",
38 "website": "walmart.com"
39 }
40 },
41 {
42 "id": "3958434bhde9384bcmeo3401",
43 "description": "DD DOORDASH BURGERKIN 855-123-4567 CA",
44 "amount": 28.34,
45 "direction": "OUTFLOW",
46 "iso_currency_code": "USD",
47 "enrichments": {
48 "counterparties": [
49 {
50 "name": "DoorDash",
51 "type": "marketplace",
52 "logo_url": "https://plaid-counterparty-logos.plaid.com/doordash_1.png",
53 "website": "doordash.com",
54 "entity_id": "plaid_3fefe2ae8fc45d84d9038b6bb5cd1094"
55 },
56 {
57 "name": "Burger King",
58 "type": "merchant",
59 "logo_url": "https://plaid-merchant-logos.plaid.com/burger_king_155.png",
60 "website": "burgerking.com",
61 "entity_id": "plaid_086ef08062de7018e3c74c28a82cb812"
62 }
63 ],
64 "location": {
65 "address": null,
66 "city": null,
67 "region": null,
68 "postal_code": null,
69 "country": null,
70 "store_number": null,
71 "lat": null,
72 "lon": null
73 },
74 "entity_id": "plaid_086ef08062de7018e3c74c28a82cb812",
75 "logo_url": "https://plaid-merchant-logos.plaid.com/burger_king_155.png",
76 "merchant_name": "Burger King",
77 "payment_channel": "online",
78 "personal_finance_category": {
79 "detailed": "FOOD_AND_DRINK_FAST_FOOD",
80 "primary": "FOOD_AND_DRINK"
81 },
82 "personal_finance_category_icon_url": "https://plaid-category-icons.plaid.com/PFC_FOOD_AND_DRINK.png",
83 "website": "burgerking.com"
84 }
85 }
86 ],
87 "request_id": "Wvhy9PZHQLV8njG"
88}
Was this helpful?
Developer community
GitHub
GitHub
Stack Overflow
Stack Overflow
YouTube
YouTube
Twitter
Twitter
Discord
Discord