Loading...
Loading...
Access Kashmir’s most comprehensive environmental dataset. Free for public data. Build dashboards, research tools, and applications that protect the environment.
https://api.terraflow.in/v1
Not required for public data
JSON (default), CSV, GeoJSON
curl https://api.terraflow.in/v1/reports?category=water&status=verified&limit=10
Public data, no key required
API key for academic and NGO use
Dedicated support, webhooks, SLA
Explore every available endpoint. Locked endpoints require a Bearer token.
Pollution reports submitted by citizens
Public endpoints require no authentication. Protected endpoints (creating reports, events, food listings) need a JWT Bearer token.
All GET endpoints for reports, air quality, Dal Lake data, ward stats, and leaderboard are publicly accessible.
POST endpoints require a JWT token in the Authorization header. Obtain tokens via the auth endpoints (OTP or email/password login).
For research and enterprise use. Include it as X-API-Key header. Available for researchers, NGOs, and enterprise partners.
# Public (no auth)curl https://api.terraflow.in/v1/reports# Authenticatedcurl -H "Authorization: Bearer <your-jwt-token>" \https://api.terraflow.in/v1/reports# With API key (higher rate limits)curl -H "X-API-Key: tf_live_abc123xyz" \https://api.terraflow.in/v1/reports
All responses follow a consistent envelope structure. List endpoints include pagination metadata.
{"data": [...],"meta": {"total": 100,"page": 1,"per_page": 20,"total_pages": 5}}
{"error": "Validation failed","code": "VALIDATION_ERROR","details": [{"field": "category","message": "must be one of: water, air, waste, encroachment, deforestation, wildlife"}]}
Default response format. All endpoints return JSON.
Append ?format=csv to any list endpoint for spreadsheet-compatible output.
Append ?format=geojson for spatial data with coordinates and ward boundaries.
Response headers — Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.
Sliding window — Limits use a Redis-backed sliding window algorithm. Your request count decays smoothly rather than resetting at a fixed interval.
HTTP 429 — When the limit is exceeded, the API returns 429 with a Retry-After header indicating how many seconds to wait.
Get your API key for higher rate limits and start building applications with Kashmir’s environmental data.