For banks, lenders & fintech product teams

SMS parsing API: turn bank transaction alerts into structured data and credit insights

Your customers' banks, cards, wallets and lenders already send them a message for almost every transaction. FinArt's API converts those messages into clean, categorised transaction records — and into derived insights such as estimated monthly income, past payment behaviour and product intent, ready for underwriting, personal finance features, collections and cross-sell. No bank login. No screen scraping. No dependency on open-banking coverage.

🇮🇳 India🇱🇰 Sri Lanka🇦🇪 UAE🇸🇦 Saudi Arabia🇶🇦 Qatar🇴🇲 Oman🇧🇭 Bahrain

What an SMS parsing API does

In one paragraph: An SMS parsing API takes the raw text of a financial message — a bank debit alert, a card transaction notification, a wallet top-up, an EMI or bill reminder — and returns it as structured data: amount, currency, direction, institution, masked account, counterparty, channel, reference and running balance. Instead of every product team writing and maintaining thousands of per-bank regular expressions that break whenever a bank edits a template, you post a message and read back one normalised transaction object that is identical across banks, wallets and countries.

This is the cheapest high-coverage financial data source in the markets FinArt serves. In India, Sri Lanka and the GCC, transaction SMS reaches essentially every customer who has a bank relationship and a phone — including customers with no credit file, no aggregator-connected account and no digital statement history. It arrives within seconds of the transaction, it spans banks, cards, wallets and lenders simultaneously, and crucially you do not need to own the platform that generates it. Unlike e-commerce history, delivery data or in-house wallet transactions, SMS is alternative data you can use without first building the service that produces it.

What you get back

Classification first

Every message is classified before extraction: transaction, EMI or bill due, balance update, OTP, promotional, or non-financial. OTP and marketing traffic is excluded explicitly, with a reason code.

Normalised amounts

Amount, ISO 4217 currency code and direction (debit, credit, refund, reversal, failed), normalised across the lakh/crore, Arabic-numeral and Western decimal conventions used in these markets.

Instrument identity

Institution name, instrument type (savings, current, credit card, prepaid wallet, loan account) and the masked account or card reference, so transactions can be grouped per account.

Counterparty & category

Raw and normalised merchant or counterparty, payment channel (UPI, card, transfer, ATM, cheque, standing instruction), reference number, and an assigned merchant category with a confidence score.

Credit signals

EMI amounts and due dates, minimum-due and total-due on card statements, overdue and penalty notices, credit limits and available balance where the message contains them.

Confidence, not guesses

Field-level and record-level confidence. An unseen template degrades into a partial extraction with low confidence rather than a silently wrong value or a silent miss.

Request and response

The integration surface is deliberately small. You send a message payload; you read back a transaction object. The example below is an Indian UPI debit alert.

Request

POST /v1/parse
Authorization: Bearer <api_key>
Content-Type: application/json

{
  "message_id": "c1f9a4e2",
  "sender": "AD-HDFCBK",
  "body": "Sent Rs.1249.00 From HDFC Bank A/C XX4821 To SWIGGY On 05/09/26 Ref 528374912345 UPI:swiggy@icici Avl Bal Rs.18422.65",
  "received_at": "2026-09-05T14:32:10+05:30",
  "country": "IN",
  "locale": "en-IN"
}

Response

{
  "message_id": "c1f9a4e2",
  "is_transaction": true,
  "message_class": "transaction",
  "type": "debit",
  "amount":      { "value": 1249.00, "currency": "INR" },
  "institution": { "name": "HDFC Bank", "code": "HDFC", "country": "IN" },
  "instrument":  { "type": "savings", "mask": "XX4821" },
  "counterparty":{ "raw": "SWIGGY", "normalised": "Swiggy", "vpa": "swiggy@icici" },
  "channel": "UPI",
  "reference": "528374912345",
  "occurred_at": "2026-09-05T00:00:00+05:30",
  "balance_after": { "value": 18422.65, "currency": "INR" },
  "category": { "id": "food_delivery", "label": "Food & Dining", "confidence": 0.97 },
  "confidence": 0.99
}

The same schema, a different market

