What's New

Changelog

New features, improvements, and fixes to PageBolt. Follow along as we ship.

Conversion & Activation

Feature Improvement
  • Audio Guide spark for free users — Free users now get one free narrated video recording. The video builder shows a “1 free Audio Guide recording available” notice. After the spark is used, the notice flips to a trial CTA immediately (no page refresh). Subsequent Audio Guide attempts return 402 audio_guide_trial_used.
  • Usage breakdown by endpoint — Dashboard now shows a collapsible “Usage by endpoint” table for the current month. Loaded async when usage.current > 0, showing request counts per API endpoint so users can see exactly where their quota is going.
  • Quick-start template cards — Users with fewer than 5 API requests see three dismissible quick-start cards on the dashboard (Screenshot, PDF, Inspect). Each card pre-selects the tool in the API Explorer and scrolls to it. Dismissed state persists via localStorage. Trial CTA is suppressed until the user has made at least 1 request, preventing two competing “get started” prompts on first login.
  • Intent picker on signup — Organic visitors arriving at /signup without a ?plan= parameter now see a three-button picker: “Just exploring”, “Building a project”, and “Scaling up”. Selecting an option sets intended_plan and updates subtitle copy. Visitors arriving with an explicit plan param skip the picker.
  • UTM and referrer trackingutm_source, utm_medium, utm_campaign, and referrer are now captured from the URL at signup and stored on the user record. Enables attribution analysis across content and ad channels.
  • 80% quota warning email — When a free user crosses 80% of their 100-request monthly quota, a warning email is sent once per billing period prompting them to start a trial before hitting the limit.
  • Signed embed screenshot URLs (Starter+) — Generate HMAC-SHA256-signed screenshot URLs via POST /dashboard/sign-screenshot. The resulting URL (GET /api/v1/embed/screenshot) can be placed directly in an <img> tag — no API key exposed to the browser. Signature binds all params; changing any parameter invalidates it. Default 24h TTL, max 7 days.

Activation, Drip & PAYG Backend

Feature Improvement Fix Docs
  • Pay As You Go plan — New pay-as-you-go tier. Top up your balance and pay only for what you use — no monthly commitment. Per-request pricing: screenshot/PDF/OG $0.01, sequence $0.03, video $0.05, inspect $0.005. Top up via POST /billing/topup.
  • CI onboarding email — Users who haven’t tried the video API within their first week receive a helpful email with a ready-to-paste GitHub Actions YAML snippet for auto-generating PR demo videos. Gated on marketing consent.
  • Marketing consent checkbox — Signup form now includes an opt-in checkbox (“Send me product updates and tips”, unchecked by default). Stored as marketing_consent on the user record. Gates all future drip and promotional emails. Transactional emails (verification, password reset) are unaffected.
  • Activation: welcome email with API key — After email verification, a welcome email is sent containing the user’s full API key and a ready-to-run curl example.
  • Activation: Get Started dashboard banner — Users who have made zero API calls see a dismissible banner on the dashboard with a pre-filled curl command for their active API key. Dismiss state persists in localStorage.
  • Docs: localhost & ngrok FAQ — Added FAQ section to the API docs covering how to use PageBolt with localhost via ngrok/Cloudflare Tunnel, with a working example.
  • Signup: duplicate email handling — Signing up with an already-verified email now returns 409 existingAccount: true. The signup page shows “An account with this email already exists. Log in instead →” — no more silent redirect to a dead verification flow.
  • Blog: AI agents & web capture — New post: Giving Your AI Agent Eyes — wiring screenshots, page inspection, and video audit trails into LLM agent loops including MCP server setup.
  • Blog: auto-generate PR demo videos — New post: Auto-Generate Narrated Demo Videos on Every Pull Request (Zero Config) — zero-config GitHub Actions setup with AI narration, GIF previews, and spec files.

Security Hardening

