Transaction Enrichment API
Turn raw descriptors into clean merchants
Send a descriptor like SBUX_STORE_321_NYC and get back Starbucks: a clean name, a logo, and a category. Built for banking apps, finance tools, and expense platforms, backed by a 30M+ company index.
Raw transaction descriptor → enriched merchant
SBUX_STORE_321_NYCStarbucksFood & DrinkAMZ_STORECRD_PMT PAYMENTAmazonShoppingCONSUMERS ENERGY ENERGYBILLConsumers EnergyUtilitiesALAMO SOUTH LAMAR RETAILAlamo DrafthouseEntertainment
Parses any descriptor
Messy strings like ALAMO SOUTH LAMAR RETAIL resolve to a canonical merchant.
Logo included
Every resolved merchant returns a logo URL, so rows are branded instantly.
Category tagging
Each transaction comes tagged with a category for budgeting and analytics.
Where fintech teams use merchant enrichment
Anywhere a raw transaction lands, the API resolves it to a real merchant.
- Banking apps
- Show users who they paid, with a logo, instead of uppercase processor noise.
- Personal finance tools
- Power budgeting and spend analytics with a category on every transaction.
- Expense platforms
- Resolve receipts and card feeds to clean, reportable merchants automatically.
- Fraud and disputes
- Cut "I don't recognize this charge" tickets with a recognizable merchant and logo.
- Spend analytics
- Aggregate clean merchant and category data across millions of transactions.
- AI finance agents
- Give an agent structured merchant context from a raw transaction string.
- Card issuers
- Brand every transaction in a card or neobank feed straight from the descriptor.
- Subscription tracking
- Spot recurring merchants and categorize subscriptions across statements.
- Accounting and bookkeeping
- Map bank feeds to real vendors so the books reconcile without manual cleanup.
One request, a clean merchant
Post a raw transaction descriptor, get back the merchant, logo, and category.
curl -H "Authorization: Bearer sk_..." \
-X POST "https://api.logo.dev/enrich/transaction" \
-d '{ "description": "SBUX_STORE_321_NYC" }'Response
One clean object per descriptor. Drop it straight into a transaction feed.
{
"merchant": "Starbucks",
"domain": "starbucks.com",
"logo": "https://img.logo.dev/starbucks.com?token=...",
"category": "Food & Drink"
}- Clean, canonical merchant name
- Verified domain
- Logo URL from the Logo.dev CDN
- Spending category per transaction
- Handles store numbers and location codes
- Card, ACH, and processor descriptors
- Backed by a 30M+ company index
- Ambiguous strings flagged, not guessed
"We use Logo.dev inside lucanto.eu and love it. It automatically enriches our invoice and expense lists with company logos, giving users a cleaner and more delightful experience. Highly recommended!"
Erich Stark
Frequently asked questions
More from Logo.dev
Clean every transaction in your app
- Clean merchant, logo, and category
- Backed by a 30M+ company index
- Built for real-time feeds