Skip to main content

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.

screenpipe serves a REST API on localhost:3030. use this to integrate with any tool or build custom automations.
for copy-paste workflows, start with API recipes. for the full interactive API reference with request/response schemas, see the API reference tab.
the local search endpoint is /search, not /api/search.
curl "http://localhost:3030/search?limit=5"

endpoints

methodendpointdescription
GET/searchsearch screen & audio content
GET/healthserver health check
GET/audio/listlist audio devices
GET/vision/listlist monitors
GET/frames/{id}get frame data
GET/frames/{id}/ocrget frame OCR fallback text and bounds
POST/tags/{type}/{id}add tags
DELETE/tags/{type}/{id}remove tags
POST/raw_sqlexecute raw SQL
POST/addadd content to database
GET/search/keywordkeyword search
POST/audio/startstart audio recording
POST/audio/stopstop audio recording

search example

curl "http://localhost:3030/search?q=meeting&limit=10&content_type=all"

search parameters

paramtypedescription
qstringsearch query
limitintmax results
offsetintpagination offset
content_typestringocr, audio, input, accessibility, all
start_timeISO 8601filter start
end_timeISO 8601filter end
app_namestringfilter by app
window_namestringfilter by window title
browser_urlstringfilter by browser URL
min_lengthintminimum text length
max_lengthintmaximum text length

content type guide

content typeuse it for
allfirst debugging pass; searches across available screen and audio data
accessibilityapp text exposed by macOS/Windows accessibility APIs; best for most screen text
ocrfallback pixel text when accessibility data is missing or incomplete
audiotranscripts and meeting/call content
inputkeyboard/input-related records where available
start with content_type=all. add app_name, window_name, or time filters only after you confirm broad search returns data.

common API mistakes

symptomcausefix
404 on /api/searchwrong pathuse /search
empty response after startupcapture has not processed yetwait 1-2 minutes and retry
no result for a specific windowstored title differssearch broad, inspect window_name, then filter
OCR result missing app textapp exposes text through accessibility insteadtry content_type=accessibility or all
pipe gets old dataschedule or time range too narrowwiden start_time/end_time or run manually

debugging

enable verbose logging

to troubleshoot issues, enable debug logging by setting the SCREENPIPE_LOG environment variable before starting screenpipe: macOS/Linux:
SCREENPIPE_LOG=debug screenpipe
Windows (PowerShell):
$env:SCREENPIPE_LOG = "debug"
screenpipe
logs will print to the terminal. common log levels:
  • debug — detailed diagnostic information
  • info — general informational messages (default)
  • warn — warnings only (less verbose)
you can also target specific modules for debugging:
SCREENPIPE_LOG=screenpipe=debug,vision=debug screenpipe

check health endpoint

verify screenpipe is running properly:
curl http://localhost:3030/health

check pipe logs

for pipe-specific debugging, use the desktop app: settings → pipes → click your pipe → view logs. need help? join our discord.