translate Englishattach_moneyUSDQuick AI Login
emoji_food_beverage Exploremaps Maps Listcurrency_exchange Live Currency Ratesfoggy Global Weather Forecastmonitor_heart Commodities Futures Marketapi API Docs

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

check_boxAllcheck_box_outline_blankWeathercheck_box_outline_blankReadingscheck_box_outline_blankWind

This endpoint provides the current hyperlocal details for the requested postal codes.

JavaScript
Python
Php
Java
c#
Ruby
Go
Swift
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").