cURL
curl --request GET \
--url https://api.goes.health/v1/risks/plantsimport requests
url = "https://api.goes.health/v1/risks/plants"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.goes.health/v1/risks/plants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goes.health/v1/risks/plants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goes.health/v1/risks/plants"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goes.health/v1/risks/plants")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goes.health/v1/risks/plants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"responseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"risks": [
{
"id": "poison-ivy",
"title": "Poison Ivy",
"status": "applicable",
"score": 2,
"summary": "<string>",
"tips": [
"<string>"
],
"error": "<string>"
}
]
}{
"error": 123,
"message": "<string>"
}Current Risks
Get Plants
Returns a list of plant-related risks based on location and selected IDs.
GET
/
v1
/
risks
/
plants
cURL
curl --request GET \
--url https://api.goes.health/v1/risks/plantsimport requests
url = "https://api.goes.health/v1/risks/plants"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.goes.health/v1/risks/plants', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.goes.health/v1/risks/plants",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.goes.health/v1/risks/plants"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.goes.health/v1/risks/plants")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.goes.health/v1/risks/plants")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"responseId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"risks": [
{
"id": "poison-ivy",
"title": "Poison Ivy",
"status": "applicable",
"score": 2,
"summary": "<string>",
"tips": [
"<string>"
],
"error": "<string>"
}
]
}{
"error": 123,
"message": "<string>"
}Coming Soon — This endpoint is under development and will be available at a future date.
Request
Headers
string
required
Your API key for authentication. Format:
Bearer YOUR_API_KEYQuery Parameters
string
required
The latitude and longitude for the location to check, formatted as
{latitude},{longitude}.string
A comma-separated list of plant risk IDs to check. If you do not provide this, all plant risks will be checked.
The available
ids are:poison-sumacpoison-oakpoison-ivy
Response
The response is a JSON object containing aresponseId and a risks array. Each object in the array represents a specific plant risk and includes an id, a title, a score, and a list of tips.
string
A unique identifier for this response. Use this ID if submitting feedback about the response.
array
An array of plant risk objects.
Show child attributes
Show child attributes
string
The unique identifier for the plant risk. Example:
poison-ivy.string
The human-readable title of the plant risk. Example:
Poison Ivy.enum
The status of this risk assessment:
applicable: Risk is present and relevant for this locationnot_applicable: Risk is not present or relevant for this locationunavailable: Risk data is unavailable for this locationerror: An error occurred while assessing this risk
number
A number from 0-3 representing the prevalence of this plant in the area:
- 0: None
- 1: Low
- 2: Medium
- 3: High
array
A collection of 1-2 sentence strings with tips and recommendations.
string
A 1-2 sentence summary of the tips and key information.
string
Error message describing what went wrong. Only present when status is
error.Example
Request
curl "http://api.goes.health/v1/risks/plants?ids=poison-ivy,poison-oak&location=34.0522,-118.2437" \
-H "Authorization: Bearer YOUR_API_KEY"
Response
{
"responseId": "123e4567-e89b-12d3-a456-426614174000",
"risks": [
{
"id": "poison-ivy",
"title": "Poison Ivy",
"status": "applicable",
"score": 2,
"summary": "...",
"tips": [
"..."
]
},
{
"id": "poison-oak",
"title": "Poison Oak",
"status": "applicable",
"score": 1,
"summary": "...",
"tips": [
"..."
]
}
]
}
Query Parameters
The latitude and longitude, formatted as {latitude},{longitude}.
A comma-separated list of plant risk IDs.
Comma-separated list of sections to exclude from the response. Options: tips, summary, score

