---
title: "PageFlash Docs Reference - Render outputs, cache, and limits"
description: "Reference PageFlash render outputs, cache freshness, rate limits, monthly quota behavior, and render parameters."
site_name: "PageFlash"
lang: "en"
url: "https://pageflash.io/docs/reference"
og:
  image: "https://pageflash.io/og/pageflash-og.png"
  type: "website"
twitter:
  card: "summary_large_image"
robots: "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"
---

**Browse docs 4 task-based guides**

Reference

# Reference for renders and cache behavior

Review output types, cache behavior, rate limits, and supported render parameters.

## Output types

### HTML

Default renderType

```
curl -H "Authorization: Bearer $PAGEFLASH_KEY" \
  "https://pageflash.io/render?url=https://example.com"
```

### Screenshot

PNG or JPEG

```
curl -H "Authorization: Bearer $PAGEFLASH_KEY" \
  "https://pageflash.io/render?url=https://example.com&renderType=png&fullpage=true" \
  --output page.png
```

### PDF

Print-ready export

```
curl -H "Authorization: Bearer $PAGEFLASH_KEY" \
  "https://pageflash.io/render?url=https://example.com/report&renderType=pdf" \
  --output report.pdf
```

### Markdown

AI-ready text

```
curl -H "Authorization: Bearer $PAGEFLASH_KEY" \
  -H "Accept: text/markdown" \
  "https://pageflash.io/render?url=https://example.com/docs"
```

## Caching and freshness

HTML and Markdown renders use the cache when possible. A cache hit does not consume monthly render quota. Cold renders and forced refreshes count as fresh browser renders.

-   Starter uses 1d default freshness.
-   Growth uses 6h default freshness, custom TTL down to 1h.
-   Pro uses 1h default freshness, custom TTL down to 10m.
-   Enterprise uses 30m default freshness, custom TTL down to 5m.

## Rate limits and monthly quota

PageFlash enforces the monthly render quota before a fresh browser render starts. Cache hits stay free. When a plan runs out on a cache miss, the response code is `MONTHLY_QUOTA_EXCEEDED`.

| Plan | Fresh renders/month | Requests/minute | Upgrade trigger |
| --- | --- | --- | --- |
| Free | 500 | 10 | One real production domain or sitemap warming |
| Starter | 15,000 | 60 | Multiple sites, more URLs, or sub-24h freshness |
| Growth | 150,000 | 200 | SEO overrides, push refresh, or many domains |
| Pro | 600,000 | 500 | Higher public capacity, faster freshness, or expanded SEO operations |

## Render parameters

| Parameter | Default | Description |
| --- | --- | --- |
| url | required | Absolute URL to render. Must match a registered domain. |
| renderType | html | html, png, jpeg, or pdf. For Markdown, send Accept: text/markdown or add format=md. |
| width | 1280 | Viewport width for screenshots and page layout. |
| height | 720 | Viewport height for screenshots and page layout. |
| fullpage | false | Capture the full document for PNG/JPEG screenshots. |
| waitForSelector | none | Wait until a CSS selector is visible before snapshot. |
| waitForFunction | none | Wait until a JS expression returns truthy. |
| waitForTimeout | 500 | Extra wait in milliseconds after readiness signals. |
| blockResources | true | Block heavy media for HTML renders. Disabled for screenshots. |

Stuck or have a question? Email [hello@pageflash.io](mailto:hello@pageflash.io).

## Structured data (JSON-LD)

```json
[{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://pageflash.io/#organization","name":"PageFlash","url":"https://pageflash.io/","logo":{"@type":"ImageObject","url":"https://pageflash.io/android-chrome-512x512.png","width":512,"height":512}},{"@type":"WebSite","@id":"https://pageflash.io/#website","name":"PageFlash","url":"https://pageflash.io/","description":"Verify crawler HTML for registered public SPA routes before routing production crawler traffic.","publisher":{"@id":"https://pageflash.io/#organization"}},{"@type":"SoftwareApplication","@id":"https://pageflash.io/#software","name":"PageFlash","applicationCategory":"DeveloperApplication","operatingSystem":"Web","url":"https://pageflash.io/","description":"Render registered public SPA routes for the crawler user-agents your integration selects, then verify the HTML before production routing.","publisher":{"@id":"https://pageflash.io/#organization"},"offers":[{"@type":"Offer","name":"Free","price":"0","priceCurrency":"USD","url":"https://pageflash.io/pricing"},{"@type":"Offer","name":"Starter","price":"19","priceCurrency":"USD","url":"https://pageflash.io/pricing"},{"@type":"Offer","name":"Growth","price":"49","priceCurrency":"USD","url":"https://pageflash.io/pricing"},{"@type":"Offer","name":"Pro","price":"129","priceCurrency":"USD","url":"https://pageflash.io/pricing"},{"@type":"Offer","name":"Enterprise","price":"499","priceCurrency":"USD","url":"https://pageflash.io/pricing"}]}]},{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://pageflash.io/docs/reference#webpage","url":"https://pageflash.io/docs/reference","name":"PageFlash Docs Reference - Render outputs, cache, and limits","isPartOf":{"@id":"https://pageflash.io/#website"},"about":{"@id":"https://pageflash.io/#software"}},{"@type":"BreadcrumbList","@id":"https://pageflash.io/docs/reference#breadcrumbs","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://pageflash.io/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https://pageflash.io/docs"},{"@type":"ListItem","position":3,"name":"Reference","item":"https://pageflash.io/docs/reference"}]}]}]
```
