Skip to main content
1

Get an API key

Open the OpenWhispr desktop app, go to Integrations > API Keys, and create a key with the scopes you need.Your key looks like owk_live_abc123... — copy it now, it’s only shown once.
2

List your notes

curl -H "Authorization: Bearer owk_live_YOUR_KEY" \
  https://api.openwhispr.com/api/v1/notes/list?limit=5
const res = await fetch("https://api.openwhispr.com/api/v1/notes/list?limit=5", {
  headers: { Authorization: "Bearer owk_live_YOUR_KEY" },
});
const { data } = await res.json();
console.log(data);
import requests

res = requests.get(
    "https://api.openwhispr.com/api/v1/notes/list",
    params={"limit": 5},
    headers={"Authorization": "Bearer owk_live_YOUR_KEY"},
)
print(res.json()["data"])
3

Create a note

curl -X POST \
  -H "Authorization: Bearer owk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"content": "My first API note", "title": "Hello from the API"}' \
  https://api.openwhispr.com/api/v1/notes/create
const res = await fetch("https://api.openwhispr.com/api/v1/notes/create", {
  method: "POST",
  headers: {
    Authorization: "Bearer owk_live_YOUR_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    content: "My first API note",
    title: "Hello from the API",
  }),
});
const { data } = await res.json();
console.log(data.id);
import requests

res = requests.post(
    "https://api.openwhispr.com/api/v1/notes/create",
    headers={"Authorization": "Bearer owk_live_YOUR_KEY"},
    json={"content": "My first API note", "title": "Hello from the API"},
)
print(res.json()["data"]["id"])
4

Search your notes

curl -X POST \
  -H "Authorization: Bearer owk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "meeting notes"}' \
  https://api.openwhispr.com/api/v1/notes/search
const res = await fetch("https://api.openwhispr.com/api/v1/notes/search", {
  method: "POST",
  headers: {
    Authorization: "Bearer owk_live_YOUR_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ query: "meeting notes" }),
});
const { data } = await res.json();
console.log(`Found ${data.length} results`);
import requests

res = requests.post(
    "https://api.openwhispr.com/api/v1/notes/search",
    headers={"Authorization": "Bearer owk_live_YOUR_KEY"},
    json={"query": "meeting notes"},
)
print(f"Found {len(res.json()['data'])} results")

Next steps