Precipitation & Weather Data API

An API for accessing extremely accurate precipitation, soil moisture, and weather data. Provides historical observations and forecasts with flexible geographic and temporal querying capabilities.

BASE URL
https://api.precip.ai

Authentication

Sign into view and manage your API credentials

Precipitation Data

Endpoints for retrieving precipitation measurements and forecasts

Daily Precipitation Data

Returns comprehensive daily precipitation data for the given time range and location(s). Each day includes precipitation amount, type (rain/snow/mixed), probability (for forecasts), and data source. Seamlessly combines historical observations with forecast data depending on the requested time range.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

start

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

end

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

longitude

required, string

comma separated list of longitudes

latitude

required, string

comma separated list of latitudes

timeZoneId

optional, string

IANA timezone identifier e.g. America/Chicago

format

optional, default: geojson

Output format: geojson, json or csv

GET
/api/v1/daily
1

Hourly Precipitation Data

Returns comprehensive hourly precipitation data for the given time range and location(s). Each hour includes precipitation amount, type (rain/snow/mixed), probability (for forecasts), and data source. Seamlessly combines historical observations with forecast data depending on the requested time range.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

start

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

end

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

longitude

required, string

comma separated list of longitudes

latitude

required, string

comma separated list of latitudes

timeZoneId

optional, string

IANA timezone identifier e.g. America/Chicago

format

optional, default: geojson

Output format: geojson, json or csv

GET
/api/v1/hourly
1

Last 48 Hours Precipitation Data

Total precipitation in the last 48 hours for the given location(s).

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

longitude

required, string

comma separated list of longitudes

latitude

required, string

comma separated list of latitudes

timeZoneId

optional, string

IANA timezone identifier e.g. America/Chicago

format

optional, default: geojson

Output format: geojson, json or csv

GET
/api/v1/last-48
1

Recent Rain Event

Returns detailed information about the most recent precipitation event for the given location(s), including total amounts, precipitation type (rain/snow), timing, and how long ago it occurred. A rain event is defined as more than 1/10 inch (2.5mm) of precipitation with less than a 24-hour gap between occurrences.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

longitude

required, string

comma separated list of longitudes

latitude

required, string

comma separated list of latitudes

timeZoneId

optional, string

IANA timezone identifier e.g. America/Chicago

format

optional, default: geojson

Output format: geojson, json or csv

GET
/api/v1/recent-rain
1

Esri Image Server Integration

Image Service compatible with Esri products. This url eg https://api.precip.ai/api/v1/map/last-48/ImageServer can be added to ArcGIS Online, ArcGIS Pro or QGIS to load raster tiles for the last 48 hours of precipitation data.

Path Parameters

serviceName

required, string

The layer or service name.

  • last-48 - total precipitation in the last 48 hours
  • hourly - total hourly precipitation
  • wind-speed-hourly - average hourly wind speed
  • wind-direction-hourly - average hourly wind direction
  • temperature-hourly - average hourly temperature
GET
/api/v1/map/:serviceName/ImageServer
1

Map Layer Tiles

Map tiles compatible with most web mapping or GIS tools. Software such as Mapbox, Google Maps, ArcGIS, Leaflet, OpenLayers or QGIS will require an x/y/z url eg https://api.precip.ai/api/v1/map/last-48/ImageServer/tile/{z}/{y}/{x}. See the examples for more details.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

time

optional, string

<start timestamp>,<end timestamp>

Path Parameters

serviceName

required, string

The layer or service name.

  • last-48 - total precipitation in the last 48 hours
  • hourly - total hourly precipitation
  • wind-speed-hourly - average hourly wind speed
  • wind-direction-hourly - average hourly wind direction
  • temperature-hourly - average hourly temperature

x

required, integer

map tile id x

y

required, integer

map tile id y

z

required, integer

map tile id z

GET
/api/v1/map/:serviceName/ImageServer/tile/:z/:y/:x
1

Query

Query value of map tiles at point(s).

Query Parameters

geometry

required, object

points to query

geometryType

required, string

time

optional, string

<start timestamp>,<end timestamp>

Path Parameters

serviceName

required, string

The layer or service name.

  • last-48 - total precipitation in the last 48 hours
  • hourly - total hourly precipitation
  • wind-speed-hourly - average hourly wind speed
  • wind-direction-hourly - average hourly wind direction
  • temperature-hourly - average hourly temperature
GET
/api/v1/map/:serviceName/ImageServer/getSamples
1

Soil Data

Endpoints for soil moisture and temperature data

Soil Moisture

The soil moisture percentage relative to holding capacity

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

start

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

end

required, string

ISO 8601 date %Y-%m-%d or datetime %Y-%m-%dT%H:%M:%S

longitude

required, string

comma separated list of longitudes

latitude

required, string

comma separated list of latitudes

timeZoneId

optional, string

IANA timezone identifier e.g. America/Chicago

format

optional, default: geojson

Output format: geojson, json or csv

GET
/api/v1/soil-moisture-daily
1

Soil Temperature

Hourly soil temperature data at 0-10cm depth

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

GET
/api/v1/temp-0-10cm-hourly
1

Embed Widgets

Embeddable UI components for web integration

ENDPOINTS

Embeddable Location UI

Returns UI for a specific location that can be embedded in web applications.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

lat

required, number, maximum value of 90, minimum value of -90

Latitude coordinate for the location

lon

required, number, maximum value of 180, minimum value of -180

Longitude coordinate for the location

units

optional, string enum, default: metric

Units for displaying measurements (metric or imperial)

Possible Enum Values

metric

imperial

GET
/embed/location
1

MCP Server

Model Context Protocol server endpoint for AI tool integration

POST
/mcp
1