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.

If you want to know…Read thisPlan
“What plants match these criteria?”Search for plantsFree
“What's the full story on this one plant?”Everything about one plantFree
“Suggest names while someone types”Name suggestionsFree
“Let people browse by plant family”Browse the family treeFree
“Which plants have edible parts?”Plants with edible partsFree
“Where does this plant grow?”Where a plant growsFree
“Show me photos I'm allowed to publish”Photos of a plantFree
“Can I grow this plant here?”Can I grow this here?Free
“What grows in my state?”Plants in a stateFree
“What's the climate like at this address?”The climate where you areFree
“How much of my allowance have I used?”Your own usageFree
“What else is like this plant?”Similar plantsDeveloper
“What conditions does this plant tolerate?”Conditions a plant toleratesDeveloper
“What grows in my county, specifically?”Plants in one countyDeveloper
“I found a plant — what is it?”Identify a plantDeveloper
“Is this plant rare or protected?”Is a plant rare?Developer
“Which plants here are in trouble?”Plants at risk in a regionDeveloper
“What will still grow here in 2050?”What will still grow hereDeveloper
“What will newly grow here?”What will become suitableDeveloper
“What will this place lose?”What will be pushed outDeveloper
“Give me a spreadsheet of plants”A spreadsheet of plantsProfessional
“What invasives should we watch for?”Invasive plant alertsProfessional
“What should we plant to restore this land?”Plants for restoring landProfessional
“What planting list is future-proof?”A future-proof planting listProfessional
“How will my state's growing zones shift?”How zones will shiftProfessional
“Give me a full report on my county”A full county reportProfessional
“Will these specific plants work on this site?”Assess a specific siteProfessional

No questions match that. Try a different word, or clear the filters.

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

TermWhat it means here
EndpointOne specific question you can ask Flora, with its own web address.
RequestOne time you ask a question. Your plan limits how many per month.
API keyYour password for Flora. It goes with every request. Don't share it.
SpeciesOne kind of plant. Flora knows about roughly 29,000.
FieldOne labeled piece of information in an answer, such as “flower colors”.
Empty / blankFlora has no record for that field. It does not mean “none” or “no”.
FIPS codeThe government's 5-digit ID for a US county (06001 = Alameda County, CA).
USDA symbolThe government's short letter code for a plant, like ACRU for red maple.
Hardiness zoneThe USDA's cold-tolerance bands, like “6b”. Lower numbers are colder.
NativityWhether a plant is Native, Non-Native, or Invasive where it's found.
NoxiousLegally designated as a harmful weed. Stricter than “invasive”.
Taxonomic rankWhere a plant sits in the naming hierarchy: species, subspecies, variety, and so on.
Family / genusThe two grouping levels above a species. Oaks are the genus Quercus, in the family Fagaceae.

What your plan includes

Four plans. Each includes everything in the plans below it.

PlanCostRequests / monthPer minuteIn one sentence
Free$01,00010Look up plants, search, and get local climate data.
Developer$19/mo7,50050Adds county detail, identification, conservation status, and climate projections.
Professional$79/mo75,000500Adds spreadsheet downloads, invasive alerts, and site planning.
EnterpriseCustomUnlimited10,000Everything, plus support commitments.

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

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.

Typical uses

A type-ahead search box.

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:

ProseDescription, preferred habitat, and additional details
AppearanceBloom months, flowering seasons, flower colors, fruit colors, leaf colors, growth habits
Growing conditionsLight requirements, soil moisture, water use, and the hardiness zone range it survives in
Where it growsStates, and counties where your plan includes them
PhotosEach with license and credit
Habitat & soilBroad habitat types; soil texture, chemistry, and drainage
LandscapingHow it's used in a planting, its ornamental qualities, and recorded maintenance
Mature sizeMinimum and maximum height and spread, in feet
FoliageWhether it keeps its leaves year-round, and whether the foliage is aromatic
PropagationMaterials and technique, any pre-treatment, and the seed collection window
SafetyRecorded hazards, a safety notice, and the toxic and allergenic flags
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.

What you seeWhat it meansWhat to do
401Your API key is missing, wrong, or not activated yet.Check the key. Confirm the verification email was clicked.
403This isn't in your plan — or your trial allowance for it is used up.Upgrade, or use a free alternative.
404That plant, ZIP code, or county wasn't found.Check the ID or code.
410This was permanently withdrawn.It is not coming back at another address.
429Too fast, or out of monthly allowance — or more than 10 downloads in an hour.Slow down, or wait for the reset.
400 on a downloadYour filters matched more than 100 plants.Narrow the filters. The message tells you the total.

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.

Where to go next