Skip to content

Pagecorder

Record your web page as video, via API.

Load a URL in a real browser, capture the screen and audio at 60 FPS, get back an MP4.

Pagecorder.com · Docs · RapidAPI


Why

Pagecorder drives a real browser render loop at 60 FPS with synchronised time. Every frame of your page is captured exactly as it renders, so real-time animation, WebGL, canvas, autoplaying video, and anything else time-sensitive come through clean. Nothing sampled, nothing approximated.

Features

  • 🎥 Real 60 FPS capture of the page's screen + audio
  • Fast and reliable web recording — upload a ZIP of your site and assets load from local disk during render, so no CDN latency, no flaky network, no failed requests
  • 🔁 Reproducible — no dependency on external services during capture
  • 📐 Configurable viewport up to 3840 × 2160 (default 1920 × 1080)
  • 📦 Works with a plain URL or a ZIP archive
  • 🪝 Two-line in-page integrationwindow.pagecorder('start') / window.pagecorder('stop')
  • 📤 Optional auto-upload to your own storage (supply a target URL)
  • 🩺 Full diagnostics on every render — dropped-frame report, HTTP error list, and captured console logs

How it works

  1. Instrument your page with two hooks that tell Pagecorder when to start and stop recording:

    <script>
      await window.pagecorder('start');
      await runYourAnimation();
      await window.pagecorder('stop');
    </script>
  2. Submit a render by POSTing the URL (or a ZIP) to the API:

    curl -X POST https://pagecorder.p.rapidapi.com/rapid/render/ \
      -H "X-RapidAPI-Key: $RAPIDAPI_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "url": "https://yoursite.com/scene(.zip)",
        "width": 1920,
        "height": 1080
      }'

    Response includes a job id and a state.stage (scheduleddownloadingloadingrenderinguploadingdone).

  3. Poll for completion and grab the resulting MP4:

    curl https://pagecorder.p.rapidapi.com/rapid/render/$JOB_ID \
      -H "X-RapidAPI-Key: $RAPIDAPI_KEY"

    When state.stage === "done", result.url has the MP4, plus:

    • result.droppedFrames[]{ dropped, time, reason }
    • result.httpErrors[]{ status, statusText, method, url } for every failed asset load
    • result.logs[] — everything your page printed to console
    • result.durationSeconds
  4. Or skip the poll — supply an upload: { target, url } in the render request and we'll PUT/POST the finished file straight to your endpoint.

See the full endpoint reference on RapidAPI for every field (timeouts, upload details, job stages).

Use cases

📣 Marketing videos Turn your live product into an ad without a studio
📱 Social content Render 1080×1920 portrait for TikTok / Reels / Shorts
📊 Dashboards → reports Turn live data visualisations into shareable clips
🎞️ Launch animations This org's own launch video was rendered using Pagecorder.

Useful repositories

  • launch-video — source for the Pagecorder launch video itself. A single self-contained HTML page (WebGL shader background, timed scene animations, speech-synced voiceover) rendered end-to-end through the Pagecorder API. Useful as a real-world reference for how to structure a page for recording.
  • skills — Claude skills for driving Pagecorder from Claude Code. Install them and Claude can submit renders, poll for completion, and wire Pagecorder into pages you're working on.

Popular repositories Loading

  1. launch-video launch-video Public

    HTML

  2. skills skills Public

    Python

  3. .github .github Public

Repositories

Showing 3 of 3 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…