Integrate with your local FrameCounsel instance using our REST API. Build automation scripts, connect case management software, and create custom workflows. All processing stays on your machine.
FrameCounsel's API runs entirely on localhost. There are no cloud API calls, no remote servers, and no data transmission. Your evidence, analyses, and reports never leave your machine. The API exists for local integrations with case management software, automation scripts, and custom workflows running on the same device.
Get started with the FrameCounsel API in three steps.
Download and install FrameCounsel for macOS. The local API server is included.
# Download from framecounsel.com/download
# Or install via Homebrew:
brew install --cask framecounselEnable the API server in FrameCounsel preferences, or start it from the command line. An API key is automatically generated on first run.
# Start the local API server
framecounsel api start
# Server running at http://localhost:9400
# API key saved to ~/.framecounsel/api-keyUse curl or any HTTP client to interact with the API. All requests go to localhost.
# List all evidence in your local instance
curl -H "Authorization: Bearer $(cat ~/.framecounsel/api-key)" \
http://localhost:9400/api/v1/evidenceExplore the full API organized by domain. Every endpoint runs locally on your machine.
Import, organize, and manage evidence files. All evidence is stored locally on your machine with full chain-of-custody logging.
Run AI-powered analyses on evidence files. All processing happens locally on your machine using Apple Silicon MLX acceleration. No data ever leaves your device.
Generate, manage, and export court-ready reports. Reports include contradiction analyses, timeline reconstructions, chain-of-custody documentation, and expert annotations.
Build and manage case timelines. Automatically reconstruct event sequences from evidence, or manually add events. Timelines sync across all evidence in a case.
Authentication is simple: a local API key generated on first run.
~/.framecounsel/api-keyAuthorization: Bearer fc_local_a1b2c3...Since the API only accepts connections from localhost, the key primarily prevents accidental access from other local applications.
Official SDKs for your preferred language. All SDKs communicate with your local FrameCounsel instance.
Full-featured Python SDK for scripting and automation. Ideal for batch processing evidence and integrating with Jupyter notebooks.
pip install framecounselJavaScript/TypeScript SDK for building custom integrations, Electron apps, and web-based case management tools.
npm install @framecounsel/sdkNative Swift SDK for building macOS and iOS companion apps that communicate with your local FrameCounsel instance.
.package(url: "https://github.com/framecounsel/swift-sdk")Configure local webhook endpoints to receive real-time notifications when analyses complete, reports are generated, or evidence is imported. Perfect for automation pipelines.
analysis.completedreport.generatedevidence.importedtimeline.updatedSince the API runs on your own machine, there are no rate limits, usage quotas, or per-request charges. Make as many requests as your hardware can handle.
API Base URL
http://localhost:9400Default port. Configurable in FrameCounsel preferences.