[Seedling](https://sendseedling.com/) / API

# Seedling API

Seedling has a small REST API for working with your own recordings, which is handy for scripts, internal tools and AI agents acting on your behalf. The machine-readable OpenAPI description lives at [/openapi.json](https://sendseedling.com/openapi.json), and the API is also listed in the [API catalog](https://sendseedling.com/.well-known/api-catalog).

## Authentication

Create a personal API token on your [dashboard](https://sendseedling.com/dashboard) under "API access". Send it as a bearer token with every request:

```
Authorization: Bearer YOUR_TOKEN

```

Tokens are valid for a year and can do everything your account can, so keep them secret. Recording itself happens in the Chrome extension, so the API is for managing videos rather than creating them.

## Endpoints

| Method | Path | What it does |
| --- | --- | --- |
| GET | `/api/me` | Your account, plan and whether you can currently record |
| GET | `/api/videos` | List your videos, newest first |
| GET | `/api/videos/{id}` | Details for one video, including its share link and cuts |
| PATCH | `/api/videos/{id}` | Rename a video or replace its cuts |
| DELETE | `/api/videos/{id}` | Delete a video and its files permanently |
| GET | `/api/videos/{id}/status` | Public. Whether a video has finished uploading |
| GET | `/api/health` | Public. Health check |

## Examples

List your videos:

```
curl https://YOUR-SEEDLING-HOST/api/videos \
  -H "Authorization: Bearer YOUR_TOKEN"

```

Rename a video:

```
curl -X PATCH https://YOUR-SEEDLING-HOST/api/videos/AbC123xYz9 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "Billing settings walkthrough"}'

```

Cut out two sections of a video. Times are in seconds of the original recording, and overlapping ranges are merged:

```
curl -X PATCH https://YOUR-SEEDLING-HOST/api/videos/AbC123xYz9 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cuts": [{"start": 0, "end": 2.5}, {"start": 41, "end": 47.2}]}'

```

## Errors

Errors return a JSON body with an `error` field. `401` means the token is missing or invalid, `404` means the video doesn't exist or isn't yours, and `402` means the account's free trial has ended and recording is paused.

## Fair use

Please keep automated requests to a reasonable rate. The API is covered by the [Terms](https://sendseedling.com/terms), including the [Acceptable Use Policy](https://sendseedling.com/terms#aup).

Last updated 13 October 2026
