OrbTop

USDA Plant Hardiness Zone Lookup (by ZIP Code)

DEVELOPER TOOLS

USDA Plant Hardiness Zone Lookup (by ZIP Code)

Resolves US ZIP codes to USDA 2023 Plant Hardiness Zones via phzmapi.org. Run once to build the full ~33,700-ZIP lookup table, or supply a custom ZIP list for on-demand lookups.

What it does

The USDA Plant Hardiness Zone Map is the standard reference for where plants can survive winter temperatures across the US. This actor scrapes zone data for every US ZIP Code Tabulation Area (ZCTA) from the community-maintained JSON API at phzmapi.org, which wraps the official 2023 USDA raster.

Key features:

  • Full table mode — run with no input to scrape all ~33,700 US ZCTAs in one go
  • On-demand mode — supply a custom list of ZIP codes for targeted lookups
  • Parsed numeric fieldszone_number (7), zone_half ("b"), temp_min_f / temp_max_f integers — ready for database joins and spreadsheet filters
  • Source attribution — every record carries source: "USDA PHZM 2023 via phzmapi.org" for data lineage

Output fields

Field Type Description
zipcode string 5-digit US ZIP code (zero-padded)
zone string USDA 2023 hardiness zone, e.g. "7b"
zone_number integer Numeric part of the zone, e.g. 7
zone_half string Half-zone suffix: "a" or "b"
temperature_range_f string Avg annual extreme minimum temp range, e.g. "5 to 10"
temp_min_f integer Lower bound in °F
temp_max_f integer Upper bound in °F
latitude number ZCTA centroid latitude
longitude number ZCTA centroid longitude
source string Data attribution string
coverage_note string Populated only when a ZIP has no PHZM coverage

Sample output

{
  "zipcode": "90210",
  "zone": "10b",
  "zone_number": 10,
  "zone_half": "b",
  "temperature_range_f": "35 to 40",
  "temp_min_f": 35,
  "temp_max_f": 40,
  "latitude": 34.088808,
  "longitude": -118.40612,
  "source": "USDA PHZM 2023 via phzmapi.org",
  "coverage_note": null
}

Input

Parameter Type Required Description
zipcodes array No List of 5-digit US ZIP codes to look up. Leave empty to fetch the full US ZCTA universe (~33,700 records).
maxItems integer No Maximum records to return. Useful to cap a full-table run for testing.

Example — lookup a handful of ZIP codes:

{
  "zipcodes": ["90210", "10001", "60601", "98101"]
}

Example — full US table (no input needed):

{}

Use cases

  • Garden-planner apps — resolve user's ZIP to hardiness zone at signup
  • Seed & nursery e-commerce — filter plant catalog by customer's zone
  • Landscaping / agronomy SaaS — embed the full table as a reference dataset
  • AI agents — deterministic zone lookup without a live API call at inference time
  • Climate dashboards — correlate hardiness zones with weather or crop data

Notes

  • Data source: phzmapi.org (community JSON wrapper of the USDA 2023 Plant Hardiness Zone Map raster)
  • Zone data changes only when USDA revises the map (last revision: 2023). A full-table refresh is needed only after official USDA updates.
  • A small number of ZIP codes (military addresses, PO box-only ZIPs) have no PHZM coverage. These ZIPs produce 0 records.
  • Bundled ZIP list source: US Census Bureau 2023 ZCTA Gazetteer (33,791 ZCTAs).