Skip to main content

Capturly

Record, replay, and debug any HTTP API — with built-in AI traffic intelligence

Capturly is an HTTP proxy that captures, replays, and inspects API traffic. It works with any REST/GraphQL endpoint but goes deeper on AI protocols — automatically detecting OpenAI and AGUI (Agent GUI) traffic, extracting system prompts, combining streaming chunks, and surfacing tool calls.

Quick Start

# Install
pip install capturly

# Point at OpenAI and watch traffic
capturly --mode log --backend https://api.openai.com --combine-chunks

# Open dashboard at http://localhost:9090
# See your system prompts, tool definitions, and complete conversations

Use Cases

Debug AI Applications

See exactly what your app sends to OpenAI:

capturly --mode log --backend https://api.openai.com --combine-chunks
# Configure your app to use http://localhost:9999 instead of api.openai.com

The dashboard extracts:

  • System prompts (including multi-part array content)
  • Tool definitions and tool calls
  • Token usage
  • Complete conversation history (streaming chunks combined)
  • AGUI agent runs: messages, tool calls, reasoning, and state

Create Deterministic Test Fixtures

Record real API responses, replay them in tests:

# Record once
capturly --mode record --backend https://api.stripe.com
curl http://localhost:9999/v1/charges

# Replay forever (no network, instant, deterministic)
capturly --mode replay
pytest tests/

Performance Testing

Stress test your service with cached responses:

# Replay with zero delay (simulate fast API)
capturly --mode replay --delay 0

# Or simulate slow upstream
capturly --mode replay --delay 2000

Development Speedup

Cache common endpoints, record new ones automatically:

capturly --mode hybrid --backend https://api.example.com
# First request: hits backend, caches response
# Subsequent requests: instant replay from cache

Dashboard

The built-in web dashboard (default: http://localhost:9090) shows a newest-first traffic list with filters and tag chips (AI, AGUI, SSE, Tools, Tool Results), plus per-request detail views that surface system prompts, new inputs vs. conversation history, tool calls, token usage, and AGUI agent runs. See the Dashboard Guide.

Modes

Mode Behavior Use When
record Proxy to backend, save responses Capturing test fixtures
replay Return saved responses (no backend) Running tests, offline dev
hybrid Replay if cached, record if new Day-to-day development
log Proxy and persist full traffic Debugging, AI inspection

Configuration

CLI arguments:

capturly --mode log --backend https://api.openai.com --port 8080

Environment variables:

export CAPTURLY_RECORDINGS_DIR=./recordings
capturly --mode record --backend https://api.example.com

Installation

pip install capturly

Requirements: Python 3.9+

Documentation

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.

License

MIT License - see LICENSE file.

Metadata

Release files for capturly 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for capturly 0.8.0
File Size Uploaded
capturly-0.8.0.tar.gz 199.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for capturly 0.8.0
File Interpreter ABI Platform
capturly-0.8.0-py3-none-any.whl Python 3 none any Details

Total release size: 245.3 kB

Release files / capturly-0.8.0.tar.gz

Download URL capturly-0.8.0.tar.gz
Size 199.3 kB
Tags Source
SHA-256 checksum
How to use checksums
04129225f562875abd0dd1f1e0ed4a86e1b0e482318ac5264bab6078d3348084
BLAKE2b-256 checksum
How to use checksums
524e2d600cb0630acf7cdb10b1112caf1f289bc6de0266c75db713e937db3f2f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.

Transparency log

Release files / capturly-0.8.0-py3-none-any.whl

Download URL capturly-0.8.0-py3-none-any.whl
Size 46.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d185b85ad04d8aa56a519fd76db86bc855e262aa427fe8086c6f6c2a63ec7205
BLAKE2b-256 checksum
How to use checksums
3e4ae22ee0ef05b1bb40c91ad51c429b8a258aff6e5e86bb3f1c71bce08520c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page