A Saudi mada card purchase in Arabic returns the identical object shape — only the values change. That is the point of the normalisation layer: your downstream feature pipeline, ledger or scorecard does not need per-country branching.

{
  "message_id": "7ab30c11",
  "is_transaction": true,
  "message_class": "transaction",
  "type": "debit",
  "amount":      { "value": 87.50, "currency": "SAR" },
  "institution": { "name": "Al Rajhi Bank", "code": "RJHI", "country": "SA" },
  "instrument":  { "type": "debit_card", "mask": "**4417", "scheme": "mada" },
  "counterparty":{ "raw": "PANDA HYPERMARKET", "normalised": "Panda" },
  "channel": "card_pos",
  "occurred_at": "2026-09-05T19:41:00+03:00",
  "category": { "id": "groceries", "label": "Groceries", "confidence": 0.95 },
  "language": "ar",
  "confidence": 0.98
}

A message that is deliberately not a transaction

{
  "message_id": "0d47fe93",
  "is_transaction": false,
  "message_class": "otp",
  "excluded_reason": "one_time_password",
  "confidence": 0.99
}

One-time passwords, promotional offers, delivery updates and service notices are filtered at classification time and never reach your transaction store. Handling OTP traffic correctly is both a security requirement and a regulatory expectation across these markets.

Core response fields

FieldTypeDescription
is_transactionbooleanWhether the message represents a financial event you should store.
message_classenumtransaction, emi_due, bill_due, balance, otp, promotional, other.
typeenumdebit, credit, refund, reversal, failed.
amountobjectDecimal value plus ISO 4217 currency.
institutionobjectResolved bank, card issuer, wallet or lender, with country.
instrumentobjectAccount or card type, masked reference and card scheme where present.
counterpartyobjectRaw merchant string plus a normalised name; VPA or IBAN fragment where the message carries one.
channelenumRail used: UPI, card_pos, card_online, atm, transfer, standing_instruction, cheque, wallet.
balance_afterobjectRunning balance when the message discloses it — a strong liquidity signal.
categoryobjectMerchant category id, human label and confidence.
confidencefloatRecord-level confidence, for routing low-confidence records to review.

Field availability depends on what the sending institution actually puts in the message. Balance, reference and category are populated where present. Exact field lists, error codes, batch endpoints and rate limits are covered in the technical documentation, which is released once a commercial agreement is in place.

Beyond parsing: the derived insights layer

The short version: parsing gives you clean transactions. Most lenders then spend months building a feature pipeline on top of them before anything reaches a model or a campaign. FinArt provides that layer too — derived, model-ready insights computed across a customer's whole message history, delivered alongside the per-message parsing response or on its own.

This is usually the part that decides the business case. A transaction feed is an input; an income estimate, a repayment-behaviour profile and a product-intent score are decisions you can act on the same day, without hiring a feature-engineering team first.

Estimated monthly income

Recurring salary and inflow detection, an estimated monthly figure, regularity classification (salaried, irregular, self-employed pattern) and a confidence score — for applicants with no payslip and no bureau file.

Purchase intent

Propensity signals for loans, insurance and investment products, derived from observed behaviour: enquiry traffic, card utilisation trends, policy renewal timing, recurring surplus and existing product holdings.

Past payment behaviour

Repayment patterns across all lenders visible in the message history — EMI payments made, on-time ratio, overdue notices, bounce and penalty events. Including obligations to lenders outside your own book.

Obligations & EMI burden

Active EMI count and estimated monthly outflow, giving an affordability view that bureau data reports late and self-declaration reports optimistically.

Spending profile

Category-level spend, monthly averages and trend direction — the behavioural stability signal that traditional scores do not observe at all.

Liquidity patterns

Median and trough balances and low-balance frequency, drawn from the running balances banks disclose in their own alerts.

Illustrative insights response

Computed over a rolling window rather than a single message. The exact catalogue, window and field names are agreed per engagement — this shows the shape.

