screenpipe records your screen 24/7 and lets you search through everything. find that code snippet, conversation, or document you saw last week.Documentation Index
Fetch the complete documentation index at: https://docs.screenpi.pe/llms.txt
Use this file to discover all available pages before exploring further.
how it works
- continuous capture — screenpipe records your screen at configurable intervals (default: 1 frame/second)
- OCR extraction — text is extracted from every frame using native OCR engines
- local storage — everything stored in a local SQLite database
- search API — query via
localhost:3030/searchwith filters
search examples
find by text
find by app
find by time range
find by browser URL
combine filters
search parameters
| param | type | description |
|---|---|---|
q | string | search query |
limit | int | max results (default 20) |
offset | int | pagination offset |
content_type | string | vision, audio, accessibility, input, all |
start_time | ISO 8601 | filter by start time |
end_time | ISO 8601 | filter by end time |
app_name | string | filter by app name |
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 |
max_content_length | int | truncate each result’s text to this many chars (middle-truncation) |
using the desktop app
the easiest way to search is the built-in search in the screenpipe desktop app:- open screenpipe
- use the search bar or timeline view
- scroll through your day visually
- select content to chat with AI about it
chat mentions — filter what AI sees
in the chat input box, type@ to add mentions that filter what content the AI analyzes:
| mention | shows | use case |
|---|---|---|
@screen | what was visible on screen (OCR text + screenshots) | “summarize my code changes” |
@audio | voice & meeting transcriptions | ”what was said about the budget?” |
@input | clicks, keystrokes, app switches | ”what apps did I use today?” |
@today, @yesterday, @last-hour, @last-week | time ranges | ”changes this morning” |
@app-name | content from specific apps | ”messages in Slack” |
@audio @last-hour shows only voice data from the past hour. removing a mention: click the × on its pill or delete it from the text.
search tips
- be specific: “slack message from john about deployment” > “deployment”
- use time context: combine
start_timeandend_timefor precision - combine filters: app name + time range + keywords
accessing the API from other devices on your network
by default, the screenpipe API only listens on127.0.0.1 (localhost). to access it from other devices on your LAN, start screenpipe with the --listen-on-lan flag:
0.0.0.0, making it reachable at http://<your-machine-ip>:3030/. note that --listen-on-lan automatically enables API authentication to protect your data on the network.
example: if your machine’s local IP is 192.168.1.100, you can now query from another device:
- macOS/Linux:
ifconfig | grep "inet " | grep -v 127.0.0.1 - Windows:
ipconfig | find "IPv4"
privacy
- all search happens locally on your device
- no data leaves your machine
- control what’s recorded with
--ignored-windowsand--included-windows