One API key. Every Serbian bank. Account data, transactions, identity verification, and payment initiation โ production-ready, built for Serbia.
Connected to Serbia's leading banks
Products
Six API products that give your app complete access to Serbian bank accounts โ from real-time balances to enriched transaction history.
Full transaction history with cursor-based sync. Merchant names are automatically enriched โ raw codes become clean, readable names.
Learn moreReal-time account balances across all connected accounts. Current and available balances, updated whenever your user's bank reports changes.
Learn moreVerified account holder information โ name, phone, email, and address โ directly from the bank. Perfect for KYC and onboarding flows.
Learn moreVerified IBAN and BIC codes for payment initiation. Confirm account ownership before sending or receiving funds.
Learn moreAutomatically detect recurring payments โ subscriptions, rent, salary, utility bills. Categorized and tracked across all connected accounts.
Learn moreReal-time event notifications. Get alerted when transactions sync, connections change, or auth completes โ no polling required.
Learn moreDeveloper Experience
Clean REST API, predictable responses, detailed error codes. Get from zero to production 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, rate limiting, and encrypted connections. Your users' financial data is protected at every layer.
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 to payments, reconcile accounts, and eliminate manual data entry.
Verify employee bank accounts for direct deposit. Confirm IBAN ownership, validate account details, and set up salary payments with confidence.
Verify customer identity using bank-held data. Confirm names, addresses, and account ownership for KYC compliance โ no document uploads needed.
Initiate bank-to-bank payments with verified IBANs. Reduce payment failures, lower transaction costs, and move money faster than card rails.
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, test in sandbox mode, and go live when you're ready. No sales calls, no contracts.
# 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.