Enterprise-grade hyperlocal intelligence APIs for India. Real-time environmental and audience signals across the grid, with active-corridor traffic intelligence where live coverage exists — powered by H3 spatial indexing.
Every data point is geo-indexed to H3 hexagonal cells at resolutions 8, 9, and 10 — from ~0.74 km² neighborhood-level down to ~0.015 km² street-level precision.
Real-time atmospheric data refreshed every hour for all cells. Temperature, humidity, wind, precipitation, UV, and cloud cover.
Granular air quality data refreshed every 3 hours. Individual pollutant concentrations, India AQI (CPCB), health recommendations.
Live congestion data refreshed every 15 minutes for active corridors and device-active cells. Speed, density scores, congestion levels, road identification.
Rich place-level intelligence from reverse geocoding, POI density, landmark data, business classification, and price signals.
Raw signals are automatically transformed into targetable, queryable intelligence labels — updated with every poll cycle.
Automatically classifies each hex cell into intent categories: shopping, dining, commuting, working, leisure, healthcare, education — derived from venue mix and POI analysis.
Four-tier affluence scoring (luxury → premium → mid_range → budget) derived from price-level signals, venue types, and luxury/budget indicator ratios.
Eight catchment classifications — retail hub, office district, residential colony, transit corridor, entertainment zone, hospitality, industrial, mixed-use.
POI-density-derived footfall estimates (very_high → minimal) and dwell-time classification (high → pass_through) for engagement potential.
Full location hierarchy — zone, district, locality, neighborhood, postal code, state, road names, and road classification (highway/arterial/local).
Air quality labels (good → severe), dominant pollutant identification, and congestion where live traffic coverage exists — updated from AQI and active corridor signals.
Get real-time signals + semantic labels for any location in India. H3 index or lat/lng — both work.
# Get full context for a location in Bandra West, Mumbai curl "https://api.moments.galigali.in/v1/context?lat=19.0596&lng=72.8295&include_signals=true&include_label_meta=true" \ -H "Authorization: Bearer YOUR_API_KEY" # Response — 200 OK { "h3_index": "89608b0b13bffff", "resolution": 9, "signals": { "weather": { "temperature_celsius": 28.5, "conditions": "clear", "humidity_percent": 84, "confidence": 0.9 }, "aqi": { "india_aqi": 110, "category": "moderate", "dominant_pollutant": "pm10", "pm25": 32.77, "confidence": 0.9 } }, "label_summary": { "total": 26, "types": 18, "avg_confidence": 0.78 }, "labels": { "zone": "Bandra West", "district": "Mumbai Suburban", "affluence": "mid_range", "catchment": "mixed_use", "audience_intent": ["dining", "shopping"], "dwell_time": "medium", "density": "high", "area_type": "commercial" }, "label_metadata": { "zone": [{ "value": "Bandra West", "confidence": 0.95, "source": "scene_context" }] } }
From simple location context to advanced audience matching and site evaluation — each tier builds on the previous.
No hidden fees. No minimum commitment. Pay only for what you use.
Everything you need to integrate GaliGali Moments into your application.
All API requests require authentication via a Bearer token in the Authorization header.
Obtain your API key from the dashboard after signing up.
Authorization: Bearer mk_live_abc123def456ghi789jkl012mno345pqr678
Base URL: https://api.moments.galigali.in/v1
Rate Limits: Returned in X-RateLimit-Remaining and X-RateLimit-Reset headers.
Errors: Standard HTTP status codes. Error body includes code, message, and request_id.
| Name | Type | Required | Description |
|---|---|---|---|
| lat | number | Required | Latitude (-90 to 90) |
| lng | number | Required | Longitude (-180 to 180) |
| resolution | integer | Optional | H3 resolution: 8, 9, or 10. Default: 9 |
| include_signals | boolean | Optional | Include real-time signals in response. Default: false |
| include_label_meta | boolean | Optional | Include label confidence, source, verification timestamp, and summary metadata. Default: false |
| Field | Type | Description |
|---|---|---|
| zone | string | Sublocality/neighborhood name (e.g., "Bandra West") |
| district | string | Administrative district |
| locality | string | City name |
| affluence | string | luxury | premium | mid_range | budget |
| catchment | string | retail_hub | office_district | residential_colony | transit_corridor | entertainment_zone | hospitality_zone | mixed_use | industrial |
| audience_intent | string[] | shopping | dining | commuting | working | leisure | healthcare | education |
| dwell_time | string | high | medium | low | pass_through |
| footfall | string | very_high | high | medium | low | minimal |
| density | string | high | medium | low | none |
| area_type | string | transit_hub | commercial | mixed | suburban | rural |
| venue_type | string | Dominant venue classification |
| road_type | string | highway | arterial | local |
| air_quality | string | good | satisfactory | moderate | poor | very_poor | severe |
| poi_type | string[] | Notable POIs: mall, airport, hospital, metro, etc. |
| label_summary | object | Total labels, label type count, source mix, average confidence, and newest verification timestamp |
| label_metadata | object | Optional grouped label records with value, confidence, source, and last_verified fields |
| Name | Type | Required | Description |
|---|---|---|---|
| locations | array | Required | Array of {lat, lng} or {h3_index} objects. Max 500. |
| resolution | integer | Optional | H3 resolution for lat/lng inputs. Default: 9 |
| labels_only | boolean | Optional | Return only labels (faster). Default: false |
| Name | Type | Required | Description |
|---|---|---|---|
| label_type | string | Required | Label dimension to search (e.g., "affluence", "zone", "catchment") |
| label_value | string | Required | Value to match (e.g., "premium", "Bandra West") |
| resolution | integer | Optional | Filter by resolution: 8, 9, or 10 |
| limit | integer | Optional | Max results. Default: 100, Max: 500 |
| include_signals | boolean | Optional | Enrich results with current signals |
Explore real H3 opportunity heat, ranked shortlists, evidence, site scores, and comparisons over the production Moments intelligence grid.
// Production API: GaliGali Moments /v1 // Select a business scenario to inspect the underlying API payloads.
A phased approach to building the most comprehensive hyperlocal data API suite in India.
Production-grade API gateway with M2M authentication, API key management, per-client rate limiting, and usage metering.
Exposes the Location Context API (Tier 1) and Real-Time Conditions API (Tier 2) to external consumers via
api.moments.galigali.in. Backed by 14,230 H3 cells across Mumbai metro with 4 signal types
and 25 derived semantic labels. Data freshness ranges from active-corridor 15-minute traffic to hourly weather to 3-hourly AQI.
Delivered: 6 production endpoints, 3-tier Redis/inheritance/PG caching, 7 database tables, API key management UI in iot-admin, billing hooks, automated signal poller with label derivation engine, CloudWatch observability. All endpoints load-tested and instrumented.
Adds the Audience Intelligence API (Tier 3) enabling programmatic audience matching across the hex grid. Consumers can query multi-dimensional targeting criteria (affluence + intent + dwell_time + density + footfall) and receive matching cell sets with confidence-weighted scores. GeoJSON heatmap generation for spatial visualization. Audience profile aggregation per cell with composite scoring (0–100). Full billing integration for per-query metering.
Delivered: 3 production endpoints, PostGIS multi-label intersection engine with 14 targeting dimensions, confidence-weighted match scoring, GeoJSON polygon serialization (RFC 7946), audience profile with composite scoring across 4 weighted dimensions, plan-gated result limits (50/200/1000), bounding box spatial filtering. 1.49M+ labels across 98K cells fueling real-time targeting.
Introduces the Site Evaluation API (Tier 4) — a composite scoring engine that fuses all signal layers into decision-ready site assessments. Produces a 0–100 score with transparent breakdown across 6 dimensions: footfall potential, affluence match, category fitness, competition density, accessibility, and dwell potential. Multi-site comparison API for franchise/expansion decisions. Catchment analysis with configurable radius and PostGIS ST_DWithin spatial queries.
Delivered: 3 production endpoints, composite scoring engine with 5 configurable business-type profiles (retail, F&B, healthcare, office, logistics), weighted dimension fusion, multi-site ranking with dimension leaders, PostGIS radial catchment analysis (ST_DWithin, up to 5km), grade assignment (A+ to D), GeoJSON catchment polygons, Redis caching (15-min eval TTL, 30-min catchment TTL), plan-gated radius limits, ₹50/evaluation billing.
The capstone phase adds temporal analytics and real-time streaming. Leverages the monthly-partitioned
hex_cell_state table (90-day rolling history) to expose signal trends — AQI patterns by hour/day,
traffic seasonality, weather-driven behavior shifts. Corridor analysis aggregates intelligence along any
road/transit route. WebSocket streaming via API Gateway enables live dashboards and smart city control rooms.
Key deliverables: Time-series aggregation queries on partitioned PostgreSQL tables, corridor query using PostGIS ST_DWithin along LineString geometries, API Gateway WebSocket API + Lambda connection manager, subscription management (which cells and signals to monitor), threshold-based alert notifications, enterprise SLA monitoring. Priced as enterprise subscription with custom volume agreements.
Built on AWS with Aurora PostgreSQL, ElastiCache Redis, H3 spatial indexing, and auto-scaling infrastructure.
Uber's H3 spatial indexing at resolutions 8–10. Parent-child hierarchy with automatic signal inheritance and confidence decay (0.9× per hop).
Redis L1 cache (sub-ms), inheritance from parent hex L2, PostgreSQL L3 fallback. 99th percentile latency under 50ms for cached queries.
ECS Fargate tasks scale 4→50 on CPU/memory/ALB triggers. Lambda with 100 reserved concurrent executions. Aurora Serverless v2 scales 2→32 ACU.
EventBridge-driven Lambda polls 4 signal types at 15min–30day intervals. Auto fan-out chunking for large cell sets (500 cells/chunk).
Monthly range-partitioned hex_cell_state table. Automatic partition management — create ahead, detach (not delete) after 90 days.
AWS WAF, Cognito M2M OAuth, API key authentication with timing-safe comparison, VPC-isolated databases, TLS everywhere.
Get your API key and start building with hyperlocal intelligence today. Free tier available.