One POST
Request and response
A request like this one:
curl -s -X POST https://pageverified.com/api/v1/capture \
-H "authorization: Bearer $PAGEVERIFIED_API_KEY" \
-H "content-type: application/json" \
-d '{"url":"https://pageverified.com/pricing","format":"png","viewport":{"width":720,"height":400}}'
returns HTTP 201 with this body. The hash, time and receipt below are from a real capture made by the production service on 10 November 2026. Only the download link is shortened.
{
"id": "6c5dbd00-8f1c-4b3a-9456-6d585e615e51",
"artifact_url": "https://... signed download link, valid for 24 hours ...",
"sha256": "748c89348b38d4e14e731d5071e409262a2f644c03461034d8c30e3353c5469c",
"captured_at": "2026-11-10T15:46:35.948Z",
"evidence_url": "https://pageverified.com/e/6c5dbd00-8f1c-4b3a-9456-6d585e615e51"
}
Open the receipt at /e/6c5dbd00-8f1c-4b3a-9456-6d585e615e51 to see the same hash and the same time (the receipt writes it with +00:00 in place of Z), and to download the 42,580-byte PNG.
No key yet? This issues one with 25 free credits. The key is shown once, so save it.
curl -s -X POST https://pageverified.com/api/v1/keys \
-H "content-type: application/json" \
-d '{"label":"my agent"}'
What comes back
Scroll the table horizontally to see all fields.
Fields in the capture response| Field | What it is |
|---|
id | The capture ID, a UUID. |
|---|
artifact_url | A signed link to download the captured file. It expires after 24 hours. |
|---|
sha256 | The SHA-256 hash of the exact bytes of that file, as 64 lowercase hex characters. |
|---|
captured_at | The UTC time the render finished, in ISO 8601 form, from PageVerified's server clock. |
|---|
evidence_url | The public receipt page for this capture, at /e/<id>. It is null when the request sent "public_receipt": false. |
|---|
A capture records what PageVerified's renderer saw at the recorded time. It is not a forensic chain of custody, proof of who wrote a page, or a legal certification.
Request options
Scroll the table horizontally to see all fields.
Fields in the capture request| Field | Values |
|---|
url | Required. A public http or https URL. |
|---|
format | png (the default), pdf or html. HTML is the page's markup after it loaded in the browser, not the raw server response. |
|---|
full_page | true captures the whole scrolling page as a PNG. The default is false: the viewport only. |
|---|
viewport | Width 320 to 2,560 and height 240 to 2,000 pixels. The default is 1,440 by 900. Free keys are held to 1,280 by 800. |
|---|
public_receipt | The default is true: the capture gets a public receipt page. Send false to turn that off. Without a receipt page there is no way to get a fresh download link, so download the file within 24 hours. |
|---|
Check the hash yourself
Download the file and hash it. If your result equals sha256, you hold the same bytes PageVerified hashed.
curl -s -o capture.png "<artifact_url>"
sha256sum capture.png
Verify a capture has the commands for macOS and Windows and what to do when the hashes differ.
Optional
A signed record of the capture
POST /api/v1/capture/record takes the same body and also returns a Capture Record: the URL, format, hash, size and capture time, signed with a key whose public half is published at /.well-known/pageverified-keys.json. It costs the capture price plus 4 credits, so 5 credits for a PNG.
Anyone can check a record for free, without a key, at POST /api/v1/capture/record/verify. The time in a record is still PageVerified's own clock.
What the hash and timestamp mean
- The hash ties one file to one capture. If a file's SHA-256 equals the value on the receipt, it is byte for byte the file that receipt describes. The receipt and its time are PageVerified's own record.
- The capture time is UTC from PageVerified's own server clock. For a signed Capture Record, outside time-stamp authorities later sign the record's hash with their own time, usually within 15 minutes; the record check at /verify shows it.
- A capture records what PageVerified's renderer saw at the recorded time. It is not a forensic chain of custody, proof of who wrote a page, or a legal certification.
- The renderer loads the page from Cloudflare's network with no cookies. A site can show it something different from what you see in your own browser.
The same on every page
Prices and limits
- Formats. PNG, PDF or rendered HTML. One format per call.
- Cost. A PNG or HTML capture costs 1 credit. A PDF costs 2 credits. A capture that fails is not charged.
- Signed Capture Record. The capture cost plus 4 credits.
- Free key. 25 credits, with no email and no card. Free keys render at up to 1,280 by 800 pixels, stop full-page captures at 2,400 pixels and allow 10 captures a minute. New free keys are issued in limited numbers; when none are left the API answers 429.
- Every key. Free or paid, one key can run up to 120 captures an hour. Each key also has a daily share of the shared browser pool. A key capturing at that rate reaches it in under an hour.
- Paid keys. Viewports from 320 to 2,560 pixels wide and 240 to 2,000 pixels high. Full-page captures stop at 16,000 pixels.
- Packs. Credit packs are one-time payments in US dollars, bought with card checkout: $19 for 3,000 credits, $49 for 12,000 credits, $149 for 60,000 credits. Nothing renews.
- Agents. An agent can buy the same packs over HTTP 402 with no person involved, plus $1 for 150 credits. How an agent pays.
- Storage. The captured file is kept in private storage until you ask for it to be deleted. Download links are signed and expire after 24 hours. By default a capture has a public receipt page, which issues a fresh link each time it is loaded.
- Time. The capture time is UTC from PageVerified's own server clock. For a signed Capture Record, outside time-stamp authorities later sign the record's hash with their own time, usually within 15 minutes; the record check at /verify shows it.
- Pages it can capture. Public
http and https pages only. It cannot log in, send cookies or set request headers, and private network addresses are refused.
- What a capture is. A capture records what PageVerified's renderer saw at the recorded time. It is not a forensic chain of custody, proof of who wrote a page, or a legal certification.
- Not offered. No uptime guarantee and no security or compliance certifications.
The card packs and the cost of every tool are on the pricing page, and more limits are in the API reference. How long data is kept is on the data handling page.
Common questions
What exactly is hashed?
The bytes of the captured file: the PNG, the PDF or the rendered HTML. The hash is computed before the file is stored, and the same bytes are what the download link returns.
Is the timestamp from a third party?
Not the capture time. The capture time is UTC from PageVerified's own server clock. For a signed Capture Record, outside time-stamp authorities later sign the record's hash with their own time, usually within 15 minutes; the record check at /verify shows it.
Can it capture a page behind a login?
No. The request takes a public URL, a format, a viewport and a full-page switch. It cannot log in, send cookies or set request headers.
How long is the captured file kept?
Until you ask for it to be deleted. Each download link expires after 24 hours. By default the capture has a public receipt page, which issues a fresh one.
Is a failed capture charged?
No. Credits are reserved when the call starts and returned if the capture fails.
Next steps
Related guides: Capture a web page as evidence · Verify a capture · Screenshot MCP server · x402 screenshot API.