Fix Improvement
  • Puppeteer process isolation — Removed --single-process Chromium flag. Each request now runs in a properly isolated renderer process.
  • Error message stripping — Removed err.message from video and CI error responses to prevent internal path/stack disclosure.
  • Security headers — Added Referrer-Policy: strict-origin-when-cross-origin and Permissions-Policy (restricts camera, microphone, geolocation, payment) to all responses.
  • SSRF blocklist: IPv6 multicast — Added ff00::/8 to the SSRF DNS resolution blocklist. DNS lookups now enforce a 3-second timeout to prevent slow-DNS bypass attacks.
  • Rate limit: email verification resendPOST /auth/resend-verification now rate-limited to 5 requests per hour per IP.
  • Dependency: qs DoS patch — Updated qs to 6.14.2 to patch a prototype-pollution/DoS vulnerability.
  • Billing: stale subscription ID on cancellationendTrial() now clears stripe_subscription_id to NULL on any downgrade to free, preventing stale subscription IDs in the database after cancellation.
  • Privacy & Terms pages — Fixed transparent background on /privacy and /terms — pages now render with the correct dark background.

Bug Fixes & UX Improvements

Fix Improvement
  • Signup email overflow on mobile — email addresses displayed in the “check your email” modal now wrap correctly on narrow viewports instead of overflowing the container.

Visual Redesign & Dashboard Overhaul

Feature Improvement Fix
  • Landing page redesign — complete visual overhaul with a dark premium aesthetic: animated gradient hero, shimmer text, scroll-reveal sections, glassmorphism cards, and a bicolor brand/violet accent system.
  • Dashboard API Explorer — rebuilt as a two-column layout. Form and config on the left, code snippet and results panel sticky on the right. Code updates live as you change any field.
  • New dashboard header — plan badge, usage progress bar, and active API key shown at a glance at the top of every dashboard page.
  • Settings redesign — profile card in the sidebar, API Keys shown as full-width cards with status badges, and billing section matching the landing page pricing design.
  • Pricing updated — Audio Guide narration is now a Growth plan feature. Custom OG templates moved to Scale only.
  • Several dashboard bug fixes — video toggle crash, live code regeneration, layout overflow on long scripts, Export JSON feedback, and more.

Bug Fixes & Settings Improvements

Feature Fix Improvement
  • Usage history chart — the Settings page now includes an interactive usage chart with day / week / month granularity toggle and hover tooltips.
  • Need Help? section — new support section in Settings with email contact and quick links to docs, blog, changelog, and sandbox.
  • wait_for visibilitywait_for steps in sequences and video recordings now wait for the element to be visible on the page, not just present in the DOM. More reliable for SPAs and dynamic content.
  • Sequence screenshot styling fixed — the background swatches in the sequence builder’s manual style controls were non-functional (decorative-only). Background types, solid color picker, and gradient presets now correctly apply to screenshot outputs.
  • OG image subtitle wrapping — long unbroken strings in subtitles now wrap correctly across all 3 OG image templates.
  • GIF conversion timeout — ffmpeg-based GIF conversion now enforces a 60-second timeout to prevent hung processes.

Pay As You Go Pricing

Feature API
  • Pay As You Go plan — no monthly subscription, pay only for what you use. Top up your balance anytime starting at $5. Simple per-request pricing: screenshots/PDFs $0.01, sequences $0.03, videos $0.05, inspect $0.005.
  • Balance management — new POST /billing/topup endpoint for adding funds via Stripe. Balance stored in milli-dollars for sub-cent precision. Automatic refunds on failed requests.
  • Per-request deduction — PAYG users are charged atomically for each successful request. No monthly limits, no surprise bills. 402 error with clear balance info when funds run low.
  • Available everywhere — PAYG now appears on the landing page, signup flow, settings/billing page, and dashboard. Perfect for low-volume use cases or variable workloads.

Launch Edition

Feature API Fix Docs
  • Style API — new POST /api/v1/style endpoint applies frames, backgrounds, shadows, and themes to existing screenshots. Does not count toward monthly quota — iterate on styles for free. See Style API docs →
  • Real-screenshot styling — the sandbox and dashboard now let you capture a raw screenshot first, then apply and iterate on styles using your actual image instead of a mock preview.
  • Blog — 7 launch posts at /blog: tutorials, API comparisons, and migration guides.
  • Quick Start guide — new first section in API docs with 3-step onboarding and copy-paste cURL command.
  • Dashboard Quick Start — new users (0 API calls) see a prominent welcome card with a pre-filled cURL command.
  • Minimal frame redesign — the minimal frame now renders a centered drag-handle pill bar, visually distinct from the macOS traffic light dots. Consistent across server, sandbox, dashboard, and style preview tool.
  • Bug fixes — video narration panel no longer clips when speaking style is selected; large shadow previews (XL/2XL) no longer overflow their containers; mobile menu closes on anchor link clicks.

