Skip to main content

LangSmith Fetch

LangSmith Fetch is CLI for fetching threads or traces from LangSmith projects. It is designed to be easily used by humans or code agents to programmatically fetch LangSmith data for testing and debugging.

LangSmith Fetch Banner

🚀 Quickstart

pip install langsmith-fetch

Set your LangSmith API key and project name:

export LANGSMITH_API_KEY=lsv2_...
export LANGSMITH_PROJECT=your-project-name
export LANGSMITH_ENDPOINT=your-langsmith-api-url # setting this if you use self-host langsmith

That's it! The CLI will automatically fetch traces or threads in LANGSMITH_PROJECT.

Fetch recent traces to directory (recommended):

langsmith-fetch traces ./my-traces --limit 10

Fetch specific trace by ID:

langsmith-fetch trace 3b0b15fe-1e3a-4aef-afa8-48df15879cfe

Same commands work for threads:

langsmith-fetch threads ./my-threads --limit 10
langsmith-fetch thread my-thread-id

Usage Example

Include metadata and feedback:

langsmith-fetch traces ./my-traces --limit 10 --include-metadata --include-feedback

For code agents:

Use langsmith-fetch to fetch recent LangSmith traces. Run langsmith-fetch --help for usage details.

Commands

Command What it fetches Output
trace <id> Specific trace by ID stdout or file
thread <id> Specific thread by ID stdout or file
traces [dir] Recent traces (bulk) Multiple JSON files in directory (RECOMMENDED) or stdout
threads [dir] Recent threads (bulk) Multiple JSON files in directory (RECOMMENDED) or stdout

Flags

Flag Applies To Description Default
--project-uuid <uuid> thread, threads, traces LangSmith project UUID (overrides config) From config or env
-n, --limit <int> traces, threads Maximum number to fetch 1
--last-n-minutes <int> traces, threads Only fetch from last N minutes None
--since <timestamp> traces, threads Only fetch since ISO timestamp None
--filename-pattern <text> traces, threads Filename pattern (use {trace_id}, {thread_id}, {index}) {trace_id}.json or {thread_id}.json
--format <type> All commands Output format: pretty, json, or raw pretty
--file <path> trace, thread Save to file instead of stdout stdout
--include-metadata traces Include run metadata (status, timing, tokens, costs) Not included
--include-feedback traces Include feedback data (requires extra API call) Not included
--max-concurrent <int> traces, threads Concurrent fetches (max 10 recommended) 5
--no-progress traces, threads Disable progress bar Progress shown

Output Formats

  • pretty (default): Human-readable Rich panels with color and formatting
  • json: Pretty-printed JSON with syntax highlighting
  • raw: Compact single-line JSON for piping to tools like jq

Concepts

LangSmith organizes data into three levels:

  • Runs: Individual LLM calls or tool executions
  • Traces: A collection of runs representing a single execution path (one trace contains multiple runs)
  • Threads: A collection of traces representing a conversation or session (one thread contains multiple traces)

Configuration

langsmith-fetch requires only LANGSMITH_PROJECT env var. It automatically looks up the Project UUID and saves both to ~/.langsmith-cli/config.yaml.

Finding IDs in LangSmith UI:

Project UUID (automatic lookup via LANGSMITH_PROJECT): Project ID location

Trace ID (for fetching specific traces): Trace ID location

Thread ID (for fetching specific threads): Thread ID location

Tests

Run the test suite:

# Install with test dependencies
pip install -e ".[test]"

# Or with uv
uv sync --extra test

# Run all tests
pytest tests/

# Run with verbose output
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=langsmith_cli

The test suite includes 71 tests covering:

  • All CLI commands (traces, trace, thread, threads, config)
  • All output formats (pretty, json, raw)
  • Config management and storage
  • Project UUID lookup and caching
  • API fetching and error handling
  • Time filtering and SDK integration
  • Edge cases and validation

License

MIT

Metadata

Release files for langsmith-fetch 0.3.1

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

Source distribution (sdist)

Source distribution for langsmith-fetch 0.3.1
File Size Uploaded
langsmith_fetch-0.3.1.tar.gz 5.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for langsmith-fetch 0.3.1
File Interpreter ABI Platform
langsmith_fetch-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.4 MB

Release files / langsmith_fetch-0.3.1.tar.gz

Download URL langsmith_fetch-0.3.1.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
8c8ad53a17ee1654efdd20b00ca7cf47288373468c66ae4d87f72ab09ca48055
BLAKE2b-256 checksum
How to use checksums
38ebd21403968c0fac374391b97951dc9025806a38d83e3a723429dae2c1a122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / langsmith_fetch-0.3.1-py3-none-any.whl

Download URL langsmith_fetch-0.3.1-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad98a94521a3723ab861eb374675cf73b1f400ee736190b9dc3e90afeb17b69f
BLAKE2b-256 checksum
How to use checksums
c7f47d8727673ade5ad31f70e1ff14ebdd2d2e11d10afe4085de9b9296c4ddb2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.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