🏘
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.
Success
Error
{
"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
}
All API requests are authenticated using API key. Any request that doesn't include an API key will return an error.

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 3d ago