---
title: Geo Intelligence API - Fetch result
slug: api-marketplace/geo-intelligence-api-fetch-result
createdAt: 2026-10-27T07:30:40.030Z
---

# Overview

The **Geo Intelligence API** is a powerful data aggregation and ranking engine that enables lenders, collections teams, and fraud-risk functions to programmatically discover and verify customer addresses using a mobile phone number.

The API processes the retrieved records to deliver a clean, actionable output. The results are:

- **Structured:** Raw address strings are parsed into standardized fields (Full address, City, State, Pincode).
- **Ranked & Deduplicated:** Duplicate entries are merged, and addresses are sorted based on a proprietary ranking logic.
- **Scored for Confidence:** Each address is assigned a confidenceScore (0–100) and a confidenceBand (HIGH, MEDIUM, LOW) based on source trust, recency, completeness, and multi-source corroboration.
- **Tagged for Provenance:** Every address includes the reported date and source type (e.g., PRIMARY, DELIVERY) so downstream systems can weight the freshness appropriately.

### Key Use Cases

**1. Skip Tracing & Debt Collections** When a borrower defaults and becomes unreachable, collections teams can input the user's phone number to retrieve a ranked list of all known historical and current addresses.

**2. Planning CPV (Customer Physical Verification)&#x20;**&#x20;Financial institutions spend significant time and money conducting manual field visits to verify customer addresses. By utilizing this API alongside risk decisioning logic, lenders can automatically validate a customer-declared address against high-trust government and bureau records.

**3. Spotting address mismatches and fraud**

During onboardings, compare the declared address with the addresses linked to the customer's phone number. A declared address that never appears, or appears only in a different state, is a useful risk signal for underwriting.

**4. E-Commerce Address Recovery (Digital Footprint)** Standard credit bureaus often lack data on users who are "new to credit." Through integrated, authorized e-commerce checkout networks, the API can fetch recently used delivery addresses along with their exact delivery timestamps.

## API details:

## Headers

| Header        | Required | Description                          |
| ------------- | -------- | ------------------------------------ |
| Authorization | Yes      | Bearer token/API authorization token |
| Content-Type  | Yes      | application/json                     |

## Request Body

| Field     | Type   | Required | Description                                        |
| --------- | ------ | -------- | -------------------------------------------------- |
| requestId | String | Yes      | The requestId returned by the Initiate Request API |



### Sample Request

:::BlockQuote
\{
&#x20;   "requestId": "6xxxxxx5-exxf-4xx2-9xx1-exxxxxxxx87"
}
:::

## Response

| Field                                      | Type   | Description                                                                                                  |
| ------------------------------------------ | ------ | ------------------------------------------------------------------------------------------------------------ |
| result                                     | Object | API result object                                                                                            |
| result.requestId                           | String | The requestId passed in the request body                                                                     |
| result.phoneNumber                         | String | Phone number provided in the request body                                                                    |
| result.addresses                           | Array  | List of all available addresses associated with the phone number                                             |
| result.allAddresses\[].seq                 | Number | Sequential number across all returned addresses.                                                             |
| result.allAddresses\[].rank                | Number | Final ranking after recency, completeness, metro boost, and confidence scoring. Rank 1 is most recommended.  |
| result.allAddresses\[].fullAddress         | String | Normalised original full address string.                                                                     |
| result.allAddresses\[].city                | String | City where that address belongs to                                                                           |
| result.allAddresses\[].district            | String | District where that address belongs to                                                                       |
| result.allAddresses\[].state               | String | State where that address belongs to                                                                          |
| result.allAddresses\[].pincode             | String | 6-digit PIN code                                                                                             |
| result.allAddresses\[].addressType         | String | Type as reported by the underlying data network (e.g., Primary, Delivery)                                    |
| result.allAddresses\[].reportedDate        | String | Date the address was last reported in the data network. Used as primary freshness signal.                    |
| result.allAddresses\[].isMetro             | String | True if the city is a Tier-1 metro (Bengaluru, Mumbai, Delhi, Chennai, Hyderabad, Kolkata, Pune, Ahmedabad). |
| result.allAddresses\[].addressCompleteness | String | HIGH \| MEDIUM \| LOW                                                                                        |
| result.allAddresses\[].confidenceScore     | Number | Composite per-address confidence score                                                                       |
| result.allAddresses\[].confidenceBand      | String | HIGH \| MEDIUM \| LOW                                                                                        |
| totalAddressesFound                        | Number | Total address found after filtering out duplicate one                                                        |
| apiStatus                                  | String | API status                                                                                                   |
| requestTimestamp                           | String | Timestamp for the request                                                                                    |

### Sample Response

:::CodeblockTabs
200&#x20;

```json

{
  "result": {
    "requestId": "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "phoneNumber": "XXXXXXXXXX",
    "addresses": [
      {
        "seq": 1,
        "rank": 1,
        "fullAddress": "XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX",
        "city": "XXXXXXX",
        "district": "XXXXXXX",
        "state": "XXXXXXX",
        "pincode": "XXXXXX",
        "addressType": "DELIVERY",
        "reportedDate": "XXXX-XX-XX",
        "isMetro": "XXXXX",
        "addressCompleteness": "HIGH",
        "confidenceScore": "XX",
        "confidenceBand": "MEDIUM"
      },
      {
        "seq": 2,
        "rank": 2,
        "fullAddress": "XXXXXXX XXXXXXX XXXXXXX XXXXXXX XXXXXXX",
        "city": "XXXXXXX",
        "district": "XXXXXXX",
        "state": "XXXXXXX",
        "pincode": "XXXXXX",
        "addressType": "OTHER",
        "reportedDate": "XXXX-XX-XX",
        "isMetro": "XXXXX",
        "addressCompleteness": "HIGH",
        "confidenceScore": "XX",
        "confidenceBand": "LOW"
      }
    ],
    "totalAddressesFound": 2,
    "apiStatus": "SUCCESS",
    "requestTimestamp": "XXXX-XX-XXTXX:XX:XX.XXXZ"
  }
}

```

200 without any address

```none
{
    "result": {
        "requestId": "XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "phoneNumber": "XXXXXXXXXX",
        "addresses": [],
        "totalAddressesFound": 0,
        "apiStatus": "SUCCESS",
        "requestTimestamp": "2XXXX-XX-XXTXX:XX:XX.XXXZ"
    }
}
```

404

```null
{
    "result": {},
    "reason": "Request not found or has expired",
    "code": "E301"
}
```
:::

## Notes

- This API is **supported only for Indian mobile numbers**.
- Multiple addresses may be returned for a single phone number.
- Addresses are returned along with their source category and the date on which they were recorded.
- If no address is available, addresses will be an empty array and totalAddressesFound will be 0.
