The FindFlower API.
The same identification engine that powers FindFlower, available for your own projects. Bring a photo, get a species, a confidence score, and verified context — through an on-device SDK you can use today, or a hosted REST API in preview.
On-device SDK
Load the model directly in your web or Node application with TensorFlow.js. Inference runs on your users’ devices — no server, no API key, no per-request cost.
Jump to the SDKHosted REST API
A stateless HTTPS API for server-side and cross-platform use. Documented below and stabilising during preview — sign in to reserve a key and receive launch access.
View the endpointsAuthentication
The hosted API authenticates with a bearer key sent in the Authorization header. Keys are tied to your developer account — sign in to generate yours. The on-device SDK needs no key.
—
—
—
This key identifies you during the preview program. Live secret keys will be issued from your dashboard when the hosted API launches. Keep it private.
Base URL & format
All hosted endpoints are versioned and served over HTTPS. Requests and responses are JSON, except image uploads which use multipart/form-data.
The base host is a placeholder during preview. The request and response shapes below are stable and match the on-device SDK output.
/v1/identify
Identify by image upload
Submit a photo file and receive the ranked species predictions. This is the primary endpoint for gallery uploads and drag-and-drop.
Request · multipart/form-data
Response · 200 OK
Example use case
A nature journaling app lets users attach a photo to an entry; on save, it calls this endpoint and stores the top species and confidence alongside the note.
/v1/identify
base64 variant
Identify by camera-captured image
Camera frames captured in the browser are most easily sent as a base64 data URL. The same endpoint accepts a JSON body with an image string, so you don’t need to build a multipart request from a canvas.
Request · application/json
Response · 200 OK
Example use case
A field-guide kiosk uses a live camera; each capture is sent as a data URL and the identification is shown on screen without ever writing a file to disk.
/v1/identify/url
Identify by URL
Pass a link to an image, or a YouTube URL. The service resolves a still frame (for YouTube, the thumbnail) server-side, which side-steps the browser’s cross-origin limits.
Request · application/json
Response · 200 OK
Example use case
A content tool lets editors paste a stock-photo or video link and automatically tags the botanical subject for their media library.
/v1/feedback
Feedback submission
Report whether a prediction was correct, and optionally the true species. These signals feed directly into future model versions.
Request · application/json
Response · 202 Accepted
Example use case
After showing a result, your app offers a “Was this right?” prompt; the answer is posted here so your integration contributes to model quality over time.
/v1/wikipedia
Wikipedia info retrieval
A convenience endpoint that returns a concise, verified summary and reference image for a species name — the same context shown in the FindFlower workspace.
Request
Response · 200 OK
Example use case
After identification, an app enriches the result card with a short description and image without integrating a separate encyclopedia source.
On-device SDK
Run identification entirely in your own app with TensorFlow.js. This path is live today — it uses the exact model that powers FindFlower and requires no key. Point the loader at the hosted model files, then preprocess to 224×224.
Install
Identify an image
The current Beta model recognises 107 botanical classes. Predictions are a best guess — always surface the confidence score and the runners-up so your users can judge for themselves.
Building with FindFlower?
Reserve hosted-API access, request additional classes, or tell us what you’re building. We read every message.