plantsforafuture.org APIplantsforafuture.org ↗
Access the PFAF plant database via API. Search by Latin name, browse alphabetically, and retrieve edibility, medicinal, cultivation, and propagation details.
curl -X GET 'https://api.parse.bot/scraper/18f9d0e0-3307-428c-a976-dd138c6806ee/search_plants?query=Rosa' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for plants in the PFAF database by Latin name. Returns a list of matching plants with basic characteristics including habit, height, hardiness, soil preferences, and edible/medicinal/other use ratings.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Latin name or partial Latin name to search for (e.g. 'Rosa', 'Allium') |
{
"type": "object",
"fields": {
"items": "array of plant summary objects with keys: Latin Name, Common Name, Habit, Height, Hardiness, Growth, Soil, Shade, Moisture, Edible, Medicinal, Other, details_url, latin_name_id",
"total": "integer count of results returned"
},
"sample": {
"data": {
"items": [
{
"Soil": "LMH",
"Habit": "Shrub",
"Other": "3",
"Shade": "SN",
"Edible": "2",
"Growth": "",
"Height": "2.5",
"Moisture": "M",
"Hardiness": "0-0",
"Medicinal": "2",
"Latin Name": "Rosa acicularis",
"Common Name": "Prickly Rose",
"details_url": "https://pfaf.org/user/Plant.aspx?LatinName=Rosa acicularis",
"latin_name_id": "Rosa acicularis"
}
],
"total": 56
},
"status": "success"
}
}About the plantsforafuture.org API
The Plants For A Future API exposes 3 endpoints covering the PFAF database of edible and medicinal plants. Use search_plants to query by Latin name and get back habit, height, hardiness, soil, shade, moisture, and edible-use ratings. Use get_plant_details to pull full records including cultivation notes, propagation methods, geographic range, known hazards, and separate edible and other-use descriptions for any specific plant.
Searching and Browsing Plants
The search_plants endpoint accepts a query parameter — a full or partial Latin name such as Rosa or Allium — and returns an array of matching plant summary objects. Each item in the response includes Latin Name, Common Name, Habit, Height, Hardiness, Growth, Soil, Shade, Moisture, and Edible rating, plus a total count of results. This makes it practical to build type-ahead search or bulk screening across genus-level queries.
The browse_plants_alphabetically endpoint accepts an optional single letter parameter (A–Z) and returns the same summary object shape for every plant in the database whose Latin name starts with that letter. The total field tells you how many records matched, which helps with pagination logic on the client side.
Detailed Plant Records
For any plant whose exact Latin name you know, get_plant_details returns a substantially richer record. Response fields include family, range, habitats, cultivation, propagation, edible_uses, other_uses, and other_rating (a 1–5 scale). The edible_uses and other_uses fields are free-text descriptions drawn from the PFAF database, so they can contain substantial detail about preparation methods and practical applications. Known hazards and common name are also present in the response.
- Build a foraging app that surfaces edible plant options by searching partial Latin genus names and displaying
Edibleratings. - Generate cultivation guides by pulling
cultivationandpropagationfields for a list of target species. - Create a hardiness-zone plant finder by filtering
search_plantsresults on theHardinessfield. - Populate a medicinal plant reference tool using
edible_usesandother_usesdescriptions fromget_plant_details. - Build a full A–Z plant browser using
browse_plants_alphabeticallyiterated over each letter. - Cross-reference plant families and geographic ranges by extracting
familyandrangefields from detailed records. - Screen plants by soil and shade tolerance using the
Soil,Shade, andMoisturefields returned in search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Plants For A Future have an official developer API?+
What does `get_plant_details` return that `search_plants` does not?+
search_plants returns summary fields: Latin Name, Common Name, Habit, Height, Hardiness, Growth, Soil, Shade, Moisture, and Edible rating. get_plant_details adds family, range, habitats, cultivation, propagation, edible_uses, other_uses, and other_rating. You need the exact Latin name to call get_plant_details; partial names only work with search_plants.Does the API expose medicinal use ratings or medicinal use descriptions separately?+
edible_uses, other_uses, and other_rating, but a dedicated medicinal rating field and separate medicinal description field are not exposed as distinct response keys. You can fork this API on Parse and revise it to add a medicinal-specific endpoint or field if the underlying PFAF plant pages include that data.Can I filter `browse_plants_alphabetically` results by soil type, hardiness, or growth rate?+
Soil, Hardiness, and Growth fields are present in each summary object, so filtering must be applied client-side after fetching the result set. You can fork this API on Parse and revise it to add query parameters for server-side filtering.