Allscreenshots Docs

CI/CD workflows

Automate screenshot capture in your build pipelines with GitHub Actions, GitLab CI, and more

Integrate automated screenshot capture into your continuous integration and deployment pipelines for visual testing, documentation, and quality assurance.

The problem

Manual screenshot capture doesn't scale. Every time you deploy, someone needs to manually verify that pages render correctly. This leads to:

  • Inconsistent testing coverage
  • Delayed releases waiting for manual QA
  • Visual bugs slipping through to production
  • No historical record of how pages looked at each release

How Allscreenshots helps

Add screenshot capture to any CI/CD pipeline with a simple API call. Capture screenshots on every commit, pull request, or deployment without managing browser infrastructure.

  • Zero infrastructure — No need to install browsers or manage Playwright/Puppeteer
  • Parallel execution — Capture hundreds of pages simultaneously
  • Consistent results — Same rendering environment every time
  • Async processing — Don't block your pipeline waiting for screenshots

Use async jobs for large batches to avoid blocking your CI pipeline. Poll for completion or use webhooks to get notified.

Quick example

Add screenshot capture to a GitHub Actions workflow:

# .github/workflows/screenshots.yml
name: Capture Screenshots

on:
  pull_request:
    branches: [main]

jobs:
  screenshots:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Start app
        run: npm ci && npm run build && npm start &

      - name: Wait for app
        run: npx wait-on http://localhost:3000

      - name: Capture screenshots
        run: |
          curl -X POST https://api.allscreenshots.com/v1/screenshots \
            -H "Authorization: Bearer ${{ secrets.ALLSCREENSHOTS_API_KEY }}" \
            -H "Content-Type: application/json" \
            -d '{"url": "http://localhost:3000", "fullPage": true}' \
            -o screenshot.png

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: screenshots
          path: screenshot.png

Key features for this use case

Next steps

On this page