# Apify Screenshot URL Actor via StableApify

> Apify Screenshot URL Actor via StableApify is a paid API for AI agents from stableapify.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Takes a screenshot of one or more URLs using a headless browser, returning PNG or PDF output with configurable viewport, delay, proxy, and scroll settings.

## Facts

- Endpoint: POST https://stableapify.dev/api/actors/apify/screenshot-url/call
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/apify-screenshot-url-actor-via-stableapify-c406013c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EZtkVEZoTIbCnVA0F6DAK

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability apify-screenshot-url-actor-via-stableapify-c406013c -d '<json body>'
```

Example prompt: Can you take a screenshot of https://example.com in PNG format at 1280px width, wait until the network is idle, scroll to the bottom, then give me the image?

## When to prefer this

Choose this endpoint when you need to visually capture one or more web pages as PNG or PDF using a real headless browser with full control over viewport size, scroll behavior, proxy routing, and page-load timing. It is superior to simple HTML fetchers when you need pixel-accurate rendering, need to hide UI elements like cookie banners, or need to scroll to reveal lazy-loaded content. Prefer it over generic screenshot SaaS when you want pay-per-call pricing via x402 with no subscription commitment.

## Known failure modes

- URL is unreachable or returns an error — actor run may complete but produce a blank or error page screenshot
- Invalid URL format in the urls array — schema validation error
- Delay exceeds maximum (3,600,000ms) — request rejected with validation error
- Payment failure via x402/MPP — 402 response, run not started
- Timeout waiting for network idle on slow pages — partial or failed screenshot
- Proxy configuration invalid or proxy unavailable — connection error during render

## How this service works

Search Apify Store actors, start actor runs, and fetch results over x402 and MPP.

## Output

The agent receives the output of the Apify screenshot-url actor run: one or more screenshot files (PNG images or PDF documents) corresponding to each input URL, along with actor run metadata. The images reflect the rendered page at the configured viewport width, scroll position, and delay settings.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "format",
    "waitUntil",
    "delay",
    "viewportWidth",
    "scrollToBottom",
    "delayAfterScrolling",
    "waitUntilNetworkIdleAfterScroll",
    "waitUntilNetworkIdleAfterScrollTimeout",
    "proxy",
    "selectorsToHide"
   ],
   "properties": {
    "urls": {
     "type": "array",
     "items": {
      "type": "object",
      "required": [
       "url"
      ],
      "properties": {
       "url": {
        "type": "string",
        "format": "uri"
       },
       "method": {
        "type": "string"
       },
       "headers": {
        "type": "object",
        "propertyNames": {
         "type": "string"
        },
        "additionalProperties": {
         "type": "string"
        }
       },
       "payload": {
        "type": "string"
       },
       "userData": {
        "type": "object",
        "propertyNames": {
         "type": "string"
        },
        "additionalProperties": {}
       }
      },
      "additionalProperties": false
     },
     "description": "List of URLs you want to take screenshots of."
    },
    "delay": {
     "type": "integer",
     "default": 0,
     "maximum": 3600000,
     "minimum": 0,
     "description": "Add's delay before a screenshot is taken. Minimum is 0, maximum is 5 minutes (3600000ms)"
    },
    "proxy": {
     "type": "object",
     "default": {
      "useApifyProxy": true
     },
     "properties": {
      "proxyUrls": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "useApifyProxy": {
       "type": "boolean"
      },
      "apifyProxyGroups": {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      "apifyProxyCountry": {
       "type": "string"
      }
     },
     "description": "Set the proxy configuration of the scraper",
     "additionalProperties": {}
    },
    "format": {
     "enum": [
      "png",
      "pdf"
     ],
     "type": "string",
     "default": "png",
     "description": "Screenshot file format."
    },
    "waitUntil": {
     "enum": [
      "load",
      "domcontentloaded",
      "networkidle2",
      "networkidle0"
     ],
     "type": "string",
     "description": "Control's when will the browser take a screenshot"
    },
    "viewportWidth": {
     "type": "integer",
     "default": 1280,
     "maximum": 3840,
     "minimum": 100,
     "description": "How wide should the website's viewport be"
   
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/apify-screenshot-url-actor-via-stableapify-c406013c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stableapify.dev](https://www.zero.xyz/host/stableapify.dev/llms.txt)
