Lookup APIs
The Lookup APIs lets you to attempt fetching certain details of the investor from a couple of third party sources. At present, bank account details and demographic information of the investor can be attempted to fetch using the below 2 APIs -
- Bank Account Lookup API
- Customer Data Lookup API
Bank Account Lookup API
The Bank account lookup API lets you fetch the bank account details of your investor that is registered against their primary VPA / UPI ID.
Bank account lookup object
- Object
- Parameters
{
"object": "bank_account_lookup",
"id": "bal_32PUeQZKweX8ZBSXY22Iqq9u3yg",
"status": "success",
"source_ref_id": "1a478f56-54df-41aa-951a-b2c7edbada2",
"phone_number": "9012390123",
"consent": {
"collected_at": "2026-02-02T14:09:20",
"text": "I allow <partner> to fetch my bank account details using my phone number via Cybrilla and its partners.",
"mode": "checkbox",
"ip_address": "191.163.219.78"
},
"data": {
"account_holder_name": "Rakshith Agarwal",
"account_number": "98123108291821",
"ifsc_code": "utib0003076",
"type": "savings"
}
}
| Attribute | Type | Comments |
|---|---|---|
| object | string | Value is bank_account_lookup. String representing the object type. Objects of the same type share the same value |
| id | string | Unique identifier of the bank_account_lookup object |
| status | enum | The status of the bank_account_lookup object. Possible values are - pending, successful, failed |
| source_ref_id | string | A unique identifier that could be used as a an internal reference ID at the API request source |
| phone_number | string | Phone number of the investor against which the bank account lookup was attempted |
| consent | hash | Details regarding the investor consent collected to lookup the data |
consent hash
| Attribute | Type | Comments |
|---|---|---|
| collected_at | timestamp | Date and time when the investor consent was collected to lookup the bank account data |
| text | string | Consent text on which the investor provided the consent |
| mode | enum | Mode through which the investor consent was collected |
| ip_address | enum | IP address of the location from where the investor provided the consent |
Create Bank Account Lookup
POST /v2/bank_account_lookups
This API lets you create a bank account lookup object.
- cURL
- Request parameters
curl --location '{{base_url}}/v2/bank_account_lookups' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"source_ref_id": "1a478f56-54df-41aa-951a-b2c7edbada2",
"phone_number": "9012390123",
"consent": {
"collected_at": "2026-02-02T14:09:20",
"text": "I allow <partner> to fetch my bank account details using my phone number via Cybrilla and its partners.",
"mode": "checkbox",
"ip_address": "191.163.219.78"
}
}
'
| Name | Mandatory | Type | Comments |
|---|---|---|---|
| source_ref_id | no | string | A unique identifier that could be used as a an internal reference ID at the API request source |
| phone_number | yes | string | Phone number of the investor against which the bank account lookup has to be attempted |
| consent | yes | hash | Details regarding the investor consent collected to lookup the data |
consent hash
| Attribute | Mandatory | Type | Comments |
|---|---|---|---|
| collected_at | yes | timestamp | Date and time when the investor consent was collected to lookup the bank account data |
| text | yes | string | Consent text on which the investor provided the consent |
| mode | yes | enum | Mode through which the investor consent was collected |
| ip_address | yes | enum | IP address of the location from where the investor provided the consent |
The bank_account_lookup object will be returned as the response.
Fetch Bank Account Lookup
GET /v2/bank_account_lookups/:id
This API lets you fetch a bank account lookup object.
- cURL
- Query parameters
curl --location '{{base_url}}/v2/bank_account_lookups/:id' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
| Name | Mandatory | Type | Comments |
|---|---|---|---|
| id | yes | string | ID of the bank_account_lookup object |
The bank_account_lookup object will be returned as the response.
Customer Data Lookup API
The Customer Data Lookup API lets a partner fetch certain demographic information of the investor from certain third party sources.
Customer Data Lookup object
- Object
- Parameters
{
"object": "customer_data_lookup",
"id": "cdl_32PUk5aUMxb7pLGdEGsyk9cRF9t",
"status": "success",
"source_ref_id": "910563db-deb1-44b3-9e34-5819c396de54",
"name": "Rakshith",
"phone_number": "9012390123",
"consent": {
"collected_at": "2026-02-02T14:09:20",
"text": "I allow <partner> to fetch my bank account details using my phone number via Cybrilla and its partners.",
"mode": "checkbox",
"ip_address": "191.163.219.78"
},
"data": {
"name": "Rakshith Agarwal",
"date_of_birth": "1992-03-15",
"gender": "male",
"pan": "jsdpr9021f",
"aadhaar_number": null,
"income_slab": "upto_1lakh",
"occupation": null,
"addresses": [
{
"line": "123 36th cross 24th main jayanagar 4th t block bangalore south",
"state": "karnataka",
"pincode": "560041",
"reported_date": "2025-08-31"
}
],
"email_addresses": [
{
"email": "iamagarwalrakshith@gmail.com",
"reported_date": "2025-06-30"
}
]
}
}
| Attribute | Type | Comments |
|---|---|---|
| object | string | Value is customer_data_lookup. String representing the object type. Objects of the same type share the same value |
| id | string | Unique identifier of the customer_data_lookup object |
| status | enum | The status of the customer_data_lookup object. Possible values are - pending, successful, failed |
| source_ref_id | string | A unique identifier that could be used as a an internal reference ID at the API request source |
| name | string | Name of the investor |
| phone_number | string | Phone number of the investor against which the customer data lookup was attempted |
| consent | hash | Details regarding the investor consent collected to lookup the data |
| data | hash | Hash containing all the data of the investor. The data would be available only for 30 minutes since customer_data_lookup.status was marked successful |
consent hash
| Attribute | Type | Comments |
|---|---|---|
| collected_at | timestamp | Date and time when the investor consent was collected to lookup the bank account data |
| text | string | Consent text on which the investor provided the consent |
| mode | enum | Mode through which the investor consent was collected |
| ip_address | enum | IP address of the location from where the investor provided the consent |
data hash
| Attribute | Type | Comments |
|---|---|---|
| name | string | Investor's name |
| date_of_birth | string | Investor's date of birth |
| gender | enum | Investor's gender. Possible values are - male, female, transgender |
| pan | string | Investor's PAN number |
| aadhaar_number | string | Last 4 digits of investor's Aadhaar number |
| income_slab | enum | Investor's income slab. Possible values are - upto_1lakh, above_1lakh_upto_5lakh, above_5lakh_upto_10lakh, above_10lakh_upto_25lakh, above_25lakh_upto_1cr, above_1cr |
| occupation | enum | Investor's occupation. Possible values are - business, professional, retired, house_wife, student, public_sector_service, private_sector_service, government_service, others, agriculture, doctor, forex_dealer, service |
| addresses | array of address hashes | List of investor's addresses |
| email_addresses | array of email_address hashes | List of investor's email addresses |
address hash
| Attribute | Type | Comments |
|---|---|---|
| line | string | Address line |
| state | string | State |
| pincode | string | Pincode |
| reported_date | string | Date as on which this address was reported by the investor |
email_address hash
| Attribute | Type | Comments |
|---|---|---|
| string | Email address of the investor | |
| reported_date | string | Date as on which this email address was reported by the investor |
Create Customer Data Lookup
POST /v2/customer_data_lookups
This API lets you create a customer data lookup object.
- cURL
- Request parameters
curl --location '{{base_url}}/v2/customer_data_lookups' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>' \
--data '{
"source_ref_id": "910563db-deb1-44b3-9e34-5819c396de54",
"name": "Rakshith",
"phone_number": "9012390123",
"consent": {
"collected_at": "2026-02-02T14:09:20",
"text": "I allow <partner> to fetch my bank account details using my phone number via Cybrilla and its partners.",
"mode": "checkbox",
"ip_address": "191.163.219.78"
}
}
'
| Name | Mandatory | Type | Comments |
|---|---|---|---|
| source_ref_id | no | string | A unique identifier that could be used as a an internal reference ID at the API request source |
| name | yes | string | Investor's name |
| phone_number | yes | string | Investor's phone number |
| consent | yes | hash | Details regarding the investor consent collected to lookup the data |
consent hash
| Attribute | Mandatory | Type | Comments |
|---|---|---|---|
| collected_at | yes | timestamp | Date and time when the investor consent was collected to lookup the bank account data |
| text | yes | string | Consent text on which the investor provided the consent |
| mode | yes | enum | Mode through which the investor consent was collected |
| ip_address | yes | enum | IP address of the location from where the investor provided the consent |
The customer_data_lookup object will be returned as the response.
Fetch Customer Data Lookup
GET /v2/customer_data_lookups/:id
This API lets you fetch a customer data lookup object.
- cURL
- Query parameters
curl --location '{{base_url}}/v2/customer_data_lookups/:id' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <token>'
| Name | Mandatory | Type | Comments |
|---|---|---|---|
| id | yes | string | ID of the customer_data_lookup object |
The customer_data_lookup object will be returned as the response.
- Both these APIs attempt to fetch data from third-party sources provided they are available
- Once data is fetched, accuracy isn’t validated. We strongly advise you to share these fetched details with the investor and proceed only after their approval
- You can only fetch these details once per phone number
Obligations and Limitations for Lookup APIs
- You should be using industry standard, strong encryption algorithms (e.g.,RSA, AES, etc.) to store PII fetched from Lookup APIs
- You should get an approval from a sponsor AMC. If the sponsor AMC decides not to sponsor you, Cybrilla shall disable access of Lookup APIs in such cases
- You should fetch the data only for investors who are initiating a mutual fund transaction or doing a mutual fund KYC. You should not use this data for any other purpose
- You should not resell this data fetched from Lookup APIs
- You should not store this data on foreign servers
- You should not lookup data without verifying investors' phone number
- You should not lookup data without obtaining explicit one time consent from investors
- You should ensure that the investor consent text used is the same as approved by Cybrilla and not alter it in any manner
- Consent text for Bank account lookup -
I allow <partner> to fetch my bank account details using my phone number via Cybrilla and its partners. - Consent text for Customer data lookup -
I allow <partner> to fetch my demographic details using my phone number and name from the credit bureau via Cybrilla and its partners.
- Consent text for Bank account lookup -
- You should only fetch bank account details once per phone number
- You should only fetch investor details once per phone number + name combination
- You should allow your investors to review the fetched data and edit it as needed
- You shall not use robot/crawler or any other automated mechanism to invoke lookup APIs
- Cybrilla doesn't guarantee any SLAs for lookup APIs
- Cybrilla doesn't guarantee the quality of the data returned via lookup APIs
- Cybrilla may audit your implementation at any time, and you will fully cooperate and provide necessary support for such audits
Go-live checklist for Lookup APIs
- Get an approval from a sponsor AMC with which Cybrilla has signed an agreement for facilitating this sponsorship
- Sign a Lookup offering agreement/addendum with Cybrilla
- Cybrilla will review your implementations and sign-off on the below items -
- Lookup APIs are not called before collecting explicit investor consents
- Explicit investor consents are obtained separately for Bank Account Lookup and Customer Data Lookup
- Cybrilla pre-approved text is used as consent text
- Checkboxes are provided for investors for opting in (i.e. for providing consent) for data fetch and these checkboxes are not checked by default
- Your app or any other digital asset is verifying the investor's phone number before invoking these APIs
- The data fetched is used only for mutual fund transaction processing in the UI workflow
- Investors have an option to review the data fetched and edit the same