Deposit banks
List the banks most used by your payers in a specific period.
Available endpoint
- Production:
https://api.pixtopay.com.br/v2/metrics/deposits/banks
⚠️ Attention: This endpoint is only available in production.
Query deposit banks
Route
GET /v2/metrics/deposits/banks
Headers
{
"Authorization": "YOUR_API_KEY"
}Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
start | string | Yes | Start date/time in "YYYY-MM-DD HH:MM:SS" format |
end | string | Yes | End date/time in "YYYY-MM-DD HH:MM:SS" format |
Request example:
curl --location 'https://api.pixtopay.com.br/v2/metrics/deposits/banks?start=2025-08-04%2016:00:00&end=2025-08-04%2017:00:00' \
--header 'Authorization: API_KEY'Response 200 - Success:
[
{
"count": 23130,
"ispb": "18236120",
"bank_name": "NU PAGAMENTOS - IP"
},
{
"count": 6985,
"ispb": "22896431",
"bank_name": "PICPAY"
},
{
"count": 6191,
"ispb": "00360305",
"bank_name": "CAIXA ECONOMICA FEDERAL"
},
{
"count": 5439,
"ispb": "00416968",
"bank_name": "BANCO INTER"
},
{
"count": 5027,
"ispb": "90400888",
"bank_name": "BCO SANTANDER (BRASIL) S.A."
},
{
"count": 4078,
"ispb": "60701190",
"bank_name": "ITAÚ UNIBANCO S.A."
}
]Response fields
| Parameter | Type | Description |
|---|---|---|
count | integer | Number of transactions per bank |
ispb | string | Bank ISPB |
bank_name | string | Bank name |
Note: The response is sorted by count in descending order (banks with the most transactions first).
Use cases
1. Top 10 most-used banks
async function getTopBanks(start, end) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits/banks?start=${start}&end=${end}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const banks = await response.json();
const total = banks.reduce((sum, b) => sum + b.count, 0);
// Top 10 banks
return banks.slice(0, 10).map((bank) => ({
name: bank.bank_name,
ispb: bank.ispb,
transactions: bank.count,
percentage: ((bank.count / total) * 100).toFixed(2) + "%",
}));
}2. Analysis: Digital vs traditional banks
async function analyzeBankTypes(start, end) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits/banks?start=${start}&end=${end}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const banks = await response.json();
const digitalBanks = [
"18236120", // Nubank
"22896431", // PicPay
"00416968", // Inter
"10573521", // Mercado Pago
"08561701", // PagSeguro
"20855875", // Neon
"31872495", // C6
];
const digital = banks
.filter((b) => digitalBanks.includes(b.ispb))
.reduce((sum, b) => sum + b.count, 0);
const traditional = banks
.filter((b) => !digitalBanks.includes(b.ispb))
.reduce((sum, b) => sum + b.count, 0);
const total = digital + traditional;
return {
digital: {
count: digital,
percentage: ((digital / total) * 100).toFixed(2) + "%",
},
traditional: {
count: traditional,
percentage: ((traditional / total) * 100).toFixed(2) + "%",
},
};
}3. Bank diversification
async function getBankDiversity(start, end) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits/banks?start=${start}&end=${end}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const banks = await response.json();
const total = banks.reduce((sum, b) => sum + b.count, 0);
const top5 = banks.slice(0, 5).reduce((sum, b) => sum + b.count, 0);
return {
totalBanks: banks.length,
top5Concentration: ((top5 / total) * 100).toFixed(2) + "%",
longTail: banks.length - 5,
};
}4. Export bank report
async function exportBankReport(start, end) {
const response = await fetch(
`https://api.pixtopay.com.br/v2/metrics/deposits/banks?start=${start}&end=${end}`,
{ headers: { Authorization: "YOUR_API_KEY" } }
);
const banks = await response.json();
const total = banks.reduce((sum, b) => sum + b.count, 0);
// Build CSV
const csv = [
"Rank,Bank,ISPB,Transactions,Percentage",
...banks.map((bank, index) => {
const percentage = ((bank.count / total) * 100).toFixed(2);
return `${index + 1},${bank.bank_name},${bank.ispb},${
bank.count
},${percentage}%`;
}),
].join("\n");
return csv;
}Business insights
Customer preferences
With bank data, identify:
- Digital vs traditional banks: Your customers’ profile
- Concentration: Reliance on a small set of banks
- Trends: Growth of new digital banks
- Regional: Region-specific banks
Integration optimization
Use the data to:
- Prioritize integrations with the most-used banks
- Spot issues on specific banks
- Plan features based on user profile
Targeted marketing
Campaign insights:
- Create materials tailored to digital-bank users
- Campaigns to attract traditional-bank users
- Strategic partnerships with top banks
Important notes
- 🔒 Production: Endpoint available only in production
- 📊 Sorting: Results ordered by volume (descending)
- 🕐 Flexible period: Query any period (hour, day, month)
- 🏦 Full coverage: Includes all banks in the Brazilian PIX system
- 💡 ISPB: Use ISPB to uniquely identify banks
- ⏰ Timezone: Dates/times in UTC-3 (Brasília)
Most common banks
Digital banks (top)
- Nubank (ISPB: 18236120) - NU PAGAMENTOS
- PicPay (ISPB: 22896431) - PICPAY
- Inter (ISPB: 00416968) - BANCO INTER
- Mercado Pago (ISPB: 10573521) - MERCADO PAGO IP
- C6 Bank (ISPB: 31872495) - BCO C6 S.A.
Traditional banks (top)
- Caixa (ISPB: 00360305) - CAIXA ECONOMICA FEDERAL
- Santander (ISPB: 90400888) - BCO SANTANDER
- Itaú (ISPB: 60701190) - ITAÚ UNIBANCO S.A.
- Bradesco (ISPB: 60746948) - BCO BRADESCO S.A.
- Banco do Brasil (ISPB: 00000000) - BCO DO BRASIL S.A.