1
Add a pipeline stage
Add a screenshots stage to your .gitlab-ci.yml file.
2
Store the API key
Add your API key as a GitLab CI/CD variable in project settings.
3
Capture screenshots
Use curl to call the Allscreenshots API targeting your review app URL.
4
Store as artifacts
Save screenshots as pipeline artifacts for easy access from merge requests.
yaml
1stages:
2 - test
3 - screenshots
4
5capture_screenshots:
6 stage: screenshots
7 image: alpine/curl
8 script:
9 - |
10 curl -X POST 'https://api.allscreenshots.com/v1/screenshot' \
11 -H "Authorization: Bearer $SCREENSHOT_API_KEY" \
12 -H 'Content-Type: application/json' \
13 -d "{
14 \"url\": \"https://$CI_ENVIRONMENT_SLUG.yourapp.com\",
15 \"fullPage\": true,
16 \"viewport\": { \"width\": 1920, \"height\": 1080 }
17 }" -o screenshot.png
18 artifacts:
19 paths:
20 - screenshot.png
21 expire_in: 30 days
22 only:
23 - merge_requestsLightweight CI job
Uses a tiny alpine/curl image. No heavy browser dependencies in your pipeline.
Review app screenshots
Automatically capture screenshots of GitLab review apps for every merge request.
Artifact integration
Screenshots appear as downloadable artifacts directly in your merge request.
Pricing that scales with you
No hidden fees. No surprises. Just screenshots.
100 free screenshots on sign-up · 50 bonus for each friend you invite
Most Popular
Pro
$45/mo
- 7,500 screenshots/mo
- 100/min rate limit
- $0.009 overage
- All features included
Business
$149/mo
- 30,000 screenshots/mo
- 200/min rate limit
- $0.0075 overage
- All features included
Enterprise
$329/mo
- 100,000 screenshots/mo
- 400/min rate limit
- $0.005 overage
- All features included