Links
🏘️

Address Quality API (India Only)

Get quality scores & components for any address across India and filter out unreachable ones
post
https://services.geoiq.io/addressvalidation
Get Quality Information for an Address
Shows Quality score, address components, missing components, and metadata for an address
Parameters
Header
x-api-key*
String
Authentication key
Content-Type*
String
application/json
Body
address*
String
Address String with or without commas
Responses
200: OK
Success
400: Bad Request
Invalid input, object invalid
403: Forbidden
Authorization Failure. Invalid key.

Response Structure

Success
Error

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
}

400: Bad Request

{
"message": {
"address": "This field cannot be blank"
}
}

403: Forbidden

{
"message": "Invalid Token!",
"status": 403
}

Response Overview

  1. 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. 2.
    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. 3.
    Address Score: Score to rate the completeness of the address (Value Range - 0-100).
  3. 4.
    Address Length: Length of the address after processing.
  4. 5.
    Redundancy Score: Measure amount of repetitions in the address. Lower the better.
  5. 6.
    Address Syntactical: Measure to indicate grammatical, syntactical correctness of the address. Higher the better.
  6. 7.
    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. 8.
    Validation Granularity: The granularity level that the API can fully validate the address to.
  8. 9.
    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
Python
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"
}'
import requests
import json
url = "https://services.geoiq.io/addressvalidation"
payload = json.dumps({
"address": "Shades of coffee, HSR Layout,Bangalore"
})
headers = {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Last modified 7mo ago