🏘️Address Quality API (India Only)

Get quality scores & components for any address across India and filter out unreachable ones

Get Quality Information for an Address

POST https://services.geoiq.io/addressvalidation

Shows Quality score, address components, missing components, and metadata for an address

Headers

Request Body

{
    "data": {
        "addressComponents": [
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "591"
                },
                "componentType": "house_no",
                "confirmationLevel": "UNCONFIRMED"
            },
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "15th main road"
                },
                "componentType": "street",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "sector 3"
                },
                "componentType": "sublocality",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "hsr layout"
                },
                "componentType": "locality",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "bangalore"
                },
                "componentType": "city",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentName": {
                    "languageCode": "en",
                    "text": "560102"
                },
                "componentType": "pincode",
                "confirmationLevel": "CONFIRMED"
            }
        ],
        "missing_components": [],
        "verdict": {
            "addressLength": 57,
            "addressScore": 100,
            "addressSyntactical": 1.0,
            "inputGranularity": "house_no",
            "multipleCityCount": 1,
            "redundancyScore": 0.066,
            "validationGranularity": "street"
        }
    },
    "message": "success",
    "status": 200
}

Response Structure

200: OK

{
    "data": {
        "addressComponents": [
            {
                "componentType": "house_no",
                "confirmationLevel": "UNCONFIRMED"
            },
            {
                "componentType": "street",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentType": "sublocality",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentType": "locality",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentType": "city",
                "confirmationLevel": "CONFIRMED"
            },
            {
                "componentType": "pincode",
                "confirmationLevel": "CONFIRMED"
            }
        ],
        "missing_components": [],
        "verdict": {
            "addressLength": 57,
            "addressScore": 100,
            "addressSyntactical": 1.0,
            "inputGranularity": "house_no",
            "multipleCityCount": 1,
            "redundancyScore": 0.066,
            "validationGranularity": "street"
        }
    },
    "message": "success",
    "status": 200
}

Response Overview

  1. AddressComponents: Contains an array of address components with a json object containing

{
"componentType": "city",
"confirmationLevel": "CONFIRMED"
}

where "componentType" is the name of the component found in the address. where "confirmationLevel" can be confirmed or unconfirmed.

NOTE: Component is Confirmed is when the value of the component found has been confirmed by GeoIQ Component is Unconfirmed is when the value of the component found cannot be confirmed by GeoIQ

  1. Missing Components: Contains an array of string, mentions the components not found. Possible Values are

    • House number

    • Street

    • Locality or Sub-locality or micro-locality

    • Pincode

    NOTE: Locality or Sub-locality or micro-locality is a single category. If any of these is present, we don't consider any missing. If all are missing we should show Locality as missing

  2. Address Score: Score to rate the completeness of the address (Value Range - 0-100).

  3. Address Length: Length of the address after processing.

  4. Redundancy Score: Measure amount of repetitions in the address. Lower the better.

  5. Address Syntactical: Measure to indicate grammatical, syntactical correctness of the address. Higher the better.

  6. Input Granularity: The granularity of the input address. This is the result of parsing the input address and does not give any validation signals.

  7. Validation Granularity: The granularity level that the API can fully validate the address to.

  8. Multiple City Count: Indicates the presence of multiple cities in the address. Ideal is 1. Higher is worse.

Get your API key

All API requests are authenticated using API key. Any request that doesn't include an API key will return an error.

You can get an API key from your GeoIQ Console dashboard to get started.

Code Examples

curl --location 'https://services.geoiq.io/addressvalidation' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
  "address": "Shades of coffee, HSR Layout,Bangalore"
}'

Last updated