Frost Dates & Growing Degree Days Calculator avatar

Frost Dates & Growing Degree Days Calculator

Pricing

Pay per event

Go to Apify Store
Frost Dates & Growing Degree Days Calculator

Frost Dates & Growing Degree Days Calculator

Frost dates with 1-in-10 odds, frost-free season, vegetable planting calendar, and growing degree days for corn, grapes and other crops vs the average, for any place from NASA daily temperatures since 2001.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Jumble Mog

Jumble Mog

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Frost dates, the growing season, a planting calendar and growing degree days for any place in the world, from one line of text. Ask frost dates for Minneapolis, when to plant tomatoes, peppers, peas and lettuce in Denver or growing degree days for corn in Des Moines planted May 1 and you get back:

  • Frost dates: the median last spring and first autumn frost at 36°F (frost on the ground likely), 32°F (light freeze) and 28°F (hard freeze), with the 1-in-10 dates (90% of years are past the last frost by then) and the frost-free season in days.
  • Every year since 2001: each year's last and first frost dates and frost-free days.
  • A planting calendar: when to start seeds indoors and plant out tomatoes, peppers, peas, lettuce and 20 more vegetables, and the first harvest, from the median last frost. It warns when a tender crop won't ripen before the first autumn frost.
  • Growing degree days: this season's total for a crop (corn, soybeans, wheat, cotton, alfalfa, potatoes, grapes and more) or any base temperature from a planting date, against the 2001-2025 average and its 1-in-10 range, with how this season ranks, when a target (2,700 GDD for corn) is or should be reached, and the Winkler index and region for vineyards.
  • A chart: each year's frost-free season, or the degree days through the season against the average.

It's made for:

  • Gardeners and allotment holders deciding when to sow and plant out.
  • Farmers and agronomists tracking crop development, corn maturity and pest timing.
  • Vineyard planners comparing sites by the Winkler index.
  • Seed companies, garden apps, extension services and AI agents that need frost dates and degree days for any place, not just US ZIP codes.

A chart made by this Actor of the frost-free season in Minneapolis for every year from 2001 to 2025: green bars from the last spring frost to the first autumn frost, the median last frost around April 29 and the first around October 10

How to use it

  1. Write Places and questions, one per entry. The form has examples.
  2. Optionally set the Units: °F in the US and °C elsewhere by default.
  3. Click Start. Each request is a row in the results, with its summary, chart and report.

What you can write

You writeIt means
Minneapolis, Leeds, UK, Christchurch, New Zealand, 44.98, -93.27Where (a town of 5,000+ people or coordinates)
frost dates for ..., last frost, growing seasonFrost dates
when to plant tomatoes and peas in ..., planting calendar for ...A planting calendar (named crops, or 12 common vegetables)
growing degree days for corn in ..., GDD, heat unitsDegree days for a crop
base 10°C, base 50°F, cap 86°FYour own base and upper threshold
planted May 1, since April 15, 2,600 GDD, 2012Start date, target and season
Winkler index for NapaGrapes: degree days above 50°F, 1 April to 31 October

The same as an object: {"place": "Guelph, Canada", "type": "frost", "crops": ["tomato", "bean"]} or {"lat": 48.85, "lon": 2.35, "base": 10, "units": "metric", "start": "04-01"}.

Examples

  • frost dates for Minneapolis → last spring frost (32°F) around Apr 29 (1 year in 10 after May 16), first autumn frost around Oct 10 (1 in 10 before Oct 3); 164 frost-free days. NOAA's 1991-2020 normals for the airport are about Apr 30 and Oct 8.
  • when to plant tomatoes, peppers, peas and lettuce in Denver → last frost around May 14: start tomatoes indoors Mar 19-Apr 2 and plant out May 21-Jun 4; sow peas Apr 2-16.
  • growing degree days for corn in Des Moines, Iowa planted May 1 → 3,565 °F GDD to Oct 21 2026, 9% ahead of the 2001-2025 average; 2,700 GDD reached Aug 31 (normally Sep 8).
  • Winkler index for Walla Walla, Washington → 1,978 in a normal season (region I).
  • planting calendar for Leeds, UK → last frost (0°C) around Apr 18, first around Nov 17, and when to sow 12 vegetables.
  • frost dates for Christchurch, New Zealand → southern seasons: last spring frost around Sep 3, first autumn frost around Jun 11.

How-to examples

Each example is a complete input; the results are from runs of the Actor (also listed under Examples).

How to find the last frost date for your town

{"requests": ["frost dates for Minneapolis"]}

Result: "Minneapolis: last spring frost (32°F) around Apr 29 (1 year in 10 after May 16), first autumn frost around Oct 10 (1 in 10 before Oct 3); 164 frost-free days in a typical year." NOAA's 1991-2020 normals for the airport are about Apr 30 and Oct 8.

How to know when to plant vegetables

{"requests": ["when to plant tomatoes, peppers, peas and lettuce in Denver"]}

Result: last frost around May 14, so start tomatoes indoors Mar 19-Apr 2 and plant them out May 21-Jun 4, and sow peas Apr 2-16. It works anywhere: planting calendar for Leeds, UK gives frost dates at 0°C and when to sow 12 vegetables, and southern-hemisphere places get southern seasons.

How to track growing degree days for a crop

{"requests": ["growing degree days for corn in Des Moines, Iowa planted May 1"]}

Result: 3,565 °F GDD to Oct 21 2026, 9% ahead of the 2001-2025 average, with 2,700 GDD reached on Aug 31 (normally Sep 8). Grape growers can ask for the Winkler index: 1,978 for Walla Walla, Washington (region I).

How to let an AI agent answer gardening questions