Audio Guide & Script Mode

Feature API Fix Docs
  • Audio Guide: Per-Step Narration — add AI voice-over to demo videos. Set audioGuide.enabled and add narration text to any step. Supports Azure AI Speech (12 voices, SSML styles) and OpenAI TTS (6 voices). See Audio Guide docs →
  • Audio Guide: Script Mode — write a single narration script with {{N}} step markers. The TTS engine generates one audio track and fires browser actions at the exact narration timestamp — perfect for polished product walkthroughs.
  • MCP Server v1.5.0record_video tool schema now exposes audioGuide.script for script mode narration.
  • Improved scroll positioning — scroll-to-selector now uses scroll-margin-top targeting section headings, accounting for sticky headers and padding.
  • Smarter page inspector — visibility detection checks the full ancestor chain; CSS selectors no longer include Tailwind utility classes.
  • Bug fixes — narration clips no longer overlap or cut off early, pronunciation fixes for brand names, scroll no longer rejects fade-in animated elements.

AI Agent CI & Video Styling

Feature API Docs
  • Autonomous AI Agent for CI — a zero-config AI agent reads your PR, inspects the deployed preview, and records a polished demo video. No spec files or scripts required. Works with Anthropic Claude or OpenAI GPT. See CI docs →
  • GitHub Action — drop-in PageBolt PR Demo Video action. Add to any repo for automatic demo videos on every PR. Supports Vercel, Netlify, and custom preview deployments.
  • pagebolt-ci CLI — new npm package for local testing and non-GitHub CI systems. Supports spec-based and agent modes, PR comment posting, and video artifact management.
  • Video frame & background styling — new frame option adds macOS or Windows window chrome. New background option adds gradient/solid backdrops with configurable padding and border radius.
  • Cursor persistence & classic style — new cursor.persist keeps cursor visible between actions. New cursor.style: "classic" renders a standard pointer.
  • MCP Server v1.4.0 — complete rewrite exposing 100% of PageBolt API parameters. All video recording, screenshot styling, and blocking options now available to AI agents.
  • Screenshot Style Preview tool — new interactive tool at /tools/style-preview for previewing frame, background, shadow, and theme options with live code generation.
  • Documentation updated — new CI/CD integration docs covering the GitHub Action, CLI reference, agent mode, and spec-based recording.

Guided Tour Notes & Smart Scrolling

Feature Improvement API Docs
  • Step notes for guided tours — add a "note" string to any video step to display a styled text overlay before the action executes. Perfect for product walkthroughs, onboarding flows, and tutorial recordings. Available on navigate, click, dblclick, fill, hover, and scroll.
  • Auto-scroll to viewport — if a click, fill, or hover target is outside the visible viewport, the video engine now automatically scrolls the element into view before the cursor moves to it. Note overlays, cursor movement, and click effects are always visible in the recording.
  • Lazy-load aware scrolling — after scrolling, the engine pauses frame capture, waits for lazy-loaded images to fully render, then captures the finished state. No more half-loaded content in scroll transitions.
  • Notes preserved in extension recordings — notes added via the Chrome extension side panel are now correctly saved when exporting sequences and preserved during scroll/fill deduplication.
  • Stripe trial subscription fix — the billing verification endpoint now correctly recognizes trialing subscriptions alongside active ones, fixing plan upgrades via checkout.
  • Updated default video demo — the dashboard video builder now ships with a pre-built demo sequence showcasing notes, scroll, frame chrome, and background gradients.
  • Documentation updated — API docs, llms.txt, llms-full.txt, and README now cover step notes and auto-scroll behavior.

Video Recording Improvements

Improvement Fix API
  • Global auto-zoom removed — automatic zoom on every click has been removed. Zoom is now per-step only — add zoom: { enabled: true, level: 1.5 } to individual click/dblclick steps to zoom into that specific action.
  • Fixed classic (arrow) cursor — the classic cursor style now renders correctly in all recorded videos. Replaced CSS clip-path with an inline SVG that composites reliably in headless Chrome captures.
  • Click effects overhauled — ripple, pulse, and ring effects are now larger, slower, and more visible in the final video. Switched from Web Animations API to CSS transitions for reliable frame capture.
  • Cursor positioning fix — eliminated a duplicate CSS transform property that could cause inconsistent cursor anchoring across styles.

