We've collated data from several sources and munged it into a minimal JSON-based static database. The entirety of the site is powered by this single file and you're more than welcome to use it for your own purposes.
We also expose several other JSON files which can be used as lookup tables in combination with plants.json
to help sort through the data.
plants.json
Our primary database. This includes a breakdown of all currently-supported plants along with their common names, symptoms, images and affected animal types.
This is an array of objects with the following structure:
type Symptom struct { // The human-readable name of the symptom Name string `json:"name"` // A machine-friendly version of the name Slug string `json:"slug"` } type Common struct { // The human-readable name of the common name Name string `json:"name"` // A machine-friendly version of the common name Slug string `json:"slug"` } type Image struct { // The original remote source of the image SourceUrl string `json:"source_url"` // The original author of the image Attribution string `json:"attribution"` // The associated CC license License string `json:"license"` // The path to the image hosted on this site RelativePath string `json:"relative_path"` } type Classification struct { // The assigned kingdom of the plant Kingdom string `json:"kingdom"` // A list of any clades assigned to the plant Clades []string `json:"clades"` // The assigned order of the plant Order string `json:"order"` // The assigned family of the plant Family string `json:"family"` // The assigned genus of the plant Genus string `json:"genus"` // The assigned species for the plant ( if applicable ) Species string `json:"species"` } type Plant struct { // The unique identifier of the plant Pid string `json:"pid"` // The human-friendly name of the plant Name string `json:"name"` // A list of any animals affected by the plant Animals []string `json:"animals"` // A list of common names ( see above ) Common []Common `json:"common"` // A list of symptoms ( see above ) Symptoms []Symptom `json:"symptoms"` // A list of images ( see above ) Images []Image `json:"images"` // The wikipedia entry associated with the plant WikipediaUrl string `json:"wikipedia_url"` // A timestamp representing the latest changes DateLastUpdated string `json:"date_last_updated"` // An object representing classification data ( see above ) Classification Classification `json:"classification"` }
$ curl -sL plantsm.art/api/plants.json > plants.json
symptoms.json
A distinct listing of all known symptoms with an associated listing of any related plant records.
This is an array of objects with the following structure:
type Symptom struct { // The human-readable name of the symptom Name string `json:"name"` // A machine-friendly version of the name Slug string `json:"slug"` // The number of plants sharing this symptom Count int `json:"count"` // A list of ids for each associated plant Plants []string `json:"plants"` }
$ curl -sL plantsm.art/api/symptoms.json > symptoms.json
animals.json
A distinct listing of all supported animal types with an associated listing of any related plant records.
This is an array of objects with the following structure:
type Animal struct { // The name of the animal Name string `json:"name"` // The number of plants affecting this animal Count int `json:"count"` // A list of ids for each affecting plant Plants []string `json:"plants"` }
$ curl -sL plantsm.art/api/animals.json > animals.json
Use these files if you wish to have animal-specific listings.
cats.json
dogs.json
horses.json
rats.json
birds.json
rabbits.json
reptiles.json
hamsters.json
fish.json
Adding .json
to the end of any plant detail page will yield all associated data in the form of a JSON object.
These are known as "dumb" API endpoints. They are static flat files that are generated at "build time" before we deploy changes to production. They, like this site, live behind a CDN which is managed by Cloudflare. We do not impose rate-limits or any other restrictions with regards to access.
You may download these files locally without attribution and use them as you wish.
If you wish to use the associated images, be sure to abide by the associated Creative Commons
license. You can find the specific license for each image using the
.[].images[].license
path in the plants.json
dataset.