API documentation
Query a database of 60,000 garden plants. Filter by hardiness zone, sunlight, water needs, plant type, and garden use. Returns JSON.
/api/recommendReturns 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.
| Parameter | Type | Values |
|---|---|---|
zone | integer | 2 through 13 (USDA hardiness zone) |
sun | string | full_sun, partial_sun, partial_shade, full_shade |
water | string | dry, moderate, moist, wet |
type | string | annual, perennial, shrub, tree, vine, bulb, grass, groundcover, houseplant, succulent, fern, vegetable, herb, fruit, or food for all three |
use | string | pollinator_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_resistant | boolean | true |
fragrant | boolean | true |
edible | boolean | true |
easy | boolean | true for low-maintenance plants. Combines with use. |
limit | integer | 1 through 48. Results per request. Default 20. |
offset | integer | 0 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_gardenExample 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"
}
]
}/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
/api/plantsComing soonFull 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.