install & run
recording options
core
| flag | description | default |
|---|---|---|
-f, --fps <FLOAT> | frames per second for recording | 1.0 (macOS: 0.5) |
-p, --port <INT> | API server port | 3030 |
--data-dir <PATH> | data directory | ~/.screenpipe |
--debug | enable debug logging | false |
audio
| flag | description | default |
|---|---|---|
-d, --audio-chunk-duration <INT> | chunk duration (seconds) | 30 |
--disable-audio | disable audio recording | false |
-i, --audio-device <STRING> | audio device (repeatable) | — |
-a, --audio-transcription-engine <ENGINE> | STT engine | whisper-large-v3-turbo |
--vad-engine <ENGINE> | voice activity detection (silero/webrtc) | silero |
--vad-sensitivity <LEVEL> | VAD sensitivity (low/medium/high) | high |
deepgram, whisper-tiny, whisper-large, whisper-large-v3-turbo
vision
| flag | description | default |
|---|---|---|
--disable-vision | disable screen recording | false |
-m, --monitor-id <INT> | monitor to record (repeatable) | all |
-o, --ocr-engine <ENGINE> | OCR engine | platform native |
--ignored-windows <STRING> | ignore windows by title (repeatable) | — |
--included-windows <STRING> | only capture these windows (repeatable) | — |
--video-chunk-duration <INT> | video chunk duration (seconds) | 60 |
apple-native, windows-native, tesseract, unstructured, custom
privacy
| flag | description | default |
|---|---|---|
-l, --language <LANG> | languages to support (repeatable) | — |
--use-pii-removal | redact PII from OCR text | false |
experimental
| flag | description | default |
|---|---|---|
--enable-ui-monitoring | capture UI events via accessibility (macOS) | false |
--enable-frame-cache | video frame cache | false |
--capture-unfocused-windows | capture unfocused windows | false |
subcommands
pipe management
pipes are scheduled AI agents that run on your screen data. see pipes docs for details.add external data
add screen recordings from external sources (iPhone recordings, journal photos, etc.):status
audio devices
vision devices
database
API endpoints
screenpipe serves a REST API onlocalhost:3030:
| method | endpoint | description |
|---|---|---|
| GET | /search | search screen & audio content |
| GET | /health | server health check |
| GET | /audio/list | list audio devices |
| GET | /vision/list | list monitors |
| GET | /frames/{id} | get frame data |
| GET | /frames/{id}/ocr | get frame OCR text |
| POST | /tags/{type}/{id} | add tags |
| DELETE | /tags/{type}/{id} | remove tags |
| POST | /raw_sql | execute raw SQL |
| POST | /add | add content to database |
| GET | /semantic-search | semantic search |
| GET | /search/keyword | keyword search |
search example
search parameters
| param | type | description |
|---|---|---|
q | string | search query |
limit | int | max results |
offset | int | pagination offset |
content_type | string | ocr, audio, ui, all |
start_time | ISO 8601 | filter start |
end_time | ISO 8601 | filter end |
app_name | string | filter by app |
window_name | string | filter by window title |
browser_url | string | filter by browser URL |
min_length | int | minimum text length |
max_length | int | maximum text length |