# screenshot.com.ar

> Screenshot and web reading API for developers and AI agents. Give it a URL: it opens the page in a real Chrome browser (JavaScript included) and returns a screenshot (PNG, JPEG, WebP) or the page content as clean markdown. Remote MCP server included. Argentine service, paid plans in Argentine pesos (ARS).
>
> API de capturas de pantalla y lectura de páginas web para desarrolladores y agentes de IA. Le pasás una URL: la abre en un Chrome real y devuelve la captura o el contenido en markdown limpio. Incluye servidor MCP remoto. Servicio argentino, planes pagos en pesos.

## Quick start

1. Get a free API key (100 captures/month, no credit card): https://screenshot.com.ar/#clave
2. Send it in the `X-API-Key` header, as `Authorization: Bearer <key>`, or in the `key` query parameter.

```bash
# Screenshot (returns the image)
curl "https://screenshot.com.ar/v1/capture?url=https://example.com&format=webp" -H "X-API-Key: YOUR_API_KEY" -o page.webp

# Read a page (returns JSON with markdown and, optionally, a base64 screenshot)
curl "https://screenshot.com.ar/v1/read?url=https://example.com&screenshot=false" -H "X-API-Key: YOUR_API_KEY"
```

## Endpoints

- [GET /v1/capture](https://screenshot.com.ar/docs#parametros): returns the screenshot image (`image/png`, `image/jpeg` or `image/webp`).
- [GET /v1/read](https://screenshot.com.ar/docs#read): opens the page once and returns JSON: `{ url, title, description, markdown, truncated, screenshot: { format, base64 } | null, captured_at }`.
- [MCP server](https://screenshot.com.ar/docs#mcp): `https://screenshot.com.ar/mcp` (Streamable HTTP) with the tools `take_screenshot`, `read_page` and `read_page_with_screenshot`.
- [OpenAPI 3.1 spec](https://screenshot.com.ar/openapi.json)
- [Full documentation (Spanish)](https://screenshot.com.ar/docs)

## Parameters (both endpoints)

- `url` (required): public http(s) URL. If the scheme is missing, https:// is assumed. Private and internal addresses are rejected.
- `width`: viewport width, 320-1920, default 1280.
- `height`: viewport height, 240-1920, default 800.
- `full_page`: `true` to capture the whole page (up to 10000 px high), default `false`.
- `format`: `png` (default), `jpeg` or `webp`.
- `quality`: 10-100, default 80 (jpeg and webp only).
- `delay`: milliseconds to wait before capturing, 0-5000.
- `dark`: `true` to request the page's dark color scheme.
- `cache_ttl`: seconds to keep the result in cache, 0-2592000, default 86400. 0 disables the cache.

Only for /v1/read:

- `screenshot`: `true` (default) or `false`.
- `max_chars`: maximum markdown length, 100-200000, default 50000.

## Limits and pricing

- Plans: Free 100, Pro 5000 and Business 25000 captures per month. Prices in ARS: https://screenshot.com.ar/#precios
- Each new capture or read counts as 1. Results served from cache (`X-Cache: HIT`) are free.
- The `X-Quota-Remaining` response header shows the captures left this month. The counter resets on the 1st of each month (UTC).
- Up to 60 requests per 10 seconds per IP.

## Errors

JSON with `error` and `message` (in Spanish): 400 `invalid_params`, 401 `missing_key` / `invalid_key`, 403 `key_revoked`, 413 `too_large`, 422 `host_not_found` / `dns_error` / `render_failed`, 429 `quota_exceeded` / `browser_limit` (free plan: 2 minutes of browser time per day), 503 `busy` (retry after a few seconds).

## MCP: connect your AI client

Endpoint: `https://screenshot.com.ar/mcp`. Two ways to authenticate:

- OAuth 2.1 (MCP authorization, with dynamic client registration and client ID metadata documents): clients that support it (Claude.ai, ChatGPT and others) only need the URL; the user signs in with a code sent by email and approves the app.
- API key: `Authorization: Bearer YOUR_API_KEY` or `X-API-Key`. Clients that only accept a URL and cannot sign in can use `https://screenshot.com.ar/mcp?key=YOUR_API_KEY` (keep that URL private).

Claude Code:

```bash
claude mcp add --transport http screenshot https://screenshot.com.ar/mcp --header "Authorization: Bearer YOUR_API_KEY"
```

Cursor (`~/.cursor/mcp.json`) and other clients with remote MCP support:

```json
{ "mcpServers": { "screenshot": { "url": "https://screenshot.com.ar/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
```

VS Code (`.vscode/mcp.json`):

```json
{ "servers": { "screenshot": { "type": "http", "url": "https://screenshot.com.ar/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } }
```

Claude Desktop (`claude_desktop_config.json`, through mcp-remote):

```json
{ "mcpServers": { "screenshot": { "command": "npx", "args": ["-y", "mcp-remote", "https://screenshot.com.ar/mcp", "--header", "Authorization:${AUTH}"], "env": { "AUTH": "Bearer YOUR_API_KEY" } } } }
```

## Contact

hola@screenshot.com.ar
