Live Weather Monitoring API Documentation
Hyperlocal monitoring for weather, with accurate data for criminality and infrastructure. This API provides accurate, up-to-date local details for Indian postal codes for integrating into your applications for Indian markets.
Below are the endpoints for accessing local datasets. Learn how to integrate the API into your application.
Route Parameters:
- :region *Please check location table here
(e.g., "SOUTH|ARAB|EAST|NORD").
Response based on params:
{
"success": true,
"data": {
"state": {
"population": {
"people": 123144223,
"population_density": 365,
"area": 307713,
"urban_population": 45.22,
"rural_population": 54.78,
"gender_ratio": 925,
"human_development_index": 0.624,
"life_expectancy": {
"infant_mortality_rate_per_1000": 29,
"male": 66.2,
"female": 69.8
},
"literacy_rate": {
"total": 84.11,
"male": 88.87,
"female": 79.9
},
"official_languages": [
"Marathi"
],
"spoken_languages": [
"Marathi",
"Hindi",
"English",
"Urdu"
],
"religions": {
"Hinduism": 79.83,
"Islam": 11.53,
"Buddhism": 5.67,
"Other": 2.97
}
},
"economy": {
"unit": "USD",
"annual_tourists": 67000000,
"gdp_nominal": {
"value": 459.8,
"year": 2023
},
"gdp_per_capita": {
"value": 3727,
"year": 2023
},
"exports": {
"total_value_billion": 39
}
},
"climate": {
"type": "Tropical Wet and Dry",
"annual_rainfall_mm": 2500,
"avg_temperature": {
"summer": "34",
"winter": "19",
"format": "°C"
}
},
"infrastructure": {
"electricity_access": "100%",
"telecom_connectivity": "96%",
"internet_users": {
"percentage_of_population": 58,
"total_users_million": 71.6
}
},
"service": true,
"info": "Economic Statistics limited to viable Indian territories or states!"
},
"district": {
"name": "Thane",
"weather": {
"base": {
"lon": 73.396,
"lat": 19.4115
},
"weather": {
"id": 804,
"main": "Clouds",
"description": "overcast clouds",
"icon": "04d"
},
"readings": {
"temp": 25.65,
"feels_like": 26.52,
"temp_min": 25.65,
"temp_max": 25.65,
"pressure": 1009,
"humidity": 86,
"sea_level": 1009,
"grnd_level": 1001
},
"visibility": 10000,
"wind": {
"speed": 0.62,
"deg": 48,
"gust": 0.86
},
"clouds": 100,
"sunrise": 1728521952,
"sunset": 1728564435
},
"people": "mix",
"criminality": "mid"
}
}
}GET
This endpoint provides the current hyperlocal details for the requested postal codes.
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
result, err := fetchData()
if err != nil {
fmt.Printf("Error: %v\n", err)
return
}
prettyJSON, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(prettyJSON))
}
func fetchData() (map[string]interface{}, error) {
// API configuration
baseURL := "https://weathergrid.api.mapwale.com/v1"
params := map[string]string{
"region": "YOUR_REGION", // Replace with actual region value
}
headers := map[string]string{
"Content-Type": "application/json"
}
queryParams := {"zip":"401101","show":"all"}
// Build URL
urlBuilder, err := url.Parse(baseURL)
if err != nil {
return nil, err
}
// Add path parameters
pathParams := ["region"]
path := urlBuilder.Path
for _, param := range pathParams {
path += "/" + url.PathEscape(params[param])
}
urlBuilder.Path = path
// Add query parameters
q := urlBuilder.Query()
for key, value := range queryParams {
q.Add(key, value)
}
urlBuilder.RawQuery = q.Encode()
// Create request body for POST/PUT
var reqBody []byte
if "GET" == "POST" || "GET" == "PUT" {
reqBody, err = json.Marshal({})
if err != nil {
return nil, err
}
}
// Create request
req, err := http.NewRequest("GET", urlBuilder.String(), bytes.NewBuffer(reqBody))
if err != nil {
return nil, err
}
// Send request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
// Check for errors
if resp.StatusCode >= 400 {
return nil, fmt.Errorf("HTTP error! status: %d", resp.StatusCode)
}
// Read response
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
// Parse JSON response
var result map[string]interface{}
err = json.Unmarshal(body, &result)
if err != nil {
return nil, err
}
return result, nil
}Query Parameters:
- zip Specify which data to show
(e.g., 401101). - show Comma-separated list of datasets you need
(e.g., "all"|"weather,readings,wind").