{
  "user_ref": "u_8f21c04b",
  "window": { "from": "2026-03-01", "to": "2026-08-31", "months": 6 },
  "income": {
    "estimated_monthly": { "value": 84500, "currency": "INR" },
    "regularity": "salaried_regular",
    "credits_observed": 6,
    "confidence": 0.91
  },
  "payment_behaviour": {
    "emi_payments_observed": 17,
    "on_time_ratio": 0.94,
    "overdue_events": 1,
    "penalty_or_bounce_events": 0
  },
  "obligations": {
    "active_emi_count": 2,
    "estimated_monthly_outflow": { "value": 12400, "currency": "INR" }
  },
  "intent": [
    { "product": "personal_loan", "score": 0.72, "signals": ["loan_enquiry_messages", "rising_card_utilisation"] },
    { "product": "investment",    "score": 0.55, "signals": ["recurring_surplus", "existing_sip_debits"] },
    { "product": "insurance",     "score": 0.38, "signals": ["policy_renewal_due"] }
  ],
  "spending": {
    "monthly_average": { "value": 41200, "currency": "INR" },
    "top_categories": ["groceries", "fuel", "food_delivery"],
    "trend": "stable"
  },
  "liquidity": {
    "median_balance": { "value": 23800, "currency": "INR" },
    "low_balance_days_pct": 0.12
  }
}

The insight catalogue is extensible: additional signals are built for specific underwriting, collections or cross-sell objectives during the engagement. Insights can be delivered as a scored object like the above, or as raw model-ready features for teams that prefer to own the scorecard.

This maps directly onto what the research in the evidence section measured: income regularity, overdue frequency, EMI burden and spending stability were among the highest-contribution features in a model that outperformed traditional credit scores by 33%.

How the parsing engine works

Two layers, because neither alone is sufficient at national scale.

  1. Sender-template extraction. Maintained pattern models per sender header — AD-HDFCBK, SBIINB, Al Rajhi, BenefitPay and so on. Fast, deterministic and exact for the senders that generate the overwhelming majority of message volume.
  2. Named entity recognition fallback. Extractions from the template layer become training labels for an NER model that generalises to senders no template covers — small savings banks, regional cooperatives, new wallets, a bank that shipped a template change last night. This is what keeps coverage from collapsing at the long tail, and it is the same architectural pattern used in the peer-reviewed research cited below.

Around those two layers sit classification (is this even a transaction?), currency and numeral normalisation, institution resolution, merchant normalisation and category assignment.

Three deployment models

ModelWhere parsing runsWhat leaves the deviceBest for
On-device SDK
Android & iOS
On the handsetStructured result only — raw message text never leaves the phoneConsumer apps with strict privacy positioning; markets where data minimisation is the selling point
Cloud REST APIFinArt infrastructureThe message payload you sendFastest integration; server-side pipelines; batch backfills
Private cloud / on-premiseYour VPC or data centreNothing — the container runs inside your boundaryBanks and regulated lenders with data-residency or localisation requirements

The engine is stateless per request and makes no outbound calls during parsing, which is what makes the in-VPC and on-device options straightforward. Throughput and latency benchmarks for your expected volume are shared during evaluation.

SMS parsing vs the alternatives

These are not mutually exclusive. Most sophisticated teams use SMS parsing for breadth and immediacy, and an aggregator or statement pull for depth on the accounts that matter most. The honest comparison:

ApproachCustomer frictionCoverage in these marketsFreshnessWorks for thin-file customers
Transaction SMS parsingOne permission in your appAny institution that sends alerts — banks, cards, wallets, lendersSecondsYes — no credit file needed
Account aggregator / open bankingLive consent flow per accountParticipating institutions only; uneven outside IndiaNear real timeOnly if they hold a covered account
Credit bureau pullLowCredit-active population onlyWeeks to months of lagNo — this is the gap
PDF statement uploadCustomer must find and upload filesOne account at a timeMonthlyOnly if banked with statements
Screen scraping with credentialsCustomer hands over bank loginFragile; breaks on UI changeOn refreshVaries
Build SMS parsing in-houseSame as aboveWhatever your team has time to maintainSecondsYes

On building it yourself

