Skip to main content
Product

Transaction intelligence that ships in a sprint, not a quarter

Four modules, one API key. Transaction categorization, 30-day cashflow forecasting, merchant name normalization, and recurring charge detection, each accessible from a single POST call. Openaggr sits on top of your open banking feed and does the classification work your team should not have to rebuild.

1,200+ categories <80ms p95 latency 14 recurring patterns 30-day forecast
Module 01

Transaction Categorization

Every transaction gets a category, a subcategory, and a confidence score between 0.0 and 1.0. The model reads merchant name signals, MCC codes, and contextual patterns to assign the correct category without a manual lookup table. Low-confidence results are flagged rather than silently guessed, so your app can surface an "uncategorized" state instead of showing the wrong label.

1,200+ merchant categories in a hierarchical taxonomy
Confidence score per classification (0.0 to 1.0)
Merchant name normalization (raw string to clean display name)
Color and icon token returned per category for direct UI mapping
200 OK 42ms
"category": "Food and Drink",
"subcategory": "Restaurants",
"confidence": 0.97,
"merchant_name": "Tacos El Sol",
"category_color": "#EF4444",
"category_icon": "fa-utensils"
category confidence
Module 02

Cashflow Insights

The /cashflow endpoint builds a 30-day forward projection from enriched transaction history. Income vs. expense separation, per-category spending curves, and recurring charge isolation are all returned in a single call. This is the endpoint that powers projected balance features and monthly budget summaries without requiring your team to build a forecasting model.

30-day per-category spending forecast
Income vs. expense net position per 30-day window
Recurring charge separation from discretionary spending
Weekly trend lines per category for sparkline rendering
View /cashflow endpoint
30-Day Forecast Sample
Food and Drink
Transport
$500 $250 $0 forecast
Module 03

Merchant Enrichment

Raw merchant strings like "SQ *TACOS EL SOL #4421 SF CA" become structured merchant objects with a clean display name, ISO 18245 MCC code, city, and logo availability flag. Name normalization runs on every /enrich call automatically, so your transaction feed shows "Tacos El Sol" instead of what the payment processor sent.

Normalized merchant display name
MCC code (Merchant Category Code) from the ISO 18245 standard
City and state geo-tagging from transaction string
Merchant logo availability flag for your UI layer
merchant object
"merchant": {
  "name": "Tacos El Sol",
  "mcc_code": "5812",
  "mcc_label": "Eating Places",
  "city": "San Francisco",
  "state": "CA",
  "logo_available": false
}
Module 04

Recurring Detection

Most recurring charge detectors only catch monthly subscriptions. Openaggr handles 14 pattern types: monthly subscriptions, annual renewals, utility bills, insurance premiums, rent-adjacent charges, and irregular recurring at variable cadences. Each detected charge returns the expected next charge date and an amount variance flag that triggers when a price increase occurs.

14 detected recurring pattern types
Subscription vs. bill vs. irregular classification
Expected next charge date and amount estimate
Flag for amount variance (detects price increases)
Subscription detected
NETFLIX.COM - Monthly, $15.49, next: 2026-07-14
Utility bill detected
TAMPA ELECTRIC - Monthly, ~$112, irregular amount
Annual renewal detected
AMAZON PRIME - Annual, $139, next: 2027-02-01

Explore the API docs. Test with your own transaction strings.

Openaggr is not a data aggregator and does not move money. It classifies and enriches transactions you already have. Get a free Sandbox key and run enrichment calls in under 5 minutes.