PANEL 1411-P07 New finding: humidity ≠ brown tips in 96% of cases EVIDENCE Monstera fenestration linked to light hours, not age GRAIL 2,703 verified diagnoses and counting STUDY Overwatering confirmed as #1 killer across all species NEW Snake plant rot rescue protocol updated DATA 20,000+ raw cases analyzed across 216 species PANEL 1411-P07 New finding: humidity ≠ brown tips in 96% of cases EVIDENCE Monstera fenestration linked to light hours, not age GRAIL 2,703 verified diagnoses and counting STUDY Overwatering confirmed as #1 killer across all species NEW Snake plant rot rescue protocol updated DATA 20,000+ raw cases analyzed across 216 species

Documentation

Plant Grail API documentation

Use this Plant Grail API documentation to call the public JSON interface, discover operations from OpenAPI, and throttle with standard rate-limit headers. The same material lives under /developers/ for name-based search queries for “plantgrail developer resources”.

Authentication

Public read endpoints do not use API keys. Send a normal HTTPS GET. Private routes (checkout webhooks, course progress, sales) are authenticated with platform secrets and are out of scope for third-party agents.

Endpoints

Canonical operations are listed in the Plant Grail OpenAPI specification. Function-calling clients should import that document and use the operationId values getHealth, listPlants, listArticles, and getOpenApiDocument.

Example request

curl -s https://plantgrail.com/api/health returns JSON {"status":"ok","service":"plantgrail"}. curl -s "https://plantgrail.com/api/plants?limit=5" returns a paginated plant list. On failure, parse error.resolution instead of scraping an HTML page.

Rate-limit convention

Successful and error API responses include RateLimit, RateLimit-Policy, X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. A 429 also includes Retry-After. The public window is 60 requests per 60 seconds per IP.

More Plant Grail developer links