Home · Skills · Development
Precip - Hyperlocal Weather Data API
Hyperlocal weather data - precipitation, temperature, wind, soil moisture and more
How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit gooseworks-ai/goose-skills/skills/research-tools/capabilities/hyperlocal-weather-precip#main ~/.claude/skills/hyperlocal-weather-precipFor one project only, change the path to .claude/skills/hyperlocal-weather-precip.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text372 lines
Precip - Hyperlocal Weather Data API
Setup
Read your credentials from ~/.gooseworks/credentials.json:
export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")
If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login
All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"
Access hyperlocal weather data including precipitation, temperature, wind, soil conditions, and more.
Capabilities
- Last 48 Hours Precipitation Data: Total precipitation in the last 48 hours for the given location(s)
- Air Temperature: Hourly near-surface air temperature in Celsius (°C)
- Hourly Soil Moisture: Hourly soil moisture percentage relative to holding capacity at 0-10cm depth
- Wind Direction: Hourly wind direction in compass degrees (0-360)
- Daily Precipitation Data: Returns comprehensive daily precipitation data for the given time range and location(s)
- Wind Gusts: Hourly wind gust speed in meters per second (m/s)
- 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
- Map Layer Tiles: Map tiles compatible with most web mapping or GIS tools
- Wind Speed: Hourly near-surface wind speed in meters per second (m/s)
- Cloud Cover: Hourly cloud cover fraction (0-1, where 0 is clear and 1 is overcast)
- Soil Temperature: Hourly soil temperature data at 0-10cm depth in Celsius (°C)
- Specific Humidity: Hourly specific humidity (kg/kg)
- Hourly Precipitation Data: Returns comprehensive hourly precipitation data for the given time range and location(s)
- Daily Soil Moisture: Daily soil moisture percentage relative to holding capacity at 0-10cm depth
- Embeddable HTML UI: Returns a complete, HTML page displaying comprehensive weather data for a specific location
- Solar Radiation: Hourly downward short-wave radiation flux in watts per square meter (W/m²)
- Relative Humidity: Hourly relative humidity as a percentage (0-100%)
Usage
Last 48 Hours Precipitation Data
Total precipitation in the last 48 hours for the given location(s).
Parameters:
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/last-48","query":{"latitude":"37.7749","longitude":"-122.4194"}}'
Air Temperature
Hourly near-surface air temperature in Celsius (°C)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/temperature-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Hourly Soil Moisture
Hourly soil moisture percentage relative to holding capacity at 0-10cm depth
Parameters:
- start* (string)
- end* (string)
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/soil-moisture-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Wind Direction
Hourly wind direction in compass degrees (0-360)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/wind-direction-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
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.
Parameters:
- start* (string)
- end* (string)
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/daily","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-31"}}'
Wind Gusts
Hourly wind gust speed in meters per second (m/s)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/wind-speed-gust-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
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.
Parameters:
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/recent-rain","query":{"latitude":"37.7749","longitude":"-122.4194"}}'
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.
Parameters:
- time (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/map/precipitation/ImageServer/tile/5/12/10"}'
Wind Speed
Hourly near-surface wind speed in meters per second (m/s)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/wind-speed-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Cloud Cover
Hourly cloud cover fraction (0-1, where 0 is clear and 1 is overcast)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/cloud-cover-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Soil Temperature
Hourly soil temperature data at 0-10cm depth in Celsius (°C)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/temp-0-10cm-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Specific Humidity
Hourly specific humidity (kg/kg)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/specific-humidity-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
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.
Parameters:
- start* (string)
- end* (string)
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-07"}}'
Daily Soil Moisture
Daily soil moisture percentage relative to holding capacity at 0-10cm depth
Parameters:
- start* (string)
- end* (string)
- longitude* (string)
- latitude* (string)
- timeZoneId (string)
- format (string)
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/soil-moisture-daily","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-31"}}'
Embeddable HTML UI
Returns a complete, HTML page displaying comprehensive weather data for a specific location. See the examples page for more details.
Authorization headers set automatically from query parameters on this endpoint.
Parameters:
- lat* (number) - Latitude coordinate (-90 to 90) for the location center of the precipitation widget
- lon* (number) - Longitude coordinate (-180 to 180) for the location center of the precipitation widget
- apiKey* (string) - Your API key for authentication. Gets automatically applied as header.
- units (string) - Unit system for displaying precipitation amounts and temperatures. 'metric' shows mm and °C, 'imperial' shows inches and °F.
- widgets (string) - Comma-separated list of widget keys to display.
Available options:
current, event, calendar, cumulative, total, precip, table, wind, temp, soiltemp, soilmoisture, snow
When not provided, shows all widgets.
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/embed/location","query":{"lat":"37.7749","lon":"-122.4194"}}'
Solar Radiation
Hourly downward short-wave radiation flux in watts per square meter (W/m²)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/solar-radiation-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Relative Humidity
Hourly relative humidity as a percentage (0-100%)
Parameters:
- start* (string)
- end* (string)
- longitude* (string) - Comma-separated list of longitude coordinates (WGS84)
- latitude* (string) - Comma-separated list of latitude coordinates (WGS84)
- timeZoneId (string) - IANA timezone identifier for localizing timestamps
- format (string) - Output format:
geojson,jsonorcsv
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/relative-humidity-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}'
Use Cases
- Agriculture: Monitor soil moisture and plan irrigation
- Construction: Track weather conditions for project planning
- Event Planning: Check precipitation forecasts for outdoor events
- Research: Access historical weather data for analysis
- IoT/Smart Home: Integrate weather data into automation
Discover More
For full endpoint details and parameters:
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt":"precip API endpoints"}' List all endpoints
curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \
-H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"api":"precip","path":"/api/v1/last-48"}' # Get endpoint details
| 1 | |
| 2 | name hyperlocal-weather-precip |
| 3 | description Hyperlocal weather data - precipitation, temperature, wind, soil moisture and more |
| 4 | source orthogonal |
| 5 | |
| 6 | |
| 7 | |
| 8 | # Precip - Hyperlocal Weather Data API |
| 9 | |
| 10 | ## Setup |
| 11 | |
| 12 | Read your credentials from ~/.gooseworks/credentials.json: |
| 13 | |
| 14 | export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])") |
| 15 | export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))") |
| 16 | |
| 17 | |
| 18 | If ~/.gooseworks/credentials.json does not exist, tell the user to run: `npx gooseworks login` |
| 19 | |
| 20 | All endpoints use Bearer auth: `-H "Authorization: Bearer $GOOSEWORKS_API_KEY"` |
| 21 | |
| 22 | |
| 23 | Access hyperlocal weather data including precipitation, temperature, wind, soil conditions, and more. |
| 24 | |
| 25 | ## Capabilities |
| 26 | |
| 27 | **Last 48 Hours Precipitation Data**: Total precipitation in the last 48 hours for the given location(s) |
| 28 | **Air Temperature**: Hourly near-surface air temperature in Celsius (°C) |
| 29 | **Hourly Soil Moisture**: Hourly soil moisture percentage relative to holding capacity at 0-10cm depth |
| 30 | **Wind Direction**: Hourly wind direction in compass degrees (0-360) |
| 31 | **Daily Precipitation Data**: Returns comprehensive daily precipitation data for the given time range and location(s) |
| 32 | **Wind Gusts**: Hourly wind gust speed in meters per second (m/s) |
| 33 | **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 |
| 34 | **Map Layer Tiles**: Map tiles compatible with most web mapping or GIS tools |
| 35 | **Wind Speed**: Hourly near-surface wind speed in meters per second (m/s) |
| 36 | **Cloud Cover**: Hourly cloud cover fraction (0-1, where 0 is clear and 1 is overcast) |
| 37 | **Soil Temperature**: Hourly soil temperature data at 0-10cm depth in Celsius (°C) |
| 38 | **Specific Humidity**: Hourly specific humidity (kg/kg) |
| 39 | **Hourly Precipitation Data**: Returns comprehensive hourly precipitation data for the given time range and location(s) |
| 40 | **Daily Soil Moisture**: Daily soil moisture percentage relative to holding capacity at 0-10cm depth |
| 41 | **Embeddable HTML UI**: Returns a complete, HTML page displaying comprehensive weather data for a specific location |
| 42 | **Solar Radiation**: Hourly downward short-wave radiation flux in watts per square meter (W/m²) |
| 43 | **Relative Humidity**: Hourly relative humidity as a percentage (0-100%) |
| 44 | |
| 45 | ## Usage |
| 46 | |
| 47 | ### Last 48 Hours Precipitation Data |
| 48 | Total precipitation in the last 48 hours for the given location(s). |
| 49 | |
| 50 | Parameters: |
| 51 | longitude* (string) |
| 52 | latitude* (string) |
| 53 | timeZoneId (string) |
| 54 | format (string) |
| 55 | |
| 56 | |
| 57 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 58 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 59 | -H "Content-Type: application/json" \ |
| 60 | -d '{"api":"precip","path":"/api/v1/last-48","query":{"latitude":"37.7749","longitude":"-122.4194"}}' |
| 61 | |
| 62 | |
| 63 | ### Air Temperature |
| 64 | Hourly near-surface air temperature in Celsius (°C) |
| 65 | |
| 66 | Parameters: |
| 67 | start* (string) |
| 68 | end* (string) |
| 69 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 70 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 71 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 72 | format (string) - Output format: `geojson`, `json` or `csv` |
| 73 | |
| 74 | |
| 75 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 76 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 77 | -H "Content-Type: application/json" \ |
| 78 | -d '{"api":"precip","path":"/api/v1/temperature-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 79 | |
| 80 | |
| 81 | ### Hourly Soil Moisture |
| 82 | Hourly soil moisture percentage relative to holding capacity at 0-10cm depth |
| 83 | |
| 84 | Parameters: |
| 85 | start* (string) |
| 86 | end* (string) |
| 87 | longitude* (string) |
| 88 | latitude* (string) |
| 89 | timeZoneId (string) |
| 90 | format (string) |
| 91 | |
| 92 | |
| 93 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 94 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 95 | -H "Content-Type: application/json" \ |
| 96 | -d '{"api":"precip","path":"/api/v1/soil-moisture-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 97 | |
| 98 | |
| 99 | ### Wind Direction |
| 100 | Hourly wind direction in compass degrees (0-360) |
| 101 | |
| 102 | Parameters: |
| 103 | start* (string) |
| 104 | end* (string) |
| 105 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 106 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 107 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 108 | format (string) - Output format: `geojson`, `json` or `csv` |
| 109 | |
| 110 | |
| 111 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 112 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 113 | -H "Content-Type: application/json" \ |
| 114 | -d '{"api":"precip","path":"/api/v1/wind-direction-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 115 | |
| 116 | |
| 117 | ### Daily Precipitation Data |
| 118 | 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. |
| 119 | |
| 120 | Parameters: |
| 121 | start* (string) |
| 122 | end* (string) |
| 123 | longitude* (string) |
| 124 | latitude* (string) |
| 125 | timeZoneId (string) |
| 126 | format (string) |
| 127 | |
| 128 | |
| 129 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 130 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 131 | -H "Content-Type: application/json" \ |
| 132 | -d '{"api":"precip","path":"/api/v1/daily","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-31"}}' |
| 133 | |
| 134 | |
| 135 | ### Wind Gusts |
| 136 | Hourly wind gust speed in meters per second (m/s) |
| 137 | |
| 138 | Parameters: |
| 139 | start* (string) |
| 140 | end* (string) |
| 141 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 142 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 143 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 144 | format (string) - Output format: `geojson`, `json` or `csv` |
| 145 | |
| 146 | |
| 147 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 148 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 149 | -H "Content-Type: application/json" \ |
| 150 | -d '{"api":"precip","path":"/api/v1/wind-speed-gust-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 151 | |
| 152 | |
| 153 | ### Recent Rain Event |
| 154 | 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. |
| 155 | |
| 156 | Parameters: |
| 157 | longitude* (string) |
| 158 | latitude* (string) |
| 159 | timeZoneId (string) |
| 160 | format (string) |
| 161 | |
| 162 | |
| 163 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 164 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 165 | -H "Content-Type: application/json" \ |
| 166 | -d '{"api":"precip","path":"/api/v1/recent-rain","query":{"latitude":"37.7749","longitude":"-122.4194"}}' |
| 167 | |
| 168 | |
| 169 | ### Map Layer Tiles |
| 170 | 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. |
| 171 | |
| 172 | Parameters: |
| 173 | time (string) |
| 174 | |
| 175 | |
| 176 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 177 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 178 | -H "Content-Type: application/json" \ |
| 179 | -d '{"api":"precip","path":"/api/v1/map/precipitation/ImageServer/tile/5/12/10"}' |
| 180 | |
| 181 | |
| 182 | ### Wind Speed |
| 183 | Hourly near-surface wind speed in meters per second (m/s) |
| 184 | |
| 185 | Parameters: |
| 186 | start* (string) |
| 187 | end* (string) |
| 188 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 189 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 190 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 191 | format (string) - Output format: `geojson`, `json` or `csv` |
| 192 | |
| 193 | |
| 194 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 195 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 196 | -H "Content-Type: application/json" \ |
| 197 | -d '{"api":"precip","path":"/api/v1/wind-speed-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 198 | |
| 199 | |
| 200 | ### Cloud Cover |
| 201 | Hourly cloud cover fraction (0-1, where 0 is clear and 1 is overcast) |
| 202 | |
| 203 | Parameters: |
| 204 | start* (string) |
| 205 | end* (string) |
| 206 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 207 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 208 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 209 | format (string) - Output format: `geojson`, `json` or `csv` |
| 210 | |
| 211 | |
| 212 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 213 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 214 | -H "Content-Type: application/json" \ |
| 215 | -d '{"api":"precip","path":"/api/v1/cloud-cover-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 216 | |
| 217 | |
| 218 | ### Soil Temperature |
| 219 | Hourly soil temperature data at 0-10cm depth in Celsius (°C) |
| 220 | |
| 221 | Parameters: |
| 222 | start* (string) |
| 223 | end* (string) |
| 224 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 225 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 226 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 227 | format (string) - Output format: `geojson`, `json` or `csv` |
| 228 | |
| 229 | |
| 230 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 231 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 232 | -H "Content-Type: application/json" \ |
| 233 | -d '{"api":"precip","path":"/api/v1/temp-0-10cm-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 234 | |
| 235 | |
| 236 | ### Specific Humidity |
| 237 | Hourly specific humidity (kg/kg) |
| 238 | |
| 239 | Parameters: |
| 240 | start* (string) |
| 241 | end* (string) |
| 242 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 243 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 244 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 245 | format (string) |
| 246 | |
| 247 | |
| 248 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 249 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 250 | -H "Content-Type: application/json" \ |
| 251 | -d '{"api":"precip","path":"/api/v1/specific-humidity-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 252 | |
| 253 | |
| 254 | ### Hourly Precipitation Data |
| 255 | 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. |
| 256 | |
| 257 | Parameters: |
| 258 | start* (string) |
| 259 | end* (string) |
| 260 | longitude* (string) |
| 261 | latitude* (string) |
| 262 | timeZoneId (string) |
| 263 | format (string) |
| 264 | |
| 265 | |
| 266 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 267 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 268 | -H "Content-Type: application/json" \ |
| 269 | -d '{"api":"precip","path":"/api/v1/hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-07"}}' |
| 270 | |
| 271 | |
| 272 | ### Daily Soil Moisture |
| 273 | Daily soil moisture percentage relative to holding capacity at 0-10cm depth |
| 274 | |
| 275 | Parameters: |
| 276 | start* (string) |
| 277 | end* (string) |
| 278 | longitude* (string) |
| 279 | latitude* (string) |
| 280 | timeZoneId (string) |
| 281 | format (string) |
| 282 | |
| 283 | |
| 284 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 285 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 286 | -H "Content-Type: application/json" \ |
| 287 | -d '{"api":"precip","path":"/api/v1/soil-moisture-daily","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-31"}}' |
| 288 | |
| 289 | |
| 290 | ### Embeddable HTML UI |
| 291 | Returns a complete, HTML page displaying comprehensive weather data for a specific location. See the examples page for more details. |
| 292 | |
| 293 | Authorization headers set automatically from query parameters on this endpoint. |
| 294 | |
| 295 | Parameters: |
| 296 | lat* (number) - Latitude coordinate (-90 to 90) for the location center of the precipitation widget |
| 297 | lon* (number) - Longitude coordinate (-180 to 180) for the location center of the precipitation widget |
| 298 | apiKey* (string) - Your API key for authentication. Gets automatically applied as header. |
| 299 | units (string) - Unit system for displaying precipitation amounts and temperatures. 'metric' shows mm and °C, 'imperial' shows inches and °F. |
| 300 | widgets (string) - Comma-separated list of widget keys to display. |
| 301 | |
| 302 | Available options: |
| 303 | `current`, `event`, `calendar`, `cumulative`, `total`, `precip`, `table`, `wind`, `temp`, `soiltemp`, `soilmoisture`, `snow` |
| 304 | |
| 305 | When not provided, shows all widgets. |
| 306 | |
| 307 | |
| 308 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 309 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 310 | -H "Content-Type: application/json" \ |
| 311 | -d '{"api":"precip","path":"/embed/location","query":{"lat":"37.7749","lon":"-122.4194"}}' |
| 312 | |
| 313 | |
| 314 | ### Solar Radiation |
| 315 | Hourly downward short-wave radiation flux in watts per square meter (W/m²) |
| 316 | |
| 317 | Parameters: |
| 318 | start* (string) |
| 319 | end* (string) |
| 320 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 321 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 322 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 323 | format (string) - Output format: `geojson`, `json` or `csv` |
| 324 | |
| 325 | |
| 326 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 327 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 328 | -H "Content-Type: application/json" \ |
| 329 | -d '{"api":"precip","path":"/api/v1/solar-radiation-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 330 | |
| 331 | |
| 332 | ### Relative Humidity |
| 333 | Hourly relative humidity as a percentage (0-100%) |
| 334 | |
| 335 | Parameters: |
| 336 | start* (string) |
| 337 | end* (string) |
| 338 | longitude* (string) - Comma-separated list of longitude coordinates (WGS84) |
| 339 | latitude* (string) - Comma-separated list of latitude coordinates (WGS84) |
| 340 | timeZoneId (string) - IANA timezone identifier for localizing timestamps |
| 341 | format (string) - Output format: `geojson`, `json` or `csv` |
| 342 | |
| 343 | |
| 344 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \ |
| 345 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 346 | -H "Content-Type: application/json" \ |
| 347 | -d '{"api":"precip","path":"/api/v1/relative-humidity-hourly","query":{"latitude":"37.7749","longitude":"-122.4194","start":"2024-01-01","end":"2024-01-02"}}' |
| 348 | |
| 349 | |
| 350 | ## Use Cases |
| 351 | |
| 352 | **Agriculture**: Monitor soil moisture and plan irrigation |
| 353 | **Construction**: Track weather conditions for project planning |
| 354 | **Event Planning**: Check precipitation forecasts for outdoor events |
| 355 | **Research**: Access historical weather data for analysis |
| 356 | **IoT/Smart Home**: Integrate weather data into automation |
| 357 | |
| 358 | ## Discover More |
| 359 | |
| 360 | For full endpoint details and parameters: |
| 361 | |
| 362 | |
| 363 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/search \ |
| 364 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 365 | -H "Content-Type: application/json" \ |
| 366 | -d '{"prompt":"precip API endpoints"}' List all endpoints |
| 367 | curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/details \ |
| 368 | -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \ |
| 369 | -H "Content-Type: application/json" \ |
| 370 | -d '{"api":"precip","path":"/api/v1/last-48"}' # Get endpoint details |
| 371 | |
| 372 |