Add this Actor to the Apify MCP server with https://mcp.apify.com/?tools=jumblemog/growing-season-calculator. The agent passes the question as written and answers with frost dates and planting windows from 25 years of daily temperatures for the place, instead of a hardiness-zone guess.

FAQ

Where does the data come from? NASA POWER's daily highs and lows for the place, from 2001 to a few days ago.

What does "1 year in 10" mean? The frost date is a typical date; in 1 year out of 10 the last spring frost comes later than the second date. Planting after it is safer.

Does it work outside the US? Yes, anywhere in the world, in °F or °C.

Can it track this season? Yes. Growing degree days run to a few days ago and are compared with the average. This season's numbers come from NASA's near-real-time analysis, so treat the comparison as approximate.

Input

FieldWhat it is
requestsPlaces and questions, as lines of text or objects (up to 200 per run)
unitsauto (°F in the US, °C elsewhere), us or metric
chartsDraw a chart for each request (default on)

Output

One dataset item per request, also saved together in the run's OUTPUT record:

{
"request": 1, "status": "ok", "type": "frost", "title": "Frost dates for Minneapolis",
"summary": "Minneapolis: last spring frost (32°F) around Apr 29 (1 year in 10 after May 16), first autumn frost around Oct 10 (1 in 10 before Oct 3); 164 frost-free days in a typical year.",
"frost": {"lastSpringFrost": "Apr 29", "firstFallFrost": "Oct 10", "growingSeasonDays": 164,
"lastSpringFrost90": "May 16", "firstFallFrost10": "Oct 3", "threshold": "32°F", "yearsUsed": "2001-2025"},
"thresholds": [{"threshold": "32°F", "meaning": "light freeze", "lastSpring10": "Apr 21", "lastSpring50": "Apr 29",
"lastSpring90": "May 16", "firstFall10": "Oct 3", "firstFall50": "Oct 10", "firstFall90": "Oct 25",
"growingSeason50": 164, "yearsWithFrost": 25, "years": 25}, "..."],
"years": [{"season": "2001", "lastSpringFrost": "2001-04-24", "firstFallFrost": "2001-10-06", "frostFreeDays": 164}, "..."],
"calendar": null,
"units": {"temperature": "°F", "degreeDays": "°F GDD"},
"imageUrl": "https://api.apify.com/v2/key-value-stores/.../records/001-Frost-dates-for-Minneapolis.png"
}

Degree-day items have gdd (crop, base, cap, method, start, through, accumulated, normalToDate, departure, departurePercent, normalSeasonTotal, rankWarmest, target, targetDate, normalTargetDate, winklerIndex, winklerRegion) and monthly instead. Every item also has place, warnings, notes (the method and every assumption), a Markdown report and links to the chart and report. A request that can't be computed has "status": "failed" and the reason in error, and isn't billed.

How it works

  1. Temperatures: NASA POWER's daily 2 m highs and lows for the point from 2001 to a few days ago (MERRA-2 reanalysis, then NASA's near-real-time GEOS analysis).
  2. Frost: in each year, the last day before midsummer and the first day after it with a low at or below the threshold (midwinter is 15 January in the north and 15 July in the south). The median and the 10th and 90th percentiles over the years give the dates, as in NOAA's freeze tables.
  3. Planting calendar: weeks before or after the median last frost for each crop (peas 6-4 weeks before, tomatoes 1-3 weeks after, seeds indoors 6-10 weeks before), plus typical days to harvest.
  4. Degree days: each day's average of high and low less the base (never below zero); for corn and soybeans the modified method raises the low to 50°F and caps the high at 86°F. Summed from the start date, against the average and the 10th-90th percentile of 2001-2025.

Pricing

You pay one low price per request, at the price shown on this page. The chart and report are included. Requests that can't be computed are never charged. If you set a maximum cost per run, the Actor stops before a request that wouldn't fit.

Speed

A request takes about a second (25 years of daily data for a place is fetched once per run). A run through the API answers in about 10-15 seconds, including the cloud container starting.

Tips and limits

  • Grid cells: the temperatures are for a cell about 50 km across. Low spots and valleys frost earlier in autumn and later in spring than the cell, and city centres and coasts less; use the 1-in-10 dates for frost-tender plants.
  • This season comes from NASA's near-real-time analysis, which can differ from the long record the average uses; treat its departure from the average as approximate.
  • Planting windows are rules of thumb; seed packets and local extension services know your varieties.
  • Limits: 200 requests per run; places need NASA POWER to answer.

For AI agents and developers

This Actor works with the Apify MCP server, so AI agents can call it as a tool. Pass requests as plain text and read summary, frost, calendar, gdd and warnings. A direct API call that waits for the answer:

curl -X POST "https://api.apify.com/v2/acts/jumblemog~growing-season-calculator/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"requests": ["when to plant tomatoes and beans in Madison, Wisconsin"]}'

run-sync instead returns the run's OUTPUT: the status, the counts and every result as JSON.

In Python, with the apify-client package:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("jumblemog/growing-season-calculator").call(run_input={
"requests": [{"place": "Lincoln, Nebraska", "crop": "corn", "start": "05-05", "target": 2600}],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["summary"])

Credits

  • Temperatures: NASA POWER (NASA Langley Research Center POWER Project, funded through the NASA Earth Science Directorate Applied Science Program; public).
  • Places: GeoNames via geonamescache (CC BY 4.0, MIT).
  • Math: NumPy (BSD-3-Clause). Charts: Vega-Lite and vl-convert (BSD-3-Clause), with the Inter font (SIL Open Font License).
  • Methods: NOAA freeze probability tables; the modified growing degree day method (McMaster and Wilhelm 1997); the Winkler index (Amerine and Winkler 1944).