URL screenshot API for developers

Automate webpage screenshots in your application

Render a public URL in headless Chrome. Set viewport, device scale, color scheme, timing, and CSS selector options, then use the returned image URL.

  • Device-scale rendering
  • Batch image endpoint
  • Explicit browser controls
Real URL screenshot API requests followed by their rendered webpage images.
Request
POST https://hcti.io/v1/image
{
"url": "https://google.com",
"viewport_height": 480,
"viewport_width": 640
}
https://google.com
Screenshot of Google in a small viewport

Live demo

Try the URL screenshot API

Enter a public URL, add optional CSS, and generate a real website screenshot with the same controls available through the API.

Loading playground…

Use cases

Build reliable screenshot automation

Browse image examples

Responsive screenshots

Capture the same URL across viewport sizes, mobile settings, and device scales.

Batch website screenshots

Generate groups of captures for catalogs, feeds, QA jobs, and internal tools.

Visual regression records

Store exact page states alongside test results, deploys, and bug reports.

Documentation updates

Keep documentation, changelogs, and support references aligned with the current interface.

Example conversation using the HCTI MCP integration.
Example conversation
MCP connected with OAuth
  1. You: Use the HCTI MCP to take a full-page screenshot of https://example.com in dark mode at 1440px wide.
  2. HTML/CSS to Image: Done. I captured the full page with a 1440px-wide viewport in dark mode: https://hcti.io/v1/image/…
  3. You: Now capture only #pricing at a 390 × 844 mobile viewport.
  4. HTML/CSS to Image: Done. I enabled mobile and touch emulation, rendered the page at 390 × 844, and cropped the image to #pricing.
  5. You: Compare the desktop and mobile versions.
  6. HTML/CSS to Image: I generated both viewport sizes and returned two hosted image URLs so you can review them side by side.

MCP integration

Use the HCTI API from your AI tools

Connect an MCP-compatible AI client to HCTI through OAuth.

Generate images and PDFs, capture webpages, and work with templates without putting an API key in the prompt.

Precise capture

Capture a full page, viewport, or element

Choose the exact area of the webpage that should appear in the screenshot.

Full-page screenshots

Capture the complete page from top to bottom, including content below the fold.

"full_screen": true

Element screenshots

Target a CSS selector and crop the final image to one component, card, chart, or section.

"selector": "#app"
#app

Viewport size

Set the browser viewport width and height for consistent desktop, tablet, or mobile captures.

1440 x 900
viewport_width + viewport_height

Browser controls

Capture JavaScript-rendered pages in the right state

Set viewport, color scheme, timezone, mobile behavior, consent-banner blocking, and capture delay before the screenshot is taken.

  • Timing controls

    Add a delay, set a timeout, or trigger capture with ScreenshotReady().

  • Device behavior

    Set mobile emulation, orientation, and touch input.

  • Page environment

    Choose light or dark mode, timezone, and screen or print media.

  • Clean output

    Inject custom CSS or attempt to hide cookie and consent banners.

POST https://hcti.io/v1/image request example.
Request
POST https://hcti.io/v1/image
{
"url": "https://example.com",
"viewport_width": 390,
"viewport_height": 844,
"viewport_mobile": true,
"viewport_touch": true,
"color_scheme": "dark",
"ms_delay": 500,
"block_consent_banners": true
}

URL to image

Create a website screenshot in three steps

  1. Send a URL and options

    Authenticate from your server and send the public URL with any viewport, selector, or browser settings.

  2. Get an image ID and URL

    The API response includes an image ID and a hosted URL for the screenshot.

  3. Use the screenshot

    Embed the hosted URL, download the image, or save the file in your own system.

Ready to capture?

Start taking website screenshots

Send one API request and receive a hosted image URL. Add viewport, full-page, selector, and browser controls when you need them.