---
title: "List Virtual Accounts"
method: GET
path: "/virtual_accounts"
tags: ["Virtual Accounts"]
---

# List Virtual Accounts

`GET /virtual_accounts`

Retrieve a paginated list of virtual accounts with optional filters.

## Query parameters

- `from` integer
- `to` integer
- `count` integer
- `skip` integer

## Response `200`

List of Virtual Accounts.

- object
  - `entity` string
  - `count` integer
  - `items` VirtualAccount[]
    - `id` string — Virtual account ID. Prefix: va_
    - `name` string — Display name of the virtual account.
    - `entity` 'virtual_account'
    - `description` string — Purpose or description of the virtual account.
    - `amount_expected` integer — Expected payment amount in paise. 0 means any amount is accepted.
    - `amount_paid` integer — Total amount received so far in paise.
    - `status` 'active' | 'closed' — active = accepting payments; closed = no longer accepting payments.
    - `receivers` object[] — Payment receivers assigned to this virtual account. Can include bank_account (ba_*) and/or vpa (vpa_*) receivers.
      - `id` string — Receiver ID. Prefix: ba_ for bank account, vpa_ for VPA.
      - `entity` 'bank_account' | 'vpa'
      - `ifsc` string — IFSC code (bank accounts only).
      - `bank_name` string — Bank name (bank accounts only).
      - `name` string — Account holder name (bank accounts) or VPA address (VPAs).
      - `notes` Notes — Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.
      - `account_number` string — Virtual account number (bank accounts only).
      - `username` string — UPI username part of the VPA (VPAs only).
      - `handle` string — UPI handle (e.g., razorpay) (VPAs only).
      - `flow` 'upi_qr' — Flow type for VPA receivers.
    - `close_by` integer — Unix timestamp by which the account will auto-close. Maximum value: 2147483647.
    - `closed_at` integer — Unix timestamp when the account was closed.
    - `customer_id` string — Customer ID linked to this virtual account (cust_*).
    - `notes` Notes — Key-value pairs for storing custom metadata. Maximum 15 pairs. Each key and value must not exceed 256 characters.
    - `created_at` integer

## Other responses

- `401` — Authentication failed. Invalid or missing API key credentials.
- `429` — Rate limit exceeded. Implement exponential backoff with jitter before retrying.

---

[API](https://skmtc.net/razorpay/apis/razorpay-api.md) · [All operations](https://skmtc.net/razorpay/apis/razorpay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/razorpay/razorpay-api/versions/824ca9e6faef/schema)