Every serious product team in these markets has considered it, and the first version is genuinely not hard — a few hundred regular expressions covering the top ten banks will get you a demo. The cost is not the build; it is that bank templates drift continuously, wallets and rails launch, and each market you expand into resets the work. That maintenance lands on the same engineers you hired to build your actual product, and a template change that silently stops producing transactions is a class of bug that is very hard to notice from the inside. FinArt's own consumer app runs on this engine, which means template drift shows up in FinArt's product before it shows up in yours.

What teams build with it

Credit underwriting & thin-file scoring

Derive income regularity, salary credits, balance volatility, EMI burden, overdue and penalty frequency, and spending stability as model features — for applicants with little or no bureau history.

Personal finance & neobank features

Automatic expense tracking, categorised spending, multi-account net worth and bill due-date reminders, without asking the customer to link a bank account.

Round-up & micro-investing

Detect every debit in near real time to trigger round-ups, auto-save rules or micro-investment sweeps — a pattern already running in production on FinArt's APIs at leading FinTechs.

Collections & early warning

Detect salary credits to time collection attempts, and pick up overdue, bounce and penalty notices from other lenders as an early stress signal on an existing book.

Income & affordability verification

Corroborate declared income against observed salary credits and recurring inflows, as a fast pre-screen ahead of a heavier document or aggregator check.

Cross-sell & product targeting

Identify customers carrying a competitor's EMI, paying high card interest, or holding balances that indicate readiness for a deposit, insurance or investment product.

The evidence that SMS data predicts credit risk

This is no longer only a vendor claim. A June 2026 working paper — “Signals from SMS: Alternative Data and Distributional Effects in Credit Scoring” by Seung Hyeong Lee, Kenneth Ryu and Jaehyeok Shin — analysed 22 million loan applications at an Indian fintech lender and measured, source by source, how much SMS-derived data actually contributes to predicting delinquency.

0.6862AUROC of the machine-learning score using SMS + bureau + app data, against 0.5161 for the traditional bureau credit score — a 33% improvement.
0.6603AUROC of an SMS-only model — the best of every single-source model tested, ahead of a credit-bureau-only model at 0.6333.
~80%Share of the final ~3,000-feature model made up of SMS-derived features. Their total SHAP contribution exceeded every other data category combined.
+12.61ppAUROC gain from adding alternative data for applicants with no bureau score at all — against +6.19pp for super-prime applicants.

Where the gains actually land

The leave-one-out analysis is the most useful result for anyone deciding what to integrate. Removing SMS data cost the model 3.10 percentage points of AUROC — roughly double the 1.53pp cost of removing credit bureau data, and an order of magnitude more than removing application, service or survey data. In the authors' framing, SMS and bureau data are complements that cannot substitute for each other: each contributes information the other does not hold.

Data source (used alone)AUROCGiniMarginal AUROC when removed from the full model
All sources combined0.68620.3724
SMS0.66030.32063.10 pp
Credit bureau0.63330.26661.53 pp
Loan application0.59180.18360.04 pp
Service / platform data0.57850.15700.36 pp
Survey0.54840.09680.07 pp
Traditional credit score0.51610.0322

Source: Lee, Ryu & Shin (June 2026), Table 3. Delinquency is defined as 30+ days past due on any of the first three EMIs.

Credit access, measured

Across 2.7 million approvals in the study, 45,012 loans went to new-to-credit borrowers with no bureau score, and 2.68% of all loans went to applicants who were either unscored or subprime — borrowers who would in practice have been declined in a bureau-only market. The paper also notes the methodological point that matters most for regional expansion: because the extraction method depends only on the alert the bank already sends, it “is generalizable in different settings and can be applied in other countries where SMS is used as a channel for transaction alerts.”

The finding your model-risk team will want to read

We would rather you hear this from us than find it in review. The same paper reports that the benefits of alternative-data scoring skew toward financially advantaged applicants — not because of algorithmic bias, the authors are explicit on this, but because more extractable financial signal exists in their message history in the first place. Applicants with a college education ranked on average 7.3 percentile points higher under the alternative score than under the traditional one. Asking for more data does not fully close the gap either: less advantaged applicants were measurably less willing to share bank statements when asked.

The practical implication for anyone deploying this: treat signal density as a monitored model input. Track coverage and extraction volume by applicant segment, and be careful about policies that implicitly penalise a customer for having a sparse message history rather than a poor one. We would rather help you instrument that from day one than have it surface in a fair-lending review two years in.

