Connect to 85+ banks across MENA and Africa with a single API. Get started in minutes with our SDKs, comprehensive docs, and sandbox environment.
Go Live in 4 Steps
From signup to first API call in under 10 minutes.
Get API Keys
Sign up for sandbox access and receive your API credentials within minutes.
Install SDK
Use our official SDKs for Node.js, Python, or make direct REST API calls.
Connect a Bank
Use our drop-in widget or direct API to initiate bank connections.
Fetch Data
Retrieve accounts, transactions, and run verification checks.
Install an SDK
npm install @sahl/node-sdkpip install sahl-pythongo get github.com/sahl/sahl-gocurl -X GET https://api.sahlfinancial.com/v1/See It in Action
Copy-paste examples to connect a bank and fetch transactions.
import Sahl from '@sahl/node-sdk';
const sahl = new Sahl({
apiKey: process.env.SAHL_API_KEY,
environment: 'sandbox' // or 'production'
});
// Create a connection session
const session = await sahl.connect.createSession({
customerId: 'user_123',
redirectUrl: 'https://yourapp.com/callback',
country: 'MA', // MA, TN, EG, NG, AE, SA
});
// Redirect user to session.connectUrl
// After user connects, fetch their accounts
const accounts = await sahl.accounts.list({
customerId: 'user_123'
});
// Get transactions for an account
const transactions = await sahl.transactions.list({
accountId: accounts[0].id,
fromDate: '2024-01-01',
toDate: '2024-12-31'
});
console.log(`Found ${transactions.length} transactions`);Interactive API Explorer
Test endpoints directly in your browser. Click any endpoint to expand and try it out.
Authentication
All API requests require three credentials in the headers. Your Client ID and Client Secret identify your application, while the Bearer token (which rotates periodically) authorizes the request. Get your credentials from the dashboard after signing up.
# Required headers for all API requests
X-Client-Id: your_client_id
X-Client-Secret: your_client_secret
Authorization: Bearer sk_live_your_rotating_token
# Token rotation: Bearer tokens expire every 24 hours
# Use the /v1/auth/token endpoint to refreshBank Connection Methods
Sahl supports multiple connection methods depending on the bank and region. Our API automatically selects the optimal method for each institution.
PSD2 / OAuth 2.0
Secure token-based access via official bank APIs. User authenticates directly with their bank (Strong Customer Authentication), and we receive delegated access tokens. No credentials stored.
Secure Screen Aggregation
For banks without open APIs, users provide their banking credentials through our secure widget. Credentials are encrypted (AES-256) and used to aggregate data. User consent required.
// Connection method is determined automatically based on bank
const session = await sahl.connect.createSession({
customer_id: "cust_123",
redirect_url: "https://yourapp.com/callback",
country: "FR", // France - will use PSD2/OAuth 2.0
bank_code: "BNPAFRPP" // Optional: pre-select bank
});
// For credential-based banks (e.g., Morocco)
// User enters credentials in our secure widget
// Response includes connection_method for transparency
{
"id": "sess_abc",
"connect_url": "https://connect.sahl.ma/sess_abc",
"connection_method": "oauth2", // or "credentials"
"auth_flow": "redirect" // OAuth: redirect | Credentials: embedded
}MENA Considerations
Bank Variability
Data availability varies by bank. Our API normalizes responses and indicates field availability.
Consent Audit Trails
Full audit logs for regulatory compliance. Track consent grants, revocations, and data access.
Arabic Support
Transaction descriptions and merchant names available in both Arabic and English.
Islamic Banking
Full support for Islamic banking products including Murabaha, Ijara, and profit-sharing accounts.
142ms p99 Latency
Optimized infrastructure across MENA with regional endpoints for low-latency responses.
Bank-Grade Security
Built on the SOC 2 framework. All data encrypted in transit (TLS 1.3) and at rest (AES-256).
85+ Bank Integrations
Single API to connect with major banks across MENA and Africa regions.
99.99% Uptime SLA
Enterprise-grade reliability with automatic failover and real-time status monitoring.
Start building today
Get sandbox access and start integrating Sahl into your product.