The Screenpipe REST API provides programmatic access to all captured screen and audio data. The API runs locally on your machine and follows REST conventions with JSON request/response bodies.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/screenpipe/screenpipe/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
By default, the Screenpipe server runs on:--port flag when starting Screenpipe:
Authentication
The local API does not require authentication by default. All requests are made tolocalhost and are only accessible from your machine.
Response Format
All API responses follow a consistent JSON structure:Successful Response
Error Response
Common HTTP Status Codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad Request - Invalid parameters |
404 | Not Found - Resource doesn’t exist |
500 | Internal Server Error |
Content Types
Screenpipe captures and indexes multiple types of content:Filter results by content type:
all- OCR + Audio + Accessibility textocr- Screen text from screenshotsaudio- Transcribed speechinput- User actions (clicks, keystrokes, clipboard)accessibility- Accessibility tree text
Pagination
Most list endpoints support pagination using standard parameters:Maximum number of results to return (max: 100)
Number of results to skip for pagination
Time Filtering
Filter results by time range using ISO 8601 timestamps:Filter results after this timestamp (ISO 8601 format)
Filter results before this timestamp (ISO 8601 format)
Core Endpoints
Health Check
Search
Keyword Search
Frames
Audio Devices
Monitors
Rate Limiting
The local API does not enforce rate limits. However, complex queries on large datasets may take time to process.CORS
CORS is enabled by default to allow web-based applications to access the API fromlocalhost.
Next Steps
Search API
Query your captured data
JavaScript SDK
Use the official Node.js SDK
Streaming
Real-time data streams
Frames API
Access screenshot frames