FinArt was not a party to this research and the study analysed a different lender's stack. We cite it because it is the most rigorous public measurement of what SMS-derived financial data is worth in a credit model, and because its conclusions about coverage disparity should inform how the data is used.

Markets: India, Sri Lanka and the GCC

FinArt concentrates on markets where transaction SMS remains the dominant real-time financial notification channel, mobile penetration is near-universal, and bureau coverage leaves a large, creditworthy population invisible. The parsing approach is sender-driven rather than integration-driven, so adding an institution means adding message samples, not negotiating a new data connection.

MarketCurrencyRails & schemes that generate alertsRegulatorMessage languages
IndiaINRUPI, IMPS, NEFT, RTGS, NACH e-mandates, AePS, RuPay/Visa/Mastercard, prepaid wallets, NBFC and BNPL EMI alertsReserve Bank of IndiaEnglish, Hindi and regional scripts
Sri LankaLKRLankaPay, CEFTS, SLIPS, LANKAQR, JustPay, card networks, mobile walletsCentral Bank of Sri LankaEnglish, Sinhala, Tamil
United Arab EmiratesAEDAani instant payments, Jaywan domestic card scheme, UAEFTS transfers, WPS salary credits, card networksCentral Bank of the UAEArabic, English, bilingual
Saudi ArabiaSARmada, sarie instant payments, SADAD bill payments, stc pay and other wallets, card networksSaudi Central Bank (SAMA)Arabic, English, bilingual
QatarQARHimyan domestic debit scheme, Fawran instant payments, NAPS, card networksQatar Central BankArabic, English, bilingual
OmanOMROmanNet switch, mobile payment clearing, card networks, walletsCentral Bank of OmanArabic, English, bilingual
BahrainBHDBENEFIT and BenefitPay, Fawri, Fawri+, Fawateer, EFTS, card networksCentral Bank of BahrainArabic, English, bilingual

What differs by market, and why it matters

Exact sender and template coverage is confirmed empirically, against a sample of your own real messages, during evaluation — not asserted from a marketing page. Any senders the benchmark shows as uncovered are added through an agreed extension process before production rollout.

Security, privacy and regulatory fit

You remain the data controller for your customers' data. FinArt processes it on your instructions under a data processing agreement, and the deployment models exist precisely so that raw message text can stay inside whatever boundary your regulator, your risk committee or your own privacy promise requires.

Applicable data protection regimes

MarketPrincipal data protection lawAuthority
IndiaDigital Personal Data Protection Act, 2023 — alongside RBI digital lending directions for regulated lendersData Protection Board of India; Reserve Bank of India
Sri LankaPersonal Data Protection Act No. 9 of 2022Data Protection Authority of Sri Lanka
United Arab EmiratesFederal Decree-Law No. 45 of 2021; DIFC Data Protection Law No. 5 of 2020 and ADGM Data Protection Regulations 2021 apply within those financial free zonesUAE Data Office; DIFC and ADGM Commissioners
Saudi ArabiaPersonal Data Protection Law, Royal Decree M/19 (2021, amended 2023), in force since September 2023Saudi Data & Artificial Intelligence Authority (SDAIA)
QatarLaw No. 13 of 2016 on Personal Data Privacy Protection; the QFC operates a separate regimeNational Cyber Security Agency / Compliance and Data Protection Department
OmanPersonal Data Protection Law, Royal Decree 6/2022, in force since February 2023Ministry of Transport, Communications and Information Technology
BahrainPersonal Data Protection Law No. 30 of 2018Personal Data Protection Authority

This table is orientation, not legal advice, and these regimes change. Confirm your own obligations with counsel — particularly on cross-border transfer, consent basis and any sector-specific rules your regulator applies to lending or customer data.

