Windguru Weather Forecast Agent avatar

Windguru Weather Forecast Agent

Pricing

from $3.50 / 1,000 results

Go to Apify Store
Windguru Weather Forecast Agent

Windguru Weather Forecast Agent

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Fortuitous Pirate

Fortuitous Pirate

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Windguru Forecast DataAgent

Continuously collects wind and wave forecast data from Windguru to build an irreplaceable historical forecast archive.

Why This Matters

Weather forecast data is ephemeral - sites like Windguru overwrite predictions constantly. No one archives what the forecast was - only what actually happened. This DataAgent captures forecasts before they disappear, building a dataset that:

  • Shows forecast accuracy over time
  • Enables "what was predicted vs what happened" analysis
  • Creates a competitive moat (no one else has this data)

Scheduled Runs

Run every 6 hours via Apify Schedules:

  • Cron: 0 0,6,12,18 * * *
  • This captures 4 snapshots per day of the evolving forecast

Input

ParameterDescriptionDefault
spotsArray of Windguru spot IDsTop 10 wind spots
forecastHoursHours ahead to capture (max 240)168 (7 days)
supabaseUrlOptional Supabase project URL-
supabaseKeyOptional Supabase anon key-

Priority Spots (Default)

IDLocationKnown For
43Tarifa, SpainKiteboarding mecca
64Cabarete, DRConsistent trade winds
49045Hood River, ORGorge windsurfing
3Maui - HookipaWorld-class waves + wind
211Cape Town, SABig wind, big waves
158FuerteventuraYear-round wind

Output Schema

{
"capturedAt": "2026-01-26T14:30:00Z",
"forecastDate": "2026-01-28",
"forecastHour": 15,
"hoursAhead": 48,
"spotId": "43",
"spotName": "Tarifa, Spain",
"windSpeed": 25,
"windGusts": 32,
"windDirection": 110,
"waveHeight": 1.2,
"wavePeriod": 8,
"waveDirection": 270,
"temperature": 18,
"cloudCover": 20,
"precipitation": 0,
"forecastModel": "GFS",
"source": "windguru"
}

Local Testing

cd /home/peteylinux/Projects/Apify/dataagents/windguru-forecast-agent
npm install
mkdir -p storage/key_value_stores/default
echo '{"spots": ["43"]}' > storage/key_value_stores/default/INPUT.json
npm start

Deploy to Apify

cd /home/peteylinux/Projects/Apify/dataagents/windguru-forecast-agent
apify push

Then configure a schedule in Apify Console.

Supabase Schema

If using Supabase, create this table:

CREATE TABLE forecasts (
id SERIAL PRIMARY KEY,
source VARCHAR(50) NOT NULL,
captured_at TIMESTAMPTZ NOT NULL,
forecast_date DATE,
hours_ahead INTEGER,
location_id VARCHAR(100),
location_name VARCHAR(200),
wind_speed DECIMAL(5,1),
wind_gusts DECIMAL(5,1),
wind_direction INTEGER,
wave_height DECIMAL(4,1),
wave_period DECIMAL(4,1),
wave_direction INTEGER,
temperature INTEGER,
cloud_cover INTEGER,
precipitation DECIMAL(5,1),
forecast_model VARCHAR(50),
raw_json JSONB,
created_at TIMESTAMPTZ DEFAULT NOW()
);
CREATE INDEX idx_forecasts_lookup ON forecasts(source, location_id, forecast_date);
CREATE INDEX idx_forecasts_captured ON forecasts(source, captured_at);