India-native · UPI + Bank · Production-ready

Turn raw UPI strings into
structured intelligence

One API call turns messy bank transaction descriptions into clean merchant names, categories, and spending signals — built specifically for Indian fintech.

Raw bank string
UPI/DR/318291/ANANDA BHA/paytmqr6w@/FOOD
UPIForge output
"merchant": "Adyar Ananda Bhavan"
"category": "Food & Dining"
"subcategory": "Restaurant"
"confidence": 0.97
"is_recurring": false

Every team building on India's payment stack

Whether you're underwriting credit, building expense views, or integrating UPI data into your product — UPIForge is the intelligence layer your stack is missing.

🏦
Lending & BNPL

Credit Underwriters

Raw UPI strings tell you nothing. Categorized transaction data tells you how a borrower actually spends — groceries vs. EMIs vs. impulse shopping.

Better risk models. Fewer bad loans.
📱
SaaS & Apps

Expense Management Products

Your users see "UPI/DR/98234/ANANDA BHA/paytmqr@" in their statement. You need to show them "Food & Dining — ₹450". That gap is what we close.

Cleaner dashboards. Fewer support tickets.
💳
Neo-banks & Wealth

Personal Finance & Wealth Apps

Spending insights, category budgets, and cash flow summaries all require the same foundation — structured transaction data. Start with that, not from scratch.

Richer product. Faster time-to-market.
⌨️
Developers & Engineers

Teams Who Want to Integrate Fast

One REST endpoint. JSON in, JSON out. No model training, no regex maintenance, no edge cases to handle. Drop in the API key and ship.

Hours to integrate. Months saved.

Everything your app needs from a transaction

A multi-stage intelligence pipeline — rule engine, ML classifier, and LLM fallback — that handles the full chaos of Indian UPI and bank strings.

🏪

Merchant Normalization

Maps truncated, abbreviated UPI strings to canonical merchant names. Handles IndusInd truncation, Paytm QR codes, NEFT references, and regional Indian merchants.

🏷️

Category & Subcategory

15 L1 categories, 50+ L2 subcategories. Powered by a merchant registry, ML classifier, and LLM fallback for unknown merchants.

🔁

Recurring Detection

Automatically identifies EMIs, subscriptions, rent, and utility bill cycles. Essential for cash flow views and credit underwriting.

💰

Income Classification

Detects salary, freelance income, interest, and refunds from CREDIT transactions. Distinguishes income signals from P2P transfers.

📊

Confidence Scoring

Every result carries a confidence score. Registry hits score 0.90+, ML hits 0.70+, LLM fallback 0.55–0.65. Build rule-based UX on top.

Batch Processing

Process up to 5,000 transactions in a single API call. Results return in milliseconds per transaction — production-grade throughput.

Simple REST API

Authenticate with an X-API-Key header. All endpoints return JSON. Contact us to get an API key.

POST /transactions

Enrich a single transaction. Returns merchant, category, subcategory, confidence, recurring flag, and income flag.

🔑 Requires X-API-Key header
POST /transactions/batch

Enrich up to 5,000 transactions in one call. Ideal for statement processing, demo reports, and bulk enrichment.

🔑 Requires X-API-Key header
GET /health

Service health check. Returns version, uptime, and model load status. No auth required.

GET /ready

Readiness probe. Returns 200 only when database and ML models are fully loaded.

Start with a free evaluation

Send us a sample of 500 anonymised transactions. We'll run them through the API and send you a full intelligence report — category breakdown, merchant coverage, confidence distribution — in 48 hours. No strings attached.

Request Free Evaluation

We respond within 24 hours. Evaluation is free, no commitment required.