API documentation

Query a database of 60,000 garden plants. Filter by hardiness zone, sunlight, water needs, plant type, and garden use. Returns JSON.

GET/api/recommend

Returns plants matching your filters. Up to 48 results per request (20 by default), garden centre plants first, then by data completeness.

Parameters

All parameters are optional. Combine as many as you want.

ParameterTypeValues
zoneinteger2 through 13 (USDA hardiness zone)
sunstringfull_sun, partial_sun, partial_shade, full_shade
waterstringdry, moderate, moist, wet
typestringannual, perennial, shrub, tree, vine, bulb, grass, groundcover, houseplant, succulent, fern, vegetable, herb, fruit, or food for all three
usestringpollinator_garden, cut_flower, container, ground_cover, hedge, shade_garden, border, specimen, food_garden, rock_garden, xeriscape, rain_garden, cottage_garden, woodland, meadow, privacy_screen, foundation, winter_interest, accent, annual_bed, formal_garden, indoor, low_maintenance, naturalized, perennial_bed, windbreak
deer_resistantbooleantrue
fragrantbooleantrue
ediblebooleantrue
easybooleantrue for low-maintenance plants. Combines with use.
limitinteger1 through 48. Results per request. Default 20.
offsetinteger0 through 99. Skips that many results, for paging. Default 0. The free API returns the top 100 matches.

Example request

GET https://selectaplant.com/api/recommend?zone=5&sun=full_sun&use=pollinator_garden

Example response

{
  "total": 42,
  "showing": 20,
  "plants": [
    {
      "slug": "sonic-bloom-pearl-weigela-florida",
      "common_name": "Sonic Bloom Red Weigela",
      "botanical_name": "Weigela florida 'Sonic Bloom Red'",
      "plant_type": "shrub",
      "zones": "4-8",
      "sun": "Full sun",
      "deer_resistant": false,
      "fragrant": false,
      "edible": false,
      "notes": "Proven Winners ColorChoice"
    }
  ]
}
GET/plants/[slug]

Individual plant pages with full structured data. These are HTML pages, not JSON. Each one renders from the same database the API queries.

Example

GET/api/plantsComing soon

Full database access with all fields and unlimited results. This endpoint will be gated via x402 micropayments. Returns HTTP 402 for now.

Pricing target: $0.001 per query.

About the data

The database contains 60,000 plants drawn from nursery catalogs (Proven Winners, Monrovia, Johnny's, West Coast Seeds, Baker Creek), RHS Award of Garden Merit lists, All-America Selections winners, and native plant references. Plants sold at garden centres rank first in results. Duplicate records are merged, with each plant keyed on genus, species, and cultivar. Data includes hardiness zones, sun and water needs, height, spread, bloom season, garden uses, deer resistance, and more.

Select-A-Plant is a Home for the Harvest project.