Documentation Overhaul

Docs Improvement
  • Updated all documentation to reflect current feature set across 10 files
  • Documented auto-zoom on clicks — previously listed as "coming soon" but was already live
  • Added frame options (macOS, Windows, minimal browser chrome) to Video API docs
  • Added background options (gradients, solid colors, padding, border radius) to Video API docs
  • Added record_video to MCP server tool listings in API docs
  • Updated llms.txt and llms-full.txt with complete Video API parameters
  • Fixed pace preset values in README (slow: 2×, dramatic: 3×, cinematic: 4.5×)
  • Updated device preset count from "20+" to 25+ across all pages
  • Updated Terms of Service and Privacy Policy to cover all six API services
  • Added this Changelog page

PageBolt Launch

PageBolt is live at pagebolt.dev. One API key, seven endpoints, ship in five minutes.

Launch API

Screenshot API

  • Capture any URL, raw HTML, or Markdown as PNG, JPEG, or WebP
  • 30+ parameters — viewport, device presets, full-page scroll, element capture, clip regions
  • 25+ device presets — iPhones (SE–15 Pro Max), iPads, Pixel, Galaxy, MacBooks, desktops
  • Blocking — ads, cookie banners, chat widgets, trackers, custom URL patterns
  • Emulation — dark mode, reduced motion, timezone, geolocation
  • Customization — custom User-Agent, cookies, headers, CSS/JS injection
  • Metadata extraction — page title, description, OG tags, favicon, HTTP status
  • GET endpoint for <img> tag embedding

PDF Generation API

  • Generate PDFs from any URL or HTML
  • A4, Letter, Legal, Tabloid, A3, A5 paper formats
  • Custom margins, headers/footers with page numbers, scale control, page ranges

OG Image API

  • 3 built-in templates: default, minimal, gradient
  • Custom HTML templates (Growth plan and above)
  • Dynamic title, subtitle, logo, colors, and background images

Sequence Builder API

  • Multi-step browser automation in a single API call
  • 10 actions: navigate, click, fill, select, hover, scroll, wait, wait_for, evaluate, screenshot/pdf
  • Up to 20 steps, 5 outputs, 2 JavaScript evaluations per sequence
  • Each output (screenshot/pdf) costs 1 API request

Video Recording API

  • Record professional demo videos of browser automation
  • Cursor effects — highlight, circle, spotlight, dot, classic styles with configurable color and size
  • Click effects — ripple, pulse, or ring animations
  • Auto-zoom on clicks — ffmpeg-powered zoom/pan with configurable level, duration, and easing
  • Browser frame chrome — macOS, Windows, or minimal window frame overlay
  • Background gradients — ocean, sunset, forest, midnight, aurora presets + custom
  • Pace control — fast (0.5×), normal (1×), slow (2×), dramatic (3×), cinematic (4.5×)
  • MP4, WebM, GIF output formats at 24/30/60 fps
  • Each video costs 3 API requests

Page Inspection API

  • Structured extraction of interactive elements, headings, forms, links, images
  • Unique CSS selectors for every element — ideal for AI agents
  • Returns compact JSON (2–15 KB) instead of images, saving tokens

MCP Server

  • Model Context Protocol server for AI coding assistants
  • 8 tools: take_screenshot, generate_pdf, create_og_image, run_sequence, record_video, inspect_page, list_devices, check_usage
  • Works with Claude Desktop, Cursor, Windsurf, Cline
  • Published as pagebolt-mcp on npm — install with npx pagebolt-mcp

Platform

  • Interactive API Playground — test all 6 APIs from the dashboard, no code required
  • 4-tier pricing — Free (100/mo), Starter $29 (5K/mo), Growth $79 (25K/mo), Scale $199 (100K/mo)
  • 14-day free trials on Starter and Growth plans
  • Email verification, password resets, API key management
  • Stripe billing with checkout, customer portal, and webhooks
  • Usage tracking, per-plan rate limiting, and quota enforcement
  • SSRF protection — private/internal URLs blocked
  • API documentation with downloadable Markdown for AI context
  • llms.txt and llms-full.txt for LLM-friendly documentation