A Plain-English Guide to Flora API
This page explains what every part of Flora API gives you, in ordinary English,
with no code. It is written for anyone who needs to know what Flora can tell them
without reading a technical specification — whether you are evaluating Flora,
working alongside a developer who has already integrated it, or directing an AI
assistant to retrieve plant data.
Looking for exact web addresses, parameters, and response formats? Those live in the
technical API reference.
This guide is the companion to it, not a replacement.
The one thing to understand before anything else
A blank field means “we don't have that written down,” not “the answer is no.”
Flora is compiled from many source datasets, and coverage is uneven. A plant with
no recorded flower color still has a flower color — Flora simply holds no
record of it.
This matters most for safety. Flora holds detailed hazard records for only a few
hundred of its roughly 29,000 plants. An empty hazard list means no record
exists, not that a plant is safe to touch or eat. Read
Safety information
before you build anything that tells a person a plant is safe.
Start here: what do you want to know?
Find your question, then read the entry it points to. Filter by plan to see only
what your current subscription includes.
How to read this guide
Every entry below names one request you can make to Flora, gives its address, and
then describes it under the same five headings:
- What it does — one sentence.
- What you get back — the information in the answer, described in words.
- Options you can set — the choices available to you.
- Typical uses — the kind of question this answers.
- Important — anything surprising, missing, or easy to misread.
How to read an address
Under each heading you'll see a line like this one, which is the address of that
request. You don't need to type it yourself — hand it to your developer, or
give it to an AI assistant, and it identifies exactly which part of Flora you mean.
GET/v1/species/{id}/images
- GET means you are retrieving information. POST
means you are sending Flora a list of your own — a set of plants to assess,
for example — and getting an answer back. Almost everything in Flora is a GET.
- Anything in {curly braces}
is a value you supply. {id}
is a plant's ID number, {state}
a two-letter state code, {zip}
a ZIP code, {fips} a county code,
and {location} either a ZIP or a county code.
- Every address begins with
https://api.floraapi.com. So the example
above, asking for photographs of plant number 12345, is in full:
https://api.floraapi.com/v1/species/12345/images
Exact parameter names and response formats for each address are in the
technical API reference.
Words you'll see
What your plan includes
Four plans. Each includes everything in the plans below it.
Full plan comparison is on the pricing page.
Two things worth knowing about plans
1. You can sample the plan above yours. On Free, you have 50 calls a
month to Developer features. On Developer, 100 a month to Professional features. A
higher-plan feature may therefore work several times and then begin declining requests
— that is the trial allowance being used up.
2. Sometimes a higher plan adds detail rather than unlocking a door.
Two things — county-level distribution, and the climate-tolerance data on a
plant's profile — are not blocked on a lower plan. They are simply omitted from
the response. The same request returns more information on a larger plan, with no
visible difference in how it is made.
Free plan
Search for plants
Free
GET/v1/search
What it does
Finds plants matching filters you choose.
What you get back
A list of matching plants, how many matched in total, how many are in this batch, where you are in the list, and whether there are more. Each plant carries:
- Its scientific name and common names
- Its family and genus
- Whether it's Native, Non-Native, or Invasive
- Its USDA symbol and taxonomic rank
- Flags for invasive and legally noxious status
- One representative photo, with its license, credit line, source, and a flag saying whether credit is legally required
Options you can set
A text query; state or county; family or genus; nativity; bloom month; flowering season; flower color; growth habit; light requirement; hardiness zone range; broad habitat type; soil type; ornamental quality; landscaping use; hazard; whether it has photos; whether it has edible parts. Results can be sorted and paged through.
Typical uses
“Native shrubs in Ohio with yellow flowers that bloom in June.”
Important
- Invasive plants are excluded by default. Ask for them explicitly if you want them.
- You get 50 results at a time by default, up to 500.
- An older field returns a photo's address on its own, without the licensing information beside it. It is retained for compatibility and will be removed in a future version — use the full photo record instead.
Name suggestions
Free
GET/v1/search/autocomplete
What it does
Given part of a name, suggests full plant names — scientific and common.
What you get back
What you typed, a list of suggestions, and a count. Each suggestion has the plant's ID, the matching name, whether that name is scientific or common, the plant's nativity, and its family.
Browse the plant family tree
Free
GET/v1/search/taxonomy
What it does
Lets people browse by family or genus instead of searching by name.
What you get back
The groups at the level you asked for. For a family: its name, how many plants are in it, and how many genera. For a genus: its name, its parent family, and how many plants are in it.
Options you can set
A text query, the level you want, and a state. County filtering needs the Developer plan.
Typical uses
A browsable directory rather than a search box.
Find plants with edible parts
Free
GET/v1/search/edible
What it does
Finds plants with recorded edible parts.
What you get back
A list of plants — each with its ID, scientific name, common names, family, genus, nativity, and which parts are edible (fruit, leaves, roots, seeds, flowers, stem) — plus a liability disclaimer attached to every response.
Options you can set
State, a specific edible part, and native-only (on by default). County filtering needs Developer.
Typical uses
Edible-landscaping lists and foraging reference material.
Important
Edible-plant data is included in every plan, including Free.
This is a reference index of plants reported to have edible parts. It is not an identification aid, a preparation guide, or a safety assessment. Many edible plants have toxic lookalikes, and many have some parts that are edible and others that are poisonous. Every response includes a disclaimer stating this — display it wherever you present the data to your users.
Everything about one plant
Free
GET/v1/species/{id}
What it does
Returns the complete profile for a single plant. Look it up by Flora's ID number or by its USDA symbol — either works.
What you get back
Everything in a search result, plus:
Typical uses
A plant detail page. This one request answers most questions about one plant.
Important
- Everything from habitat and soil downward — landscaping, size, foliage, propagation, safety — is free on every plan.
- County-level distribution is omitted on the Free plan. The request still succeeds; that section is simply absent from the response.
- Propagation timing: where a plant lists a season for seed collection but no month, the original source recorded only a season. Flora records what the source stated rather than estimating a month range, so a blank month beside a recorded season is accurate rather than missing.
Where a plant grows
Free
GET/v1/species/{id}/distribution
What it does
Lists the places one plant has been recorded.
What you get back
The plant's ID, the level you asked for (state or county), and the list of locations.
Typical uses
Drawing a range map, or checking whether a plant belongs in your area.
Photos of a plant
Free
GET/v1/species/{id}/images
What it does
Returns the photo gallery for a plant.
What you get back
For each photo: the web address, the license it's published under, the credit line, a flag saying whether credit is required, the collection it came from, and a link to the original page so you can verify the terms yourself. The preferred photo comes first.
Options you can set
How many photos; preferred-only; and — usefully — you can ask to exclude photos that require credit, if displaying credit isn't practical for you.
Important
Most Flora photos are published under licenses that make credit a legal condition of use — roughly 70% of them. The flag on each photo tells you which. Check it before you publish an image. See Data Sources & Attribution.
Can I grow this plant here?
Free
GET/v1/species/{id}/climate-match
What it does
Compares one plant against the climate of one place, given a ZIP code or a county.
What you get back
A yes/no answer, a plain rating (excellent, good, marginal, poor, or unknown), the location's hardiness zone, the plant's zone range, and a margin of safety — how many zones of buffer you have, negative if the plant is outside its range here.
When Flora has enough data it also returns a much richer assessment: scores against 27 separate climate measurements for the current climate and for future projections, a breakdown of each measurement, a list of the conditions actually holding the plant back here, and a confidence figure. A field tells you which approach was used — the detailed one or the simple hardiness-zone fallback.
Typical uses
A “can I grow this here?” check on a plant page.
Important
Scores run from -1 to 1. A negative score does not mean “slightly unsuitable” — it means the location falls outside the conditions the plant tolerates, and the more negative the score, the further outside it falls.
Plants in a state
Free
GET/v1/regions/{state}/species
GET/v1/regions/{state}/native
What it does
Lists plants recorded in a state. A separate version limits it to plants native there.
What you get back
The same plant summaries as search results.
Typical uses
State-level plant lists and native-plant guides.
The climate where you are
Free
GET/v1/climate/zipcode/{zip}
GET/v1/climate/county/{fips}
What it does
Returns the climate of a US location, looked up by ZIP code or by county.
What you get back
- The USDA hardiness zone, like “6b”
- Average annual low and high temperatures, in °F
- Which county and state the location is in
- An attribution line naming the data source
You can also ask for three extras:
- Month-by-month figures — rainfall and air dryness for each of the 12 months
- Baseline measurements — hot days per year, growing degree days, length of the frost-free period, winter chill hours, annual rainfall, and average air dryness
- The 19 standard bioclimatic variables — the measurements ecologists use to model where species can live, such as annual mean temperature or rainfall in the wettest month. Each comes with a description of what it is.
Typical uses
Filling in “your zone is 6b” on a form, or feeding a plant recommender. More on the sources behind this on the climate data page.
Your own usage
Free
GET/v1/analytics/usage
What it does
Reports how much of your monthly allowance you've used.
What you get back
Requests used this month, your monthly limit, and the percentage used; a day-by-day history including how many requests failed; and your ten most-used features.
Options you can set
How many days of history you want, up to 90.
Typical uses
Building a usage dashboard, or checking why requests have begun to be declined. The same figures appear on your account dashboard.
Developer plan
Plants similar to one you name
Developer
GET/v1/species/{id}/similar
What it does
Finds plants similar to a plant you specify — by shared genus or family, similar characteristics, and overlapping range.
What you get back
A list of plants in the same summary form as search results.
Typical uses
“You might also consider…” on a plant page, or finding a native substitute for something invasive.
The conditions a plant tolerates
Developer
GET/v1/species/{id}/climate-envelope
What it does
Describes the range of climate conditions a plant is actually found living in — its “climate envelope”.
What you get back
For each climate measurement Flora tracks: the measurement's name and description, its unit, the core range the plant is usually found in, the absolute range after outliers are removed, and how many counties went into the calculation. Plus a count of how many measurements had enough data.
Typical uses
Understanding why a plant does or doesn't suit a place, rather than just whether it does.
Important
The county count matters when interpreting the range. An envelope calculated from 8 counties is far less reliable than one calculated from 800.
Plants in a single county
Developer
GET/v1/regions/county/{fips}/species
What it does
Lists every plant recorded in one specific county.
What you get back
Plant summaries, same shape as search results.
Options you can set
Nativity, blooming season, and paging — up to 1,000 at a time.
Typical uses
County-level plant guides and local native-plant recommendations. State-level lists are included in every plan; county-level lists require the Developer plan.
Identify a plant from what you observed
Developer
GET/v1/identify
GET/v1/identify/characteristics
What it does
Suggests what a plant might be, based on physical traits you describe and where you saw it.
What you get back
A ranked list of suggestions with confidence scores, a total count of potential matches, and an echo of the criteria used — so you can see what Flora actually searched on.
A companion request returns the list of traits you're allowed to describe — the valid flower colors, leaf shapes, and so on — so you can build a form without guessing.
Options you can set
State; growth form; flower colors; leaf shapes; leaf arrangement; the month it's blooming; habitat; and whether to favor native plants (on by default). Up to 50 suggestions.
Typical uses
A guided “what did I find?” flow.
Important
This matches the traits you describe against Flora's records. It does not analyze photographs. Confidence scores rank the suggestions against one another and are not probabilities that any suggestion is correct. Never use these suggestions to determine whether a plant is safe to eat or handle.
Is a plant rare or protected?
Developer
GET/v1/conservation/status/{id}
What it does
Gives the conservation standing of one plant.
What you get back
- Its global rank, G1 through G5. G1 is critically imperiled, G5 is secure.
- The specific rarity designations that apply
- The rank translated into words, such as “High Conservation Concern — Critically Imperiled” or “Status Unknown”
- Its nativity, and flags for noxious-weed and invasive status
- Threat detail, unless you turn it off
- An attribution line
Typical uses
Compliance checks, environmental assessments, and grant applications.
Important
Global ranks come from NatureServe and must be credited. The rank is a global assessment — a plant common in your state can still be globally rare, and vice versa. “Status Unknown” means unranked, not secure.
Plants at conservation risk in a region
Developer
GET/v1/conservation/at-risk/{state}
What it does
Lists plants of conservation concern in a state.
What you get back
Plant summaries, ordered with the most imperiled first.
Options you can set
Minimum risk level (High, Moderate, Low), whether to include plants flagged rare, and how many.
Typical uses
Conservation planning, impact assessments, and prioritizing survey work.
Important
The risk categories are Flora's own interpretation of NatureServe's conservation ranks, not NatureServe's own labels. Note this if you republish them.
What will still grow here in the future
Developer
GET/v1/climate/analyze-viability/{location}
What it does
Works out which plants in a place stay suitable, stop being suitable, or become newly suitable, under a projected future climate.
What you get back
The location; the scenario and time period you asked for; the climate projections themselves; a summary counting plants by outcome; and two lists — those remaining viable and those becoming unviable. Each plant carries its current and projected status, its current and projected hardiness zone, a confidence score, the multi-measurement scores behind the verdict, and the conditions limiting it.
Options you can set
Give a county code or a ZIP code. Choose a scenario — moderate emissions or high emissions (business as usual). Choose a period — 2050s or 2080s. Limit to native plants, and cap the list length.
Typical uses
Long-horizon planting decisions and climate-adaptation planning.
Important
These are projections under a chosen scenario, not forecasts. The scenario you select changes the results substantially, which is why both are offered. State which scenario you used when you publish results.
Plants that will become suitable here
Developer
GET/v1/climate/new-opportunities/{location}
What it does
The optimistic mirror of the above: plants not currently viable in a place that a changing climate is projected to make viable.
What you get back
The location, scenario, and period; a count of opportunities; and the list of plants, each with the same status, zone, confidence, and limiting-factor detail.
Typical uses
Forward-looking nursery stocking and long-lived plantings like street trees.
Important
A plant becoming climate-viable is not the same as a plant being appropriate to plant. These results say nothing about whether a species is native to the area, or whether it may behave invasively there.
Plants a changing climate will push out
Developer
GET/v1/climate/at-risk-species/{location}
What it does
Identifies “climate refugees” — plants currently native to a place that are projected to become unviable there.
What you get back
The location, scenario, and period; a count; the list of plants with their current and projected status and the reasons; and a breakdown counting them as high, medium, or low conservation priority.
Typical uses
Conservation triage, seed-banking priorities, and grant narratives.
Professional plan
A spreadsheet of many plants
Professional
GET/v1/export/bulk
What it does
Downloads plant data as a file you can open in Excel or Google Sheets, or as structured data for a developer.
What you get back
Basic reference information per plant: scientific name, USDA symbol, up to 5 common names, family and genus, state-level distribution, growth habits, bloom season, flower colors, and a photo address. Recent additions include habitat types, soil types, landscaping uses, hazards, and minimum and maximum height. Spreadsheet downloads also include an attribution file and a safety file.
Options you can set
File format (spreadsheet or structured data), state, native-only, part of a scientific name, family, and genus.
Important limits
- 100 plants per download. If your filters match more than that, the request is declined and returns the total, so you can narrow your filters.
- 10 downloads per hour.
- Each download counts as 10 requests against your monthly allowance.
- Some information is deliberately left out of downloads: county-level distribution, conservation status, exact bloom months, and at-risk data.
- Exports are monitored for automated bulk-collection patterns. Export access may be suspended for accounts that trigger them.
- Keep the attribution file with the data whenever you store or share it.
Invasive plant alerts for a region
Professional
GET/v1/conservation/invasive-alerts/{state}
What it does
Lists invasive plants of concern in a state.
What you get back
The region, a count of alerts, the alerts themselves, and a summary counting them by severity. Severity is High for legally designated noxious weeds and Medium for other invasives.
Options you can set
Whether to include noxious weeds, and how many.
Typical uses
Early detection and rapid response programs, land management, and impact assessments.
Plants for restoring land
Professional
GET/v1/conservation/restoration-candidates/{state}
What it does
Recommends native plants suited to ecological restoration in a region.
What you get back
For each plant: its ID, scientific name, common names, family and genus, description and habitat, growth habits, the wildlife it attracts, and a score ranking it as a restoration candidate.
Options you can set
Target habitat type, whether to prioritize wildlife value, whether to prefer locally adapted plants, and how many.
Typical uses
Restoration planning, pollinator gardens, and habitat enhancement.
Important
The restoration score is Flora's own ranking, not an established ecological standard. It weights native status most heavily, followed by wildlife support and drought tolerance. Use it to order candidates for review rather than as a scientific rating.
A planting list built to last
Professional
GET/v1/climate/resilient-recommendations/{location}
What it does
Recommends plants for a place chosen to still be viable at the end of your planning horizon.
What you get back
The location, your planning horizon and scenario, a count, and the recommendations. Each carries the plant's names and growth habits, its viability now and at your horizon, a resilience score from 0 to 1, drought tolerance, a heat-tolerant flag, and a note explaining the recommendation.
Options you can set
Location (county or ZIP), planning horizon (2050s or 2080s), scenario (the high-emissions scenario is the default, so recommendations stay conservative), native-only, growth habits, flower colors, and how many.
Typical uses
Specifying plants for anything expected to be alive in thirty years.
How a state's growing conditions will shift
Professional
GET/v1/climate/migration-analysis/{state}
What it does
Analyzes how growing zones across a whole state are projected to move.
What you get back
Counties gaining warmth and, rarely, counties cooling — each with its current zone, projected zone, and how many zones it shifts. Plus the pattern of zone transitions across the state and a summary of the biodiversity impact.
Options you can set
Scenario and time period.
Typical uses
State-level conservation planning, and finding the places that will change most.
A full climate report for one county
Professional
GET/v1/climate/county-report/{fips}
What it does
Assembles everything Flora knows about one county's climate future into a single report.
What you get back
The county's identity; its current climate including month-by-month figures; projections for every combination of scenario and time period; a count of native plants; and, for each combination, how many plants become unviable and how many become newly viable. Available as structured data or as a spreadsheet download.
Typical uses
A document to hand to a planning board or attach to a grant application.
Important
This runs four full analyses in a single request, so it takes noticeably longer to return than other requests.
Will these specific plants work on this site?
Professional
POST/v1/climate/site-assessment
What it does
Takes a list of plants you name and assesses each one against one location, across multiple scenarios and time periods at once.
What you get back
The location; an assessment grid giving each plant's viability status and score for every scenario and period you asked for; an overall summary; and written recommendations.
Options you can set
Location (county or ZIP), up to 50 plants, and which scenarios and periods to run.
Typical uses
Checking a planting plan someone has already drafted, rather than generating a new one. This is the only part of Flora that starts from your plant list.
Before you build
Safety information
Some plants in Flora carry hazard records. Each names the hazard, its category
(toxicity, contact irritation, allergen, mechanical, structural, conservation),
which parts of the plant it applies to, and who is at risk — people, pets,
or livestock. Plants also carry simple toxic and allergenic flags, so you can see
both the flag and the detail behind it.
Before you use hazard data
Flora's hazard records come from a source that described 377 plants out of
about 29,000. Thousands of plants flagged toxic have no hazard detail
recorded at all. Because of that:
- Flora includes a safety notice whenever hazard information is
relevant — including when the hazard list is empty and the plant is
flagged toxic. Display this notice wherever you present hazard
information.
- Flora does not offer a filter for “plants with no recorded
hazards”. The absence of a hazard record is not evidence that a
plant is safe, and such a filter would present it as though it were.
- The hazard filter on search matches partial words, so filtering by
“toxic” returns all toxicity hazards at once.
If you are building anything a member of the public will act on — a foraging
application, a child-safe garden planner, a pet-safety checker — display the
safety notice, and never treat the absence of a hazard record as confirmation of
safety.
Attribution and credit
Flora's photos and much of its data arrive with license terms attached. Three
practical consequences:
- Photos. Most carry licenses that make credit a legal condition of
use. Every photo ships with its credit line and a flag saying whether credit is
required. Show the credit when the flag is set — or use the option to exclude
those photos entirely.
- Conservation ranks. Global ranks come from NatureServe and must be
credited.
- Bulk downloads. These arrive with an attribution file and a safety
file. Keep both with the data.
Every response also carries an attribution header, so the required credit travels with
the data itself. Full details are on the
Data Sources & Attribution page.
When something goes wrong
When Flora cannot complete a request, it returns a numbered code. These are the ones
you are most likely to encounter.
Data Flora no longer provides
Medicinal and ethnobotanical uses
Flora permanently withdrew medicinal and ethnobotanical use data
in August 2026, on data-provenance and Indigenous-data-sovereignty grounds. Requests
for it return a “permanently removed” response, and the related search
filter is ignored. This data will not be reinstated at another address, and Flora is
not a source for it.