# Apiflash

ApiFlash is a website screenshot API that allows users to capture high-quality screenshots of web pages programmatically.

- **Category:** images & design
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 5
- **Triggers:** 0
- **Slug:** `APIFLASH`
- **Version:** 20260227_00

## Tools

### Batch Capture Screenshots

**Slug:** `APIFLASH_BATCH_CAPTURE_SCREENSHOTS`

Tool to capture screenshots for multiple URLs in a single request. Use when you have a list of pages to snapshot in batch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | Yes | List of full URLs to capture; each must include protocol (http or https). |
| `fresh` | boolean | No | When true, bypasses API cache and forces a new screenshot capture. Use for frequently updated pages. |
| `width` | integer | No | Browser viewport width in pixels. Default 1920 for desktop; use 375-414 for mobile simulation. |
| `format` | string ("jpeg" | "png" | "webp") | No | Output image format for all screenshots. JPEG is smallest, PNG supports transparency, WebP offers best compression. |
| `height` | integer | No | Browser viewport height in pixels. Only used when full_page is false. Default 1080 for desktop. |
| `full_page` | boolean | No | When true, captures the entire scrollable page instead of just the visible viewport. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Capture Screenshot

**Slug:** `APIFLASH_CAPTURE_SCREENSHOT`

Tool to capture a screenshot of a website. Returns a JSON response with URLs to the screenshot (and optionally extracted HTML/text). Supports extensive customization including viewport dimensions, full page capture, quality settings, element selection, geolocation emulation, and more. Use when you need to capture website screenshots for documentation, testing, or monitoring purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `js` | string | No | Additional JavaScript code to be injected into the page before capturing. Should be URL encoded. |
| `css` | string | No | A CSS string to inject in the web page when capturing the screenshot. Should be URL encoded. |
| `ttl` | integer | No | Number of seconds the screenshot is cached. From 0 seconds to 2592000 seconds (30 days). Default is 86400. |
| `url` | string | Yes | The complete URL of the website to capture. Must include the protocol (http:// or https://). Example: 'https://example.com' |
| `crop` | string | No | Capture a screenshot of an area of the page. Format: 'left,top,width,height' (e.g., '10,20,50,100' captures an area 50 pixels wide and 100 pixels high). |
| `delay` | integer | No | The delay, in seconds, to wait after the page is loaded before capturing the screenshot. From 0 to 10 seconds. Default is 0. |
| `fresh` | boolean | No | Force the API to capture a fresh new screenshot instead of returning a screenshot from the cache. |
| `proxy` | string | No | The address of a proxy server through which the screenshot should be captured. Format: 'address:port' or 'user:password@address:port'. |
| `width` | integer | No | The width, in pixels, of the viewport to use. Default is 1920. |
| `format` | string ("jpeg" | "png" | "webp") | No | The image format of the captured screenshot. Either jpeg (default), png, or webp. |
| `height` | integer | No | The height, in pixels, of the viewport to use. Ignored if full_page is true. Default is 1080. |
| `no_ads` | boolean | No | Prevent ads from being displayed. Blocks requests from popular ad-networks and hides common ad spaces. |
| `s3_key` | string | No | The object key to use when uploading the screenshot. |
| `cookies` | string | No | A semicolon separated list of cookies to be used when capturing the screenshot (e.g., 'cookie1=value1;cookie2=value2'). Should be URL encoded. |
| `element` | string | No | Capture a screenshot of the first element matched by the given CSS selector. Ignored if full_page is true. Should be URL encoded. |
| `headers` | string | No | A semicolon separated list of headers to be used when capturing the screenshot (e.g., 'Header1=value1;Header2=value2'). Should be URL encoded. |
| `quality` | integer | No | The quality of the image between 0 and 100. Works with jpeg and webp formats. Default is 80. |
| `accuracy` | integer | No | The accuracy value, in meters, to use when emulating geo-location. Default is 0. |
| `latitude` | number | No | The latitude to use when emulating geo-location between -90 and 90. |
| `wait_for` | string | No | Wait until the provided CSS selector matches an element present in the page before capturing. If no item matches after 15 seconds, capture is aborted with an error. |
| `full_page` | boolean | No | Set to true to capture the entire page of the target website. |
| `longitude` | number | No | The longitude to use when emulating geo-location between -180 and 180. |
| `s3_bucket` | string | No | The name of the S3 bucket to upload the screenshot to. |
| `s3_region` | string | No | The AWS region to use to upload the screenshot to AWS S3. Might be needed for custom S3 compatible storage providers. |
| `time_zone` | string | No | The time zone to use when capturing screenshots. Accepts standard time zone database names (e.g., 'Europe/Paris' or 'America/New_York'). Should be URL encoded. |
| `user_agent` | string | No | Sets the User-Agent header to emulate a particular device when making screenshots. Should be URL encoded. |
| `wait_until` | string ("dom_loaded" | "page_loaded" | "network_idle") | No | Wait until the given criterion is satisfied. Options: dom_loaded, page_loaded, network_idle (default). |
| `ip_location` | string | No | An ISO alpha-2 country code designating the country associated with the IP address of the proxy. Only available for custom enterprise plans. |
| `no_tracking` | boolean | No | Prevent tracking scripts from running and block requests from popular tracking services. |
| `s3_endpoint` | string | No | Custom S3 compatible storage provider endpoint URL. Leave empty to use AWS S3. |
| `scroll_page` | boolean | No | Set to true to scroll through the entire page before capturing a screenshot. Useful to trigger animations or lazy loaded elements. |
| `transparent` | boolean | No | Capture a screenshot with transparency enabled. The background color of the page body should be set to transparent. Only works with png format. |
| `extract_html` | boolean | No | Extract the HTML of the page at the same time the screenshot is made. Only works when response_type is 'json'. |
| `extract_text` | boolean | No | Extract the text of the page at the same time the screenshot is made. Only works when response_type is 'json'. |
| `scale_factor` | integer | No | Specifies the device scale factor. Acceptable values are 1 (standard resolution) or 2 (high definition for retina displays). Default is 1. |
| `response_type` | string ("image" | "json") | No | The type of response to return. Can be 'image' (binary data) or 'json' (JSON document with url, extracted_html, and extracted_text fields). Default is 'json' for easier handling. |
| `s3_secret_key` | string | No | The AWS secret access key to use to upload the screenshot to AWS S3. |
| `fail_on_status` | string | No | A comma separated list of HTTP status codes that should make the API call fail instead of returning a screenshot. Hyphen separated ranges can be used (e.g., '400,404,500-511'). |
| `accept_language` | string | No | Sets the Accept-Language header on requests to the target URL, allowing screenshots with specific language. Example: 'en-US'. |
| `element_overlap` | boolean | No | Also capture the elements that overlap the element targeted by the element parameter. |
| `thumbnail_width` | integer | No | The width, in pixels, of the thumbnail to generate. The aspect ratio will be preserved. Ignored if full_page is true. |
| `s3_access_key_id` | string | No | The AWS access key id to use to upload the screenshot to AWS S3. |
| `no_cookie_banners` | boolean | No | Prevent cookie banners and popups from being displayed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Capture Website Screenshot (POST)

**Slug:** `APIFLASH_CAPTURE_WEBSITE_SCREENSHOT_POST`

Capture a screenshot of any website. Returns a URL to the generated screenshot image. Supports full-page captures, custom viewport sizes, and multiple image formats (JPEG, PNG, WebP). Use this tool when you need to visually capture web pages for documentation, monitoring, or analysis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The complete URL of the website to capture (must include protocol, e.g., 'https://example.com'). |
| `delay` | integer | No | Wait time in seconds (0-10) before capturing the screenshot. Useful for pages with animations or delayed content loading. |
| `fresh` | boolean | No | Set to true to force a new screenshot, bypassing any cached version. Use for pages with frequently changing content. |
| `width` | integer | No | Viewport width in pixels. Default is 1920. Use smaller values (e.g., 375) for mobile views. |
| `format` | string ("jpeg" | "png" | "webp") | No | Output image format. 'jpeg' (default) is best for most cases, 'png' supports transparency, 'webp' offers smaller file sizes. |
| `height` | integer | No | Viewport height in pixels. Default is 1080. Ignored when full_page is true. |
| `quality` | integer | No | Image quality from 0-100 (only for jpeg/webp). Default is 80. Higher values = better quality but larger file size. |
| `full_page` | boolean | No | Set to true to capture the entire scrollable page. When false (default), captures only the visible viewport. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Quota Information

**Slug:** `APIFLASH_GET_QUOTA_INFORMATION`

Tool to retrieve current API quota usage and limits. Use after authentication to monitor usage and reset times.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Screenshot Metadata

**Slug:** `APIFLASH_GET_SCREENSHOT_METADATA`

Retrieve metadata (file size, MIME type) for a previously captured screenshot. Use this tool when you need to check the size or format of a screenshot without downloading the full image. Requires the screenshot URL from a prior capture action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | Full URL of the screenshot image returned from a previous capture. This URL is obtained from the 'url' field in the response of a screenshot capture action. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
