A simple self-hosted API to take screenshots of websites using Puppeteer.
A NestJS wrapper around capture-website.
Check the package.json for the full list of dependencies.
Check the Dockerfile to see how the image is built.
| Parameter | Type | Default Value | Description |
|---|---|---|---|
| url | string | URL to capture | |
| width | number | 1024 | Viewport width |
| height | number | 768 | Viewport height |
| scale | number | 1 | Scale factor of the viewport |
| timeout | number | 15 | Timeout before giving up |
| delay | number | 0 | Delay after page load |
| mime_type | string | webp | jpg, png or webp |
| quality | number | 0.8 | Image quality |
You can view the full query parameters here.
pnpm installcp .env.example .env
nano .env# development
pnpm run start
# watch mode
pnpm run start:dev
# production mode
pnpm run start:prod# unit tests
pnpm run test
# e2e tests
pnpm run test:e2e
# test coverage
pnpm run test:covdocker build -t screenshot-api .
docker run -p 3000:3000 screenshot-api