How an engagement runs

  1. Scoping call. Markets, expected monthly message volume, deployment model, and what you are actually trying to predict or build.
  2. Independent quality check. Before any paperwork, you can judge the engine for yourself through FinArt's consumer app, which runs on it — see below.
  3. Commercials and agreement. Volume-based pricing, the commercial agreement, data processing agreement, retention terms and support SLA. Technical documentation and API access are released at this point, not before.
  4. Documentation and integration. API reference, field definitions and integration guidance. The surface area is small — you post a message and read back one object — so most teams are calling the API within days.
  5. Validation on your own messages. Coverage and field-level accuracy are checked against a sample of your real message traffic, so you are working from measured numbers rather than a claim. Senders that come back uncovered are added before rollout.
  6. Production rollout. With an agreed process for template drift, new senders and new markets as you expand.

A useful due-diligence shortcut: FinArt's own consumer expense-tracking app on Android and iOS runs on this same engine. Install it, connect your own messages, and verify parsing quality and coverage yourself before you sign anything. This is how most of our partners have run their technical due diligence.

Why FinArt

A decade on one problem

FinArt has built transaction-message parsing since 2016 — through UPI's launch, the GCC's domestic scheme rollouts, and countless bank template changes.

Verifiable in public

The same engine powers FinArt's consumer app: 1M+ installs and a 4.5-star Google Play rating. You can test the technology before you buy it.

Proven in production

Many leading NBFCs and FinTechs run transaction detection and insights on FinArt's APIs, across consumer lending, investment and personal-finance products. Partners have cited material cost savings against running parsing in-house.

Engineers, not a ticket queue

Direct WhatsApp, email and phone access to the people who maintain the engine — the support model our partners consistently single out during integration.

Frequently asked questions

What is an SMS parsing API?

An SMS parsing API takes the raw text of a financial SMS — a bank debit alert, a card transaction notification, a wallet top-up or an EMI reminder — and returns it as structured data: amount, currency, direction, institution, masked account number, counterparty, channel and reference. Instead of every product team writing and maintaining thousands of per-bank regular expressions, the API returns a single normalised transaction schema that is the same across banks and across countries.

Which countries does FinArt's SMS parsing API support?

FinArt focuses on markets where transaction SMS is still the dominant real-time financial notification channel: India, Sri Lanka, the United Arab Emirates, Saudi Arabia, Qatar, Oman and Bahrain. The parsing approach is sender-template driven with a named-entity-recognition fallback, so new banks, wallets and countries are added from message samples rather than requiring a new integration per institution.

Do you need the customer's bank login or open-banking consent?

No. The API works on messages the bank has already delivered to the customer's own device, under the customer's own consent in your app. There is no online-banking credential, no screen scraping and no dependency on an open-banking or account-aggregator connection. This matters in markets where open banking is still partial or absent, and for customers whose institution is not covered by an aggregator.

Does raw SMS text have to leave the user's phone?

Not if you do not want it to. FinArt offers an on-device SDK for Android and iOS in which parsing runs locally on the handset and only the structured result — or only the derived features you choose — is returned to your systems. A cloud REST API and a private-cloud or on-premise container deployment are also available for teams with different data-residency and architecture requirements.

How does the API avoid picking up OTPs and promotional messages?

Classification runs before extraction. One-time passwords, marketing and promotional messages, delivery notifications and other non-financial traffic are identified and excluded, and the API returns an explicit is_transaction flag with a reason. Handling OTP traffic correctly is both a security requirement and a regulatory expectation in several of these markets.

Is SMS data actually predictive for credit underwriting?

Independent academic research suggests it is. In a June 2026 working paper analysing 22 million loan applications at an Indian fintech lender, Lee, Ryu and Shin found that a machine-learning credit score built on SMS-derived and bureau data reached an AUROC of 0.6862 against 0.5161 for the traditional bureau score. Among single-source models, SMS alone performed best at 0.6603 — better than a model built on credit bureau data alone at 0.6333 — and SMS features contributed roughly 80 percent of the final feature set. The measured gains were largest exactly where bureau data is weakest: 10.02 percentage points of AUROC for subprime applicants and 12.61 points for applicants with no bureau score at all. See the evidence section for the full table and the important caveats.

How does this compare with account aggregator or open banking data?

