What an SMS parsing API does
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
| Field | Type | Description |
|---|---|---|
is_transaction | boolean | Whether the message represents a financial event you should store. |
message_class | enum | transaction, emi_due, bill_due, balance, otp, promotional, other. |
type | enum | debit, credit, refund, reversal, failed. |
amount | object | Decimal value plus ISO 4217 currency. |
institution | object | Resolved bank, card issuer, wallet or lender, with country. |
instrument | object | Account or card type, masked reference and card scheme where present. |
counterparty | object | Raw merchant string plus a normalised name; VPA or IBAN fragment where the message carries one. |
channel | enum | Rail used: UPI, card_pos, card_online, atm, transfer, standing_instruction, cheque, wallet. |
balance_after | object | Running balance when the message discloses it — a strong liquidity signal. |
category | object | Merchant category id, human label and confidence. |
confidence | float | Record-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
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.
- Sender-template extraction. Maintained pattern models per sender header —
AD-HDFCBK,SBIINB,Al Rajhi,BenefitPayand so on. Fast, deterministic and exact for the senders that generate the overwhelming majority of message volume. - 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
| Model | Where parsing runs | What leaves the device | Best for |
|---|---|---|---|
| On-device SDK Android & iOS | On the handset | Structured result only — raw message text never leaves the phone | Consumer apps with strict privacy positioning; markets where data minimisation is the selling point |
| Cloud REST API | FinArt infrastructure | The message payload you send | Fastest integration; server-side pipelines; batch backfills |
| Private cloud / on-premise | Your VPC or data centre | Nothing — the container runs inside your boundary | Banks 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:
| Approach | Customer friction | Coverage in these markets | Freshness | Works for thin-file customers |
|---|---|---|---|---|
| Transaction SMS parsing | One permission in your app | Any institution that sends alerts — banks, cards, wallets, lenders | Seconds | Yes — no credit file needed |
| Account aggregator / open banking | Live consent flow per account | Participating institutions only; uneven outside India | Near real time | Only if they hold a covered account |
| Credit bureau pull | Low | Credit-active population only | Weeks to months of lag | No — this is the gap |
| PDF statement upload | Customer must find and upload files | One account at a time | Monthly | Only if banked with statements |
| Screen scraping with credentials | Customer hands over bank login | Fragile; breaks on UI change | On refresh | Varies |
| Build SMS parsing in-house | Same as above | Whatever your team has time to maintain | Seconds | Yes |
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.
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) | AUROC | Gini | Marginal AUROC when removed from the full model |
|---|---|---|---|
| All sources combined | 0.6862 | 0.3724 | — |
| SMS | 0.6603 | 0.3206 | 3.10 pp |
| Credit bureau | 0.6333 | 0.2666 | 1.53 pp |
| Loan application | 0.5918 | 0.1836 | 0.04 pp |
| Service / platform data | 0.5785 | 0.1570 | 0.36 pp |
| Survey | 0.5484 | 0.0968 | 0.07 pp |
| Traditional credit score | 0.5161 | 0.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.
| Market | Currency | Rails & schemes that generate alerts | Regulator | Message languages |
|---|---|---|---|---|
| India | INR | UPI, IMPS, NEFT, RTGS, NACH e-mandates, AePS, RuPay/Visa/Mastercard, prepaid wallets, NBFC and BNPL EMI alerts | Reserve Bank of India | English, Hindi and regional scripts |
| Sri Lanka | LKR | LankaPay, CEFTS, SLIPS, LANKAQR, JustPay, card networks, mobile wallets | Central Bank of Sri Lanka | English, Sinhala, Tamil |
| United Arab Emirates | AED | Aani instant payments, Jaywan domestic card scheme, UAEFTS transfers, WPS salary credits, card networks | Central Bank of the UAE | Arabic, English, bilingual |
| Saudi Arabia | SAR | mada, sarie instant payments, SADAD bill payments, stc pay and other wallets, card networks | Saudi Central Bank (SAMA) | Arabic, English, bilingual |
| Qatar | QAR | Himyan domestic debit scheme, Fawran instant payments, NAPS, card networks | Qatar Central Bank | Arabic, English, bilingual |
| Oman | OMR | OmanNet switch, mobile payment clearing, card networks, wallets | Central Bank of Oman | Arabic, English, bilingual |
| Bahrain | BHD | BENEFIT and BenefitPay, Fawri, Fawri+, Fawateer, EFTS, card networks | Central Bank of Bahrain | Arabic, English, bilingual |
What differs by market, and why it matters
- India is the highest-volume and most fragmented market: hundreds of banks and cooperatives, an enormous UPI transaction count, sender headers registered under TRAI's DLT framework, and a very large credit-unserved population. The 2025 TransUnion CIBIL figures the research cites put roughly 451 million Indian adults in the credit-unserved category and a further 273 million underserved. Volume and template churn here are what the two-layer architecture exists for.
- Sri Lanka combines high mobile-banking penetration with limited bureau depth, and messages are frequently issued in Sinhala or Tamil alongside English — script handling is not optional.
- The GCC markets share a pattern that makes SMS unusually valuable: a large expatriate workforce with short domestic credit histories, salary paid through wage-protection systems that generate reliable credit alerts, heavy remittance outflow, and Arabic-first or bilingual message formats with their own numeral and date conventions. A worker three months into a UAE or Saudi posting has almost no bureau file and a perfectly legible income and spending record sitting in their inbox.
- Domestic card and instant-payment schemes are proliferating. Jaywan, Himyan, mada, sarie, Fawran and Aani all generate their own alert formats, and several are recent. Coverage of the newest rails is exactly where an in-house regex library falls behind first.
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.
- Consent stays with you. The API operates on messages your customer has already received and permitted your app to read. There is no credential sharing and no scraping.
- Data minimisation is a deployment choice. With the on-device SDK, raw message text never leaves the handset; you receive only the structured result, or only the derived features you specify.
- Residency is a deployment choice. The containerised engine can run inside your own VPC or data centre where localisation rules or internal policy require it.
- OTPs are excluded by design, not by convention — they are classified out before extraction.
- Retention is contractual. Retention windows, deletion timelines, sub-processor disclosure and audit rights are set in the DPA rather than left to platform defaults.
Applicable data protection regimes
| Market | Principal data protection law | Authority |
|---|---|---|
| India | Digital Personal Data Protection Act, 2023 — alongside RBI digital lending directions for regulated lenders | Data Protection Board of India; Reserve Bank of India |
| Sri Lanka | Personal Data Protection Act No. 9 of 2022 | Data Protection Authority of Sri Lanka |
| United Arab Emirates | Federal 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 zones | UAE Data Office; DIFC and ADGM Commissioners |
| Saudi Arabia | Personal Data Protection Law, Royal Decree M/19 (2021, amended 2023), in force since September 2023 | Saudi Data & Artificial Intelligence Authority (SDAIA) |
| Qatar | Law No. 13 of 2016 on Personal Data Privacy Protection; the QFC operates a separate regime | National Cyber Security Agency / Compliance and Data Protection Department |
| Oman | Personal Data Protection Law, Royal Decree 6/2022, in force since February 2023 | Ministry of Transport, Communications and Information Technology |
| Bahrain | Personal Data Protection Law No. 30 of 2018 | Personal 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
- Scoping call. Markets, expected monthly message volume, deployment model, and what you are actually trying to predict or build.
- Independent quality check. Before any paperwork, you can judge the engine for yourself through FinArt's consumer app, which runs on it — see below.
- 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.
- 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.
- 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.
- 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
- Bank SMS parser solution: converting transaction messages into structured data
- Partner with us — influencer and affiliate programme
- Privacy policy and terms of use
Last updated: 7 September 2026 · Written and maintained by the FinArt team · support@finart.app