Skip to content
JavaScript / TypeScript

API screenshot JavaScript pour Node.js, automatisation et PDF

Intégrez la capture web à toute appli Node.js — Express, Next.js, Fastify, fonctions serverless ou CLI. Screenshots, PDF, vidéos et HTML. Entièrement typé avec TypeScript.

Ce que vous pouvez construire

Vérifications rendu serveur

Validez le rendu SSR, les images OG et les meta tags depuis plus de 80 pays.

Pages authentifiées

Automatisez la connexion (clic, saisie, navigation) avant la capture — sans scripts Puppeteer.

Génération de PDF

Convertissez n’importe quelle page web en PDF — un appel API depuis Node.js.

Instantanés visuels CI/CD

Capturez des références visuelles dans GitHub Actions ou Jenkins et stockez sur S3 ou Google Drive.

Ce que l’API gère pour vous

Tous les formats de capture

PNG, JPEG, WebP, PDF pleine page, HTML brut et vidéos depuis un même point de terminaison.

Commandes d’automatisation

Clics, saisie, défilement, navigation et attentes — connexions, cookies et contenu dynamique.

Routage dans plus de 80 pays

Rendu des pages géo-bloquées depuis de vrais navigateurs dans le pays cible.

Plus de 14 intégrations d’apps

Livraison vers S3, Google Drive, Dropbox, Slack, etc.

Lots et crawl

Sitemaps entiers ou exploration de domaines avec nouvelles tentatives et suivi.

Navigateurs sur site

Clients navigateur dans votre réseau pour conformité ou latence.

Installation

terminal
npm install screenshotcenter
Disponible sur npmnpmjs.com/package/screenshotcenter

Exemple simple

index.mjs
import { ScreenshotCenterClient } from 'screenshotcenter';

const client = new ScreenshotCenterClient({ apiKey: 'YOUR_API_KEY' });

// Request a screenshot and wait for it to finish
const screenshot = await client.screenshot.create({ url: 'https://example.com' });
const result = await client.waitFor(screenshot.id);

console.log(result.status);       // 'finished'
console.log(result.storage_url);  // S3 URL

Autres exemples

Capture pleine page dans un pays donné
import { ScreenshotCenterClient } from 'screenshotcenter';

const client = new ScreenshotCenterClient({ apiKey: 'YOUR_API_KEY' });

const screenshot = await client.screenshot.create({
  url: 'https://example.com',
  size: 'page',        // capture the full scrollable page
  country: 'fr',       // route through a French browser client
  language: 'fr-FR',
  timezone: 'Europe/Paris',
});

const result = await client.waitFor(screenshot.id);
await client.screenshot.saveImage(result.id, './output/fr-full.png');
Générer un PDF
import { ScreenshotCenterClient } from 'screenshotcenter';

const client = new ScreenshotCenterClient({ apiKey: 'YOUR_API_KEY' });

const screenshot = await client.screenshot.create({
  url: 'https://example.com/report',
  pdf: true,
  pdf_landscape: true,
  pdf_format: 'A4',
});

const result = await client.waitFor(screenshot.id);
await client.screenshot.savePDF(result.id, './output/report.pdf');
Gestion des erreurs
import {
  ScreenshotCenterClient,
  ApiError,
  TimeoutError,
  ScreenshotFailedError,
} from 'screenshotcenter';

const client = new ScreenshotCenterClient({ apiKey: 'YOUR_API_KEY' });

try {
  const screenshot = await client.screenshot.create({ url: 'https://example.com' });
  const result = await client.waitFor(screenshot.id, { timeout: 60_000 });
} catch (err) {
  if (err instanceof ApiError) {
    console.error('API error ' + err.status + ': ' + err.message);
  } else if (err instanceof TimeoutError) {
    console.error('Timed out for screenshot ' + err.screenshotId);
  } else if (err instanceof ScreenshotFailedError) {
    console.error('Screenshot failed: ' + err.screenshotError);
  }
}
Crawl de site web
const crawl = await client.crawl.create('https://example.com', 'example.com', 100);
const result = await client.crawl.waitFor(crawl.id);
console.log(result.total_discovered);  // pages found
console.log(result.screenshots);       // screenshot list

Ressources

Questions fréquentes

Est-ce un remplacement de Puppeteer ?

Pour capture, PDF et vidéo — oui. ScreenshotCenter gère la flotte navigateur, les nouvelles tentatives et la montée en charge. Vous appelez simplement l’API.

Ça fonctionne avec TypeScript ?

Oui. Le SDK inclut des définitions TypeScript complètes.

Puis-je l’utiliser en serverless ?

Oui. Un simple appel HTTP — pas de binaires navigateur à embarquer. Compatible Lambda, Vercel, Cloudflare Workers, etc.

Comment capturer une page derrière une connexion ?

Passez des commandes d’automatisation pour remplir les formulaires, attendre les redirections et capturer la page authentifiée — le tout dans une requête API.

À voir aussi

Commencez à capturer avec JavaScript / TypeScript dès aujourd’hui

500 captures offertes à l’essai — sans carte bancaire. Installez le SDK et réalisez votre première capture en quelques minutes.