They are complementary rather than competing. Account aggregator and open-banking feeds are authoritative and richer per account, but they require a live consent flow, they only cover participating institutions, and coverage is uneven across India, Sri Lanka and the GCC. Transaction SMS reaches almost every customer with a bank relationship and a phone, arrives within seconds of the transaction, and spans banks, cards, wallets and lenders at once. Many teams use SMS parsing for breadth and instant coverage, and an aggregator pull for depth on the accounts that matter most.

What data protection laws apply when processing transaction SMS in these markets?

Each market has its own regime: India's Digital Personal Data Protection Act, 2023 alongside the Reserve Bank of India's digital lending directions; Sri Lanka's Personal Data Protection Act No. 9 of 2022; the UAE's Federal Decree-Law No. 45 of 2021 (with separate DIFC and ADGM regimes); Saudi Arabia's Personal Data Protection Law under Royal Decree M/19, enforced by SDAIA; Qatar's Law No. 13 of 2016; Oman's Personal Data Protection Law under Royal Decree 6/2022; and Bahrain's Law No. 30 of 2018. You remain the data controller for your customers' data. FinArt's role, the deployment model and the retention terms are set out in the data processing agreement, and the on-device and in-VPC options exist so that raw message text can stay inside your chosen boundary.

What insights do you provide beyond the parsed transactions?

Alongside the per-message parsing response, FinArt provides a derived insights layer computed across a customer's message history. It covers estimated monthly income and income regularity, past payment behaviour including on-time ratio and overdue or penalty events, active EMI obligations and estimated monthly outflow, category-level spending profile and trend, liquidity and balance patterns, and purchase intent scoring for loans, insurance and investment products. These are the model-ready features banks, NBFCs and fintechs actually need, so you do not have to build a feature pipeline on top of raw transactions before anything reaches a scorecard or a campaign. The insight catalogue is extensible and is agreed per engagement.

Can we evaluate parsing quality before signing an agreement?

Yes, and this is the usual route. FinArt's own consumer expense-tracking app on Android and iOS runs on the same parsing engine, so you can install it, connect your own messages and judge coverage and accuracy directly, at no cost and with no commitment. Technical documentation and API access are released once a commercial agreement is in place, so the consumer app is how most teams satisfy themselves on quality first.

How long does integration take?

The integration itself is small: you post a message payload and read back a normalised transaction object, so most teams are calling the API within days rather than months. The sequence is a scoping conversation, then the commercial and data processing agreements, then release of technical documentation and API access, then a validation pass on your own message samples before production rollout — with an agreed process for extending coverage to any senders that pass shows are missing.

What happens when a bank changes its SMS template?

Template drift is the main ongoing cost of running SMS parsing in-house, and it is the main thing you are outsourcing. FinArt maintains sender templates centrally, and a named-entity-recognition layer generalises to senders and formats that no template covers yet, so an unseen format degrades into a partial extraction rather than a silent miss. Fixes ship once, centrally, instead of in each customer's next app release.

Can the API handle Arabic, Hindi and other non-Latin scripts?

Yes. Transaction alerts in the GCC are commonly sent in Arabic or in bilingual Arabic and English, and Indian and Sri Lankan senders mix English with Devanagari, Tamil and Sinhala. Amount formats, digit forms, date orders and decimal conventions differ by market too, and normalisation to a single schema with an explicit ISO 4217 currency code is part of what the API does.

Who already uses FinArt's parsing technology?

FinArt has licensed its transaction-detection and insights APIs since 2016, and they are used today by many leading NBFCs and FinTechs across consumer lending, investment and personal-finance products. Client names are shared under NDA during commercial discussions. FinArt also runs its own consumer expense-tracking app on Android and iOS, which lets prospective partners independently verify parsing quality and coverage before signing anything.

How is the API priced?

Pricing is volume-based and depends on deployment model, the markets you need, and whether you take raw parsing only or parsing plus enrichment and analytics. Write to support@finart.app with your expected monthly message volume and target markets for a quote.

Talk to us about your integration

Tell us your target markets, expected monthly message volume, whether you need parsing, insights or both, and your preferred deployment model. We will come back with a scoped proposal and pricing.

Or use the chat widget at the bottom right of this page — it reaches the same team.

Related reading

Last updated: 7 September 2026 · Written and maintained by the FinArt team · support@finart.app