Plant Hardiness Zone Map API

A free, static JSON API for USDA plant hardiness zones, by U.S. ZIP code.

Look up a ZIP code

Endpoints

URLDescription
/{zipcode}.json Zone, temperature range, and coordinates for one ZIP code.
/all.json The entire dataset as a single JSON object, keyed by ZIP code.
/all.csv The entire dataset as CSV.
/manifest.json Metadata and the full list of covered ZIP codes.

Please use the bulk files rather than iterating over every ZIP code.

Example response

GET https://phzmapi.org/20001.json

{
  "zone": "8a",
  "temperature_range": "10 to 15",
  "coordinates": {
    "lat": "38.907711",
    "lon": "-77.01732"
  }
}

In the per-ZIP files, coordinates are strings, for backwards compatibility. In all.json they are numbers.

Coverage

Not every U.S. ZIP code is in this dataset. The source data does not include every ZIP code, and ZIP codes with no known coordinates are omitted. Requesting a ZIP code that isn't covered returns a 404. To check coverage in advance, use manifest.json.

Data source

Derived from the USDA Plant Hardiness Zone Map, as published in bulk by the PRISM Climate Group at Oregon State University, combined with ZIP code location data.

Source vintage: 2023 release. The 2023 revision shifted much of the country by half a zone relative to the 2012 map, so check this before comparing against older data. Per PRISM's terms of service, this is not the official USDA Plant Hardiness Zone Map.

Terms

Free to use, no key or attribution required, no rate limit. Served as static files, so please cache responses where you reasonably can. The code is MIT-licensed and available on GitHub.