Contextberg Local API
Contextberg Local API is a locally running HTTP server. It provides endpoints accessible from external tools like Cursor and Claude Desktop.
http://localhost:18080Quick Start
With Contextberg running, execute the following commands to verify API connection.
# 1. Health check
curl http://localhost:18080/api/health
# => { "status": "ok" }
# 2. Get today's summary
curl http://localhost:18080/api/summary/today
# 3. Get daily report
curl "http://localhost:18080/api/daily-report?include=activities,keystrokes"Daily Reportv3
/api/daily-reportGet comprehensive daily activity report. Includes activities, keystrokes, screenshots, AI reports, and all daily activity data in one request.
Parameters
datestringoptionalTarget date (YYYY-MM-DD format). Default is today.app_filterstringoptionalFilter by application name.includestringoptionalSections to include (comma-separated)include options
activitieskeystrokesclipboardbrowserreports{
"date": "2025-12-31",
"activities": {
"totalWorkSeconds": 28800,
"totalWorkFormatted": "8h 0m",
"appSummary": [...]
},
"keystrokes": {
"count": 150,
"inputs": [...]
}
}Weekly Reportv3
/api/weekly-reportGet weekly summary and trends. Includes daily work hours, top applications, and trend analysis.
Parameters
end_datestringoptionalEnd date (YYYY-MM-DD format). Default is today.daysintegeroptionalNumber of days. Default is 7.includestringoptionalSections to include{
"period": {
"start": "2025-12-24",
"end": "2025-12-30",
"days": 7
},
"totalWorkFormatted": "40h 0m"
}Screenshotsv3
/api/screenshotsGet screenshots with Base64 image data. Includes OCR text. Smart selection algorithm automatically selects important screenshots.
Parameters
datestringoptionalTarget date (YYYY-MM-DD format).limitintegeroptionalMaximum number. Default is 15.{
"date": "2025-12-31",
"count": 10,
"screenshots": [...]
}Today Summary
/api/summary/todayGet today's summary. Lightweight response for quick overview.
{
"date": "2025-12-31",
"totalWorkFormatted": "8h 0m"
}Week Summary
/api/summary/weekGet weekly summary. Lightweight response for week overview.
{
"period": { ... },
"totalWorkFormatted": "40h 0m"
}Activities
/api/activitiesGet activity list. Application usage history in chronological order.
Parameters
daysintegeroptionalNumber of days. Default is 1.limitintegeroptionalMaximum count. Default is 100.{
"days": 1,
"activities": [...]
}Keystrokes
/api/keystrokesGet keystroke history. Records with empty input text are skipped.
Parameters
daysintegeroptionalNumber of days. Default is 1.limitintegeroptionalMaximum count. Default is 100.{
"days": 1,
"inputs": [...]
}Browser History
/api/browserGet browser history. Domain-based aggregation mode available.
Parameters
daysintegeroptionalNumber of days. Default is 1.limitintegeroptionalMaximum count. Default is 50.{
"mode": "detailed",
"visits": [...]
}Clipboard
/api/clipboardGet clipboard history. Text is truncated to first 100 characters (privacy protection).
Parameters
daysintegeroptionalNumber of days. Default is 1.limitintegeroptionalMaximum count. Default is 20.{
"days": 1,
"clipboardHistory": [...]
}Timeline
/api/timelineGet timeline view. Integrated activities in chronological order.
Parameters
daysintegeroptionalNumber of days. Default is 1.granularityintegeroptionalTime slot granularity (minutes). Default is 30.{
"period": { ... },
"timeline": [...]
}Health Check
/api/healthAPI server health check.
{
"status": "ok",
"service": "Contextberg Local API"
}Export
/api/exportExport data in JSON or Markdown format.
Parameters
daysintegeroptionalNumber of days. Default is 7.formatstringoptionalOutput format. json or markdown.// JSON format
curl "http://localhost:18080/api/export?format=json"
// Markdown format
curl "http://localhost:18080/api/export?format=markdown"HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
204 | No Content (OPTIONS request) |
404 | Endpoint does not exist |
500 | Server error |