iAt a glance
The identification is a single HTTPS call. You send one or more plant photos plus which organ each shows; the API returns a ranked list of candidate species with confidence scores and taxonomy.
| Endpoint | POST https://my-api.plantnet.org/v2/identify/{project} |
|---|---|
| Auth | ?api-key=YOUR_KEY (query string) |
| Body | multipart/form-data โ image file(s) + organ(s) |
| Free tier | 500 identifications / day |
| Limits | Up to 5 images per request (same plant); JPG or PNG |
1Request parameters
What we send to Pl@ntNet.
Body โ multipart/form-data
| Field | Type | Req. | Description |
|---|---|---|---|
images | file | required | The plant photo. Repeat the field to send up to 5 images of the same plant (e.g. one leaf + one flower) for higher accuracy. |
organs | text | required | Which organ each image shows โ one organs value per images file, in the same order. Allowed: leaf, flower, fruit, bark, habit, other, or auto (let the AI decide). |
URL & query parameters
| Parameter | In | Default | Description |
|---|---|---|---|
project | path | all |
The flora (reference database) to search. all = world flora. Regional options exist (e.g. k-world-flora, weurope, useful). |
api-key | query | required | Your secret API key. Kept server-side in this demo โ never exposed to the browser. |
nb-results | query | 10 |
How many candidate species to return (ranked by score). |
lang | query | en |
Language for the commonNames field. |
include-related-images | query | false |
If true, each result includes Pl@ntNet reference photos (with author, licence & citation). |
no-reject | query | false |
If true, disables the "this is probably not a plant" rejection class. |
Worked example โ the exact request
POST https://my-api.plantnet.org/v2/identify/all ?api-key=โขโขโขโขโขโข&include-related-images=true&no-reject=false&nb-results=2&lang=en Content-Type: multipart/form-data images = (binary) tendu.jpg โ the photo organs = leaf โ organ shown in that photo
Equivalent cURL
curl -X POST \ "https://my-api.plantnet.org/v2/identify/all?api-key=YOUR_KEY\ &nb-results=2&lang=en&include-related-images=true" \ -F "images=@tendu.jpg" \ -F "organs=leaf"
2Response parameters
What Pl@ntNet returns (HTTP 200, application/json).
Top-level fields
| Field | Type | Description |
|---|---|---|
bestMatch | string | Scientific name of the highest-scoring species. |
results | array | Ranked candidate species (see table below). This is the main payload. |
predictedOrgans | array | Which organ the AI detected in each image + its confidence โ useful when organs=auto. |
query | object | Echo of what was submitted (image hashes, organs, options). |
language | string | Language used for common names. |
preferedReferential | string | Taxonomic reference used (e.g. k-world-flora). |
version | string | Model/version that produced the result. |
remainingIdentificationRequests | number | Requests left in your daily quota. |
Each item in results[]
| Field | Type | Description |
|---|---|---|
score | number 0โ1 | Confidence for this species (e.g. 0.845 = 84.5%). |
species.scientificNameWithoutAuthor | string | Species name, e.g. Diospyros melanoxylon. |
species.scientificName | string | Full name incl. author, e.g. Diospyros melanoxylon Roxb. |
species.genus.scientificNameWithoutAuthor | string | Genus, e.g. Diospyros. |
species.family.scientificNameWithoutAuthor | string | Family, e.g. Ebenaceae. |
species.commonNames | string[] | Common names in the requested language (mostly English โ no Hindi/local names). |
gbif.id | string | GBIF taxon id โ links to the global biodiversity database. |
powo.id | string | Plants of the World Online (Kew) id. |
iucn.category | string | IUCN conservation status when available (e.g. LC = Least Concern). |
images[] | array | Reference photos (only if include-related-images=true): each has organ, author, license, date, citation and url in 3 sizes (s/m/o). |
Important: Pl@ntNet returns identification + taxonomy only. It does not return local/vernacular names, medicinal uses, habitat or toxicity. In this demo those come from a separate curated Chhattisgarh knowledge layer (and Wikipedia as fallback) that Avenoir adds on top โ see the coloured "Knowledge card" in the live demo.
Worked example โ real response (Tendu photo, trimmed to 2 results)
3Status codes
| Code | Meaning |
|---|---|
200 | Success โ identification returned. |
400 | Bad request โ e.g. unreadable image, or images/organs count mismatch. |
401 | Invalid or missing API key. |
404 | No species could be matched ("Species not found"). |
429 | Daily quota exceeded. |
Avenoir ยท Reference for the Pl@ntNet identification API (my.plantnet.org). Prepared for the Chhattisgarh plant-classification proof of concept.