Documentación

Un solo endpoint. Le pasás una URL, te devuelve la imagen.

Endpoint

GET https://screenshot.com.ar/v1/capture?url=https://ejemplo.com&key=TU_API_KEY

La respuesta es la imagen directamente (image/png, image/jpeg o image/webp). Los headers X-Cache (HIT o MISS) y X-Quota-Remaining te dicen si salió de cache y cuántas capturas te quedan.

La API acepta CORS desde cualquier origen, así que podés llamarla desde el navegador. Ojo: si lo hacés, tu clave queda visible para quien mire el código de tu página.

Parámetros

ParámetroDefaultDescripción
urlrequeridoLa página a capturar. Si no ponés http(s), asumimos https.
key—Tu API key. También podés mandarla en el header X-API-Key.
width1280Ancho del navegador en píxeles (320 a 1.920).
height800Alto del navegador en píxeles (240 a 1.920).
full_pagefalsetrue para capturar toda la página, no solo lo visible (hasta 10.000 px de alto).
formatpngpng, jpeg (o jpg) o webp.
quality80Calidad de 10 a 100 (solo jpeg y webp).
delay0Milisegundos de espera antes de capturar (máximo 5.000). Útil para animaciones.
darkfalsetrue para pedirle a la página su modo oscuro.
cache_ttl86400Segundos que guardamos la captura (0 a 2.592.000; 0 = sin cache). Las capturas desde cache no cuentan en tu cuota.

Ejemplos

Imagen directa en HTML

<img src="https://screenshot.com.ar/v1/capture?url=https://www.argentina.gob.ar&key=TU_API_KEY" alt="Captura">

Página completa en WebP

curl "https://screenshot.com.ar/v1/capture?url=https://www.argentina.gob.ar&full_page=true&format=webp" \
  -H "X-API-Key: TU_API_KEY" -o captura.webp

Node.js

const res = await fetch("https://screenshot.com.ar/v1/capture?url=https://www.argentina.gob.ar", {
  headers: { "X-API-Key": process.env.SCREENSHOT_KEY }
});
if (!res.ok) throw new Error((await res.json()).message);
const buffer = Buffer.from(await res.arrayBuffer());

Errores

Los errores vuelven en JSON con error y message en español.

CódigoerrorCuándo pasa
400invalid_paramsFalta url, algún parámetro es inválido o la dirección no está permitida (redes privadas).
401missing_key / invalid_keyNo mandaste la clave o no existe.
405method_not_allowedUsá GET.
422host_not_foundEl dominio no existe.
422render_failedLa página no cargó (caída, muy lenta o bloquea navegadores).
429quota_exceededLlegaste al límite de tu plan este mes.
503busyAlta demanda momentánea. Reintentá en unos segundos.

Límites

Gratis: 100 capturas por mes. Pro: 5.000. Business: 25.000. El contador se reinicia el primer día de cada mes (UTC). ¿Necesitás más? Escribinos a hola@screenshot.com.ar.

Crear API key gratis