API Documentation
Access weather, climate, terrain, environment, hazard, and proximity data for any coordinates on Earth. All responses are JSON.
🔑 Authentication
All API requests require an API key. You can get one from the PixelGust dashboard under your account settings.
Pass your key via header (recommended) or query parameter:
⏱️ Rate Limits
Rate limits are applied per API key based on your subscription tier:
| Tier | Daily Calls | Burst (per min) | Polygon Area |
|---|---|---|---|
| Free | 50 | 10 | N/A |
| Basic | 500 | 30 | ≤ 5,000 km² |
| Pro | 5,000 | 120 | ≤ 50,000 km² |
| Enterprise | 50,000 | Unlimited | ≤ 150,000 km² |
Rate-limited responses return 429 with Retry-After header.
Base URL
GET /v1/weather
Get current weather conditions (GFS nowcast) for a point. Returns temperature, humidity, precipitation, wind, pressure, cloud cover, solar radiation, and more.
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude (-90 to 90) |
lon | float | required | Longitude (-180 to 180) |
GET /v1/weather/forecast
Get weather forecast for a point. Supports up to 7 days ahead. Requires Basic tier or above.
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
day | int | optional | Forecast day: 0 = today, 1 = tomorrow, ... up to 7. Default: 0 |
GET /v1/weather/historical
Get historical weather averages (ERA5 reanalysis, 2015–2024) for a point. Optionally filter by month. Requires Basic tier or above.
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
month | int | optional | Month (1–12) for monthly average. Omit for annual average. |
GET /v1/terrain
Get terrain data for a point including elevation, slope, aspect, and topographic wetness index (TWI).
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
GET /v1/hazards
Get hazard assessment for a point including soil erosion risk (RUSLE model) and flood susceptibility (TWI-based).
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
GET /v1/environment
Get environmental data including NDVI (vegetation index), evapotranspiration, and land cover classification.
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
GET /v1/proximity
Get nearest features including cities, water bodies, coastline, airports, protected areas, and more.
| Parameter | Type | Description | |
|---|---|---|---|
lat | float | required | Latitude |
lon | float | required | Longitude |
POST /v1/polygon/stats
Compute zonal statistics (weather, terrain, hazard, environment) for a polygon area. Coordinates are [longitude, latitude] pairs. Max area depends on tier.
Request Body (JSON)
| Field | Type | Description | |
|---|---|---|---|
coordinates | array | required | Array of [lon, lat] pairs forming a closed polygon |
mode | string | optional | nowcast (default), forecast, or omit for historical |
day | int | optional | Forecast day (0–7), used when mode is forecast |
month | int | optional | Month (1–12) for historical monthly average |
GET /v1/usage
Check your current daily API usage, tier, and remaining quota.
MCP Server (AI Assistants)
Use PixelGust directly inside Claude, Cursor, and other AI assistants that support the Model Context Protocol. The server exposes all PixelGust data as tools: current weather, forecasts, historical climate, timeseries, terrain, hazards, environment, proximity, and polygon statistics.
Server URL: https://pixelgust.com/mcp (Streamable HTTP transport)
Works without any setup at free-tier limits. For higher limits, add your PixelGust API key
as a header: X-API-Key: pk_...
Claude Code:
claude mcp add --transport http pixelgust https://pixelgust.com/mcp
With an API key:
claude mcp add --transport http pixelgust https://pixelgust.com/mcp --header "X-API-Key: pk_your_key"
Claude Desktop and claude.ai: Settings → Connectors → Add custom connector →
paste https://pixelgust.com/mcp.
Cursor and other MCP clients: add a Streamable HTTP server with the same URL;
pass the API key header in the server config if you have one.
Example prompts once connected: "What is the fire risk and 7-day forecast at 38.0, 23.7?", "Has this location gotten drier over the last decade?", "Compare the terrain and flood susceptibility of these two coordinates."
Error Codes
All errors return a JSON object with a detail field.
| Status | Meaning |
|---|---|
401 | Missing or invalid API key |
400 | Invalid parameters (e.g., polygon too large or too many vertices) |
429 | Rate limit exceeded: check Retry-After header |
500 | Server error: data unavailable for the requested location |
503 | Service temporarily unavailable |