Record a real Chromium browser session of any URL as a video file. Scroll animations, full-page walkthroughs, or product demos — return an MP4 binary from a single API call.
SnapAPI spins up a real Chromium browser, records the session, and returns the video file — no Puppeteer, no FFmpeg, no DevOps.
Choose mp4 for universal compatibility, webm for smaller web-optimized files, or gif for animated previews in docs and READMEs.
Enable scroll=true to automatically scroll the page from top to bottom during recording. Perfect for page overview videos and product demos.
Set the recording duration from 1 to 60 seconds. Capture just the above-fold load animation, or a full-length product walkthrough.
Record at any resolution — 1920x1080 for desktop demos, 390x844 for mobile walkthroughs, or any custom size. The browser renders at exact dimensions.
Inject custom JavaScript before recording — trigger animations, fill forms, navigate to specific app states — to capture exactly the workflow you want to show.
No browser driver updates, no Xvfb setup, no codec installation. The API handles everything — POST a URL and receive a video binary in the response.
Replace YOUR_API_KEY with the key from your dashboard.
# Record 5-second MP4 curl -G "https://api.snapapi.pics/v1/video" --data-urlencode "url=https://github.com" -d "duration=5&format=mp4" -H "Authorization: Bearer YOUR_API_KEY" --output recording.mp4 # Scroll recording (full page scroll, 8 seconds) curl -G "https://api.snapapi.pics/v1/video" --data-urlencode "url=https://github.com" -d "scroll=true&duration=8&format=mp4&width=1440" -H "Authorization: Bearer YOUR_API_KEY" --output scroll.mp4 # Animated GIF for docs (640px, 3 seconds) curl -G "https://api.snapapi.pics/v1/video" --data-urlencode "url=https://example.com" -d "format=gif&duration=3&width=640" -H "Authorization: Bearer YOUR_API_KEY" --output demo.gif
import SnapAPI from 'snapapi-js'; import { writeFileSync } from 'fs'; const client = new SnapAPI('YOUR_API_KEY'); const video = await client.video.record({ url: 'https://github.com', format: 'mp4', duration: 6, scroll: true, width: 1440, height: 900, }); writeFileSync('recording.mp4', video);
from snapapi import SnapAPI client = SnapAPI("YOUR_API_KEY") video_bytes = client.video.record( url="https://github.com", format="mp4", duration=6, scroll=True, width=1440, height=900, ) with open("recording.mp4", "wb") as f: f.write(video_bytes)
import "github.com/Sleywill/snapapi-go" client := snapapi.New("YOUR_API_KEY") buf, err := client.Video.Record(snapapi.VideoOptions{ URL: "https://github.com", Format: "mp4", Duration: 6, Scroll: true, Width: 1440, Height: 900, }) if err != nil { panic(err) } os.WriteFile("recording.mp4", buf, 0644)
Every team that ships software has a use case for automated browser video.
Auto-generate animated GIFs for your product README, changelog, and feature announcements. Trigger on every release — always fresh, never out of date.
Record the full user journey on every deploy. When a visual bug is reported, review the recording instead of reproducing it manually.
Schedule recordings of your critical pages every hour. Spot slow load animations, layout shifts, or content flickers that screenshots miss.
Record advertising, checkout flows, and consent banners as tamper-evident MP4 files for GDPR, CCPA, or FTC compliance audits.
All plans include every capability. No feature gates.