canonical: https://jentic.com/apis/apiflash.com/apiflash

# ApiFlash Screenshot API

Jentic publishes the only available OpenAPI specification for ApiFlash Screenshot API, keeping it validated and agent-ready. ApiFlash is a screenshot capture service that turns any URL into a PNG, JPEG, or WebP image through a single REST endpoint. The /urltoimage operation supports full-page screenshots, custom viewport dimensions, geolocation emulation, custom CSS and JavaScript injection, ad blocking, and direct upload to S3 or Azure storage. It is well suited for thumbnail generation, social card previews, archival snapshots, and visual regression workflows where pixel-accurate captures of live web pages are required.

## For AI agents

Capture website screenshots in PNG, JPEG, or WebP with full-page rendering, custom viewports, and S3 upload via a single GET or POST call to /urltoimage.

## Scope

Does not handle PDF generation, video recording, or multi-step browser automation - use for single-shot website screenshot capture only.

## Capabilities

- Capture full-page screenshots of any public URL with configurable viewport width, height, and device scale factor
- Inject custom CSS and JavaScript before capture to hide cookie banners, dismiss popups, or modify page layout
- Render screenshots from a chosen geolocation, timezone, and accept-language to test localized content
- Wait for specific CSS selectors or fixed delays to ensure dynamic content has loaded before snapshot
- Stream the resulting image directly to an Amazon S3 bucket or return raw image bytes inline
- Generate thumbnails in PNG, JPEG, or WebP with quality and compression controls suitable for caching

## Use cases

### Open Graph and social card generation

Generate preview images for links shared on Twitter, Slack, or LinkedIn by capturing the destination URL through ApiFlash's /urltoimage endpoint. The service produces a 1200x630 JPEG in well under a second for cached pages, removing the need to host headless Chrome. Image bytes can be streamed straight to S3 or returned inline so downstream services can attach them as og:image metadata.

Example prompt: Call GET /urltoimage with url=https://example.com/blog/post, width=1200, height=630, format=jpeg, and full_page=false to produce a social preview image.

### Visual regression and archival snapshots

Take periodic full-page screenshots of production pages and store them in S3 to detect unintended visual changes between deploys. ApiFlash supports wait_until and wait_for_selector parameters so dynamic content settles before capture, and the s3_access_key_id parameter writes the image directly to your bucket without proxying through your servers. This makes nightly visual diffs feasible without operating a Puppeteer cluster.

Example prompt: POST /urltoimage with url=https://app.example.com/dashboard, full_page=true, wait_for_selector=.chart-loaded, s3_bucket=visual-archive, and s3_key=2026/06/dashboard.png.

### Localized rendering for QA

Verify how a site renders for users in different countries by combining the proxy and accept_language parameters with a desired timezone. ApiFlash routes the request through a node in the chosen region so geo-targeted content, currency, and language switches appear in the captured image. This shortens the QA loop for international launches that previously required VPN-based manual checks.

Example prompt: GET /urltoimage with url=https://shop.example.com, proxy=de, accept_language=de-DE, and format=png to verify the German storefront.

### Agent-driven web evidence capture

AI agents researching live web content can call ApiFlash through Jentic to attach a verifiable PNG of any source they cite. Because Jentic returns the /urltoimage operation schema on demand, the agent does not need to bundle the ApiFlash SDK and the access key stays in Jentic's vault. The captured image can be passed back to a vision model for further analysis or stored as an audit artefact.

Example prompt: Through Jentic, search 'capture a website screenshot', load the apiflash /urltoimage schema, and execute with url and full_page=true to attach evidence to the agent's answer.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /urltoimage | Capture a screenshot using URL query parameters |
| POST | /urltoimage | Capture a screenshot with parameters in a JSON body |

## Key resources

- **Screenshot capture** — Single /urltoimage endpoint exposed over GET (cacheable URL) and POST (large parameter payloads).

## Why Jentic

- **Setup:** Wiring ApiFlash by hand means setting up its API key, assembling capture parameters, and handling image responses yourself. Through Jentic you install once, import ApiFlash from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** ApiFlash takes the target URL and capture options as parameters rather than a fixed resource path, so scope the agent to the operation it needs, capturing a screenshot, and leave out others unless you add them. You choose the allowed operations, so the agent only calls what you list.
- **Credential handling:** Your ApiFlash key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'capture a screenshot of a web page', and Jentic returns the matching ApiFlash operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Urlbox Screenshot API** — Competing screenshot API with signed URLs and broader CSS/JS rendering options.
- **Browshot Screenshot API** — Older screenshot service supporting many real-device viewports.
- **Browserless** — Hosted headless Chrome for arbitrary Puppeteer scripts.

## FAQ

### Why is there no official OpenAPI spec for ApiFlash Screenshot API?

ApiFlash does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ApiFlash Screenshot API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer .

### What authentication does the ApiFlash Screenshot API use?

The API uses an apiKey passed as the access_key query parameter on every /urltoimage request. When called through Jentic, the access key is stored encrypted in your Jentic One instance and injected at execution time, so the raw key never enters the agent's prompt context.

### Can I capture full-page screenshots beyond the visible viewport?

Yes. Pass full_page=true to /urltoimage and ApiFlash will scroll the page to its full rendered height and stitch the image. Combine it with width to fix the viewport horizontally, for example width=1280 and full_page=true.

### How do I generate an Open Graph image through Jentic?

Run a Jentic search for 'capture a website screenshot', load the apiflash.com /urltoimage operation, then execute with url, width=1200, height=630, and format=jpeg. Jentic returns the binary image bytes which you can upload to your CDN as the og:image.

### Does ApiFlash support uploading the screenshot directly to S3?

Yes. The /urltoimage endpoint accepts s3_access_key_id, s3_secret_key, s3_bucket, s3_key, and s3_endpoint parameters. When provided, ApiFlash writes the image to the specified bucket and returns the object URL instead of the raw image bytes.

### What are the rate limits for the ApiFlash Screenshot API?

Rate limits are not declared in the OpenAPI spec and depend on your ApiFlash plan tier. Check the dashboard at apiflash.com for the per-minute capture quota associated with your access key, and back off on HTTP 429 responses.

### Can I limit what my agent is allowed to do with the ApiFlash Screenshot API?

Yes. Because you run Jentic One yourself, your own rules decide which ApiFlash operations the agent may call and which credentials it may use. Since ApiFlash exposes a single /urltoimage operation for capturing a screenshot over GET and POST, you can allow just that capture operation and leave any others off your list, so the agent only calls what you have permitted. Your ApiFlash access key is stored once, encrypted in your own instance, and injected at execution time rather than exposed to the agent.
