Metadata-Version: 2.4
Name: langchain-snaprender
Version: 0.1.0
Summary: LangChain tools for SnapRender Screenshot API — capture websites as PNG, JPEG, WebP, or PDF
Author-email: SnapRender <support@snap-render.com>
License-Expression: MIT
Project-URL: Homepage, https://snap-render.com
Project-URL: Repository, https://github.com/User0856/snaprender-integrations/tree/main/langchain
Project-URL: Documentation, https://snap-render.com
Project-URL: Bug Tracker, https://github.com/User0856/snaprender-integrations/issues
Keywords: langchain,langchain-tool,screenshot,web-capture,snaprender,ai-agent,llm-tool
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: langchain-core>=0.2.0
Requires-Dist: snaprender>=0.2.0

# langchain-snaprender

[![PyPI](https://img.shields.io/pypi/v/langchain-snaprender)](https://pypi.org/project/langchain-snaprender/)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](../LICENSE)

LangChain / LangGraph tools for [SnapRender Screenshot API](https://snap-render.com). Lets your LangChain agents capture website screenshots as PNG, JPEG, WebP, or PDF.

## Install

```bash
pip install langchain-snaprender
```

## Setup

```bash
export SNAPRENDER_API_KEY="sk_live_your_key_here"
```

Get a free key at [app.snap-render.com](https://app.snap-render.com/auth/signup) — 50 screenshots/month, no credit card.

## Usage

```python
from langchain_snaprender import take_screenshot, check_cache, get_usage

# Use as standalone tools
result = take_screenshot.invoke({"url": "https://example.com"})
print(result)

# Or bind to a LangChain agent
from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

llm = ChatOpenAI(model="gpt-4o")
tools = [take_screenshot, check_cache, get_usage]
agent = create_react_agent(llm, tools)

response = agent.invoke({"messages": [("user", "Take a screenshot of stripe.com")]})
```

## Tools

### `take_screenshot`

Capture any website as PNG, JPEG, WebP, or PDF.

Parameters: `url`, `format`, `full_page`, `dark_mode`, `block_ads`, `block_cookie_banners`, `device`, `width`, `height`

### `check_cache`

Check if a screenshot is cached (free, doesn't count against quota).

Parameters: `url`, `format`

### `get_usage`

Get current month's usage stats.

## License

MIT
