API overview

Rain Monitoring API

Current precipitation data for a location and radius.

Query rain intensity from radar and satellite and check data availability for use in applications, monitoring systems, and operational workflows. Coverage is available in selected countries and regions.

The minimum monthly commitment of US$1,000 includes 2.5 million API requests per month. Access is reserved for larger commercial customers and projects, with scope and expected usage agreed individually.

Interface
HTTPS · GET / POST
Response format
JSON
Authentication
API key
Optional integration
MCP support

API reference

Query precipitation within a radius around a coordinate. The standard response describes radar and satellite coverage, maximum rain intensity, and the timestamp of the underlying precipitation data.

GET / POST https://app.rain-alarm.com/api/v1/rain HTTPS · JSON

Request parameters

All four parameters are required. Send them as query parameters with GET, or as application/x-www-form-urlencoded parameters with POST.

Required request parameters, their types, and accepted values
Parameter / typeDefinition
api_keystring API key assigned to your integration.Example: YOUR_API_KEY
latnumber Latitude of the search centre in decimal degrees.Example: 45.5152
lonnumber Longitude of the search centre in decimal degrees.Range: −180 to 180, inclusive. Example: -122.6784
radiusnumber · km Search radius around the coordinate.Greater than 0, up to 501 km. Example: 20
Example requestcURL · GET
curl --get \
  'https://app.rain-alarm.com/api/v1/rain' \
  --data-urlencode 'api_key=YOUR_API_KEY' \
  --data-urlencode 'lat=45.5152' \
  --data-urlencode 'lon=-122.6784' \
  --data-urlencode 'radius=20'

This example queries a 20 km radius around Portland, Oregon. Replace YOUR_API_KEY with your assigned key.

400
A coordinate or radius is missing, invalid, or outside the accepted range.
403
The API key is missing or invalid.

Response fields

A successful request returns 200 OK and a JSON object. Data availability and source coverage are reported separately in coverage.

Standard JSON response fields, types, and presence rules
Field / typeDefinition
coverageinteger · always Data availability and source coverage within the requested radius.
1
Current radar data available
2
Radar and satellite data available within the radius, including in separate parts of the search area
3
Satellite data available within the radius; no usable radar coverage anywhere in the search area
0
Data temporarily unavailable
-1
Location outside supported coverage
intensityinteger · conditional Maximum rain-intensity level within the search radius, from 0 to 12.Included when coverage is 1, 2, or 3 (coverage > 0). Level 0 means no precipitation detected; levels 1–12 follow the intensity scale.
updatedinteger · always Timestamp of the underlying precipitation data, in milliseconds since the Unix epoch.Use this timestamp to assess the age of the data, and coverage to check its availability.

For coverage: 0 or coverage: -1, intensity is omitted. A missing field must not be treated as intensity: 0. Codes 1, 2, and 3 identify available sources within the radius; they do not guarantee coverage of every point in the search area.

Data available200 OK · JSON
{
  "coverage": 1,
  "intensity": 7,
  "updated": 1783778400000
}
Data temporarily unavailable
{
  "coverage": 0,
  "updated": 1783778400000
}
Location outside coverage
{
  "coverage": -1,
  "updated": 1783778400000
}

Illustrative responses. The available-data example reports intensity level 7, corresponding to an estimated rain rate above 12 mm/h.

Optional response data

By agreement

The following data can be included in a tailored integration. These are additional response fields, separate from the four required request parameters.

Optional response data available by agreement
Additional dataDescription
Distance to precipitationDistance from the requested location to the nearest detected precipitation within the search radius.
Precipitation-covered areaApproximate area affected by precipitation within the search radius.
Precipitation typesTypes detected within the radius: rain, mixed precipitation, snow, or freezing rain.

These fields are not part of the standard response above. Field names, units, and availability are specified for each integration.

Intensity scale

Level 0 means no precipitation detected. Levels 1–12 correspond to the following approximate minimum rain rates.

  1. 1> 0.2 mm/h
  2. 2> 0.3 mm/h
  3. 3> 0.6 mm/h
  4. 4> 1.3 mm/h
  5. 5> 3 mm/h
  6. 6> 6 mm/h
  7. 7> 12 mm/h
  8. 8> 24 mm/h
  9. 9> 50 mm/h
  10. 10> 100 mm/h
  11. 11> 205 mm/h
  12. 12> 420 mm/h

Coverage and data availability

See the map at www.rain-alarm.com for current precipitation coverage. We will confirm coverage for your intended locations during integration planning.

Data sources and interruptions

Radar observations are supplied by national and regional meteorological services and supplemented by satellite precipitation estimates. Update frequency and geographic coverage vary by source.

Maintenance, transmission problems, and source delays can temporarily affect data availability. API availability and precipitation-data availability are separate.

Integration options

Use the JSON API to query individual locations or monitor them periodically. Request volume, update frequency, and support requirements are agreed for each integration.

Typical applications include dispatch and logistics, outdoor site monitoring, events, and fleet operations.

Batch requests

Batch requests can be discussed for your integration and would require a separately agreed implementation. See the optional response data for additional fields.

MCP support

Optional

Model Context Protocol (MCP) support is available as an optional integration for compatible AI tools and assistants. Include your MCP requirements when requesting access so we can discuss the setup and scope.

Access and contact

Access is limited to larger commercial customers and projects with substantial usage requirements. The API is not available for personal use or small-scale projects.

Include your project scope, intended locations, and expected usage when contacting us. We review each request individually to confirm eligibility, coverage, update frequency, and pricing.

US$1,000 per month includes 2.5 million API requests. This is the minimum monthly commitment, excluding applicable VAT and sales taxes. Higher request volumes and additional requirements are priced individually.

mdiener@mdiener.it

Write directly or use the form to prepare an email request.

Submitting opens a prepared message in your email app. Nothing is sent to us until you send the email.