One API key. Serbian banks. Account data, transactions, and identity verification — free sandbox today, live bank data coming soon.
Serbia's leading banks — coming soon
Products
Six API products that give your app access to Serbian bank accounts — from balances to enriched transaction history. All six run today against sandbox data; live bank data unlocks once our NBS licence is granted.
Full transaction history with cursor-based sync. Merchant names are automatically enriched — raw codes become clean, readable names.
Account balances across all connected accounts. Current and available balances, updated whenever your user's bank reports changes.
Verified account holder information — name, phone, email, and address — directly from the bank. Perfect for KYC and onboarding flows.
Bank-verified IBAN and BIC codes. Confirm that an account really belongs to your user, without asking them to type it in.
Automatically detect recurring payments — subscriptions, rent, salary, utility bills. Categorized and tracked across all connected accounts.
Real-time event notifications. Get alerted when transactions sync, connections change, or auth completes — no polling required.
Developer Experience
Clean REST API, predictable responses, detailed error codes. Get from zero to your first sandbox call in a single afternoon.
# Fetch enriched transactions curl https://api.opendinar.com/accounts/{account_id}/transactions \ -H "Authorization: Bearer $OPENDINAR_KEY" \ -H "Content-Type: application/json" # Response — merchant names auto-enriched: # { # "amount": -2450.00, # "currency": "RSD", # "merchant": "Amazon", # "category": "Shopping", # "date": "2026-04-03" # }
// Fetch enriched transactions const response = await fetch( 'https://api.opendinar.com/accounts' + '/{account_id}/transactions', { headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json' } } ); const { transactions } = await response.json(); // Each transaction is enriched // "AMZN*5G7K2" → "Amazon" console.log(transactions[0]); // { amount: -2450.00, currency: "RSD", merchant: "Amazon" }
import requests headers = {"Authorization": f"Bearer {api_key}"} url = f"https://api.opendinar.com/accounts/{account_id}/transactions" res = requests.get(url, headers=headers) transactions = res.json()["transactions"] # Each transaction is enriched automatically print(transactions[0]) # {"amount": -2450.00, "currency": "RSD", # "merchant": "Amazon", "category": "Shopping"}
How It Works
No bank partnerships needed. No months of integration. Just an API key and a few lines of code.
Sign up on the dashboard, create a project, and get your sandbox API key in under a minute.
Embed our Link Widget in your app. Your users select their bank and securely authorize access.
Call our API to read balances, transactions, identity, and more. Clean, structured, ready to use.
Why OpenDinar
Bank-grade security, real-time data, and intelligent enrichment — built specifically for the Serbian financial ecosystem.
Raw bank codes are automatically cleaned and enriched. Every transaction gets a human-readable merchant name, category, and logo — out of the box, no extra work needed.
Subscriptions, rent, salary, and utility bills are automatically identified and tracked. Build budgeting tools, spending insights, or cash flow projections with zero manual tagging.
No polling. Webhooks fire the moment something changes — new transactions, completed auth, revoked connections. Every payload is HMAC-signed for verification.
HMAC-signed webhook payloads, hashed API keys, per-user consent with expiry, and TLS-encrypted connections. Read exactly what is and is not in place on our Security page.
Use Cases
Whether you're building a budgeting app, a lending platform, or a payroll tool — OpenDinar gives you the bank data layer you need.
Build budgeting apps, spending trackers, and financial dashboards. Pull transactions, detect subscriptions, and categorize spending automatically.
Assess creditworthiness with real bank data. Verify income, analyze cash flow, and make smarter underwriting decisions — faster than traditional methods.
Auto-import bank transactions into accounting software. Match invoices against incoming transactions, reconcile accounts, and eliminate manual data entry.
Verify employee bank accounts before you pay them. Confirm IBAN ownership and validate account details so your own payroll run does not bounce.
Verify customer identity using bank-held data. Confirm names, addresses, and account ownership for KYC compliance — no document uploads needed.
Confirm an account belongs to your user before you rely on it. Bank-verified IBAN and BIC data removes typos and cuts failed transfers — without you handling the money.
Why OpenDinar
Building direct bank integrations yourself means months of negotiations, maintenance, and compliance overhead. OpenDinar collapses that into a single API key.
Get your API key and build against sandbox data today. Live bank connections open once our NBS licence is granted — join the waitlist and we will tell you the day it happens.
# 1. Get your API key from the dashboard export OPENDINAR_KEY="od_test_sk_..." # 2. List connected accounts curl https://api.opendinar.com/accounts \ -H "Authorization: Bearer $OPENDINAR_KEY" # 3. That's it. You're connected.