
Call Recordly programmatically from your own apps and scripts. Authenticate with a secret API key, respect per-key rate limits, and get JSON responses. All endpoints are served underhttps://recordly.site/api/v1.
Every request must include your secret key in the Authorization header as a Bearer token. Create a free account and generate your own keys from your account dashboard. Keep your key secret — anyone with it can call the API as you.
Authorization: Bearer rk_live_your_key_hereEach key has a per-minute request limit (default 60/min, configurable per key). Every response includes the current limit status. Exceeding it returns 429 Too Many Requests. Usage is tracked per key and visible in the admin panel.
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
Retry-After: 60 (only on 429 responses)/api/v1/summarizeSummarizes any block of text (for example a recording transcript or meeting notes) into a short paragraph or bullet list.
| Field | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | The text to summarize. Max 100,000 characters. |
| style | string | No | "paragraph" (default) or "bullets". |
| maxWords | number | No | Target length, 20–500. Default 120. |
curl -X POST https://recordly.site/api/v1/summarize \
-H "Authorization: Bearer rk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"text": "Paste the transcript or any long text you want summarized here...",
"style": "bullets",
"maxWords": 120
}'const res = await fetch("https://recordly.site/api/v1/summarize", {
method: "POST",
headers: {
"Authorization": "Bearer rk_live_your_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
text: "Paste the transcript or any long text you want summarized here...",
style: "paragraph", // or "bullets"
maxWords: 120,
}),
});
const data = await res.json();
console.log(data.summary);{
"summary": "A concise summary of your input text...",
"style": "paragraph",
"input_chars": 4213,
"model": "gpt-5.4-mini"
}| Status | Meaning |
|---|---|
| 401 | Missing, invalid, or revoked API key. |
| 400 | Invalid JSON or missing "text" field. |
| 413 | Text exceeds the 100,000 character limit. |
| 429 | Rate limit exceeded for this key. |
| 502 | Summarization service temporarily unavailable. |
All errors return JSON shaped like { "error": "message" }.
Ready to build? Create an account and generate your key in seconds.