Page archiving

Keep your own record of a page instead of a link to someone else's

A link rots, a screenshot in a ticket loses its context. Capture the page as a file that carries when it was taken, what the server answered and where it came from.

archive a web page · request and resultPAGECAPTURE / 01
cURL
curl -G https://api.pagecapture.dev/v1/take \
  -H "X-Access-Key: $PAGECAPTURE_KEY" \
  --data-urlencode "url=https://example.com/terms" \
  -d "format=pdf" \
  -d "full_page=true" \
  -d "pdf_print_background=true" \
  -d "metadata_page_title=true" \
  -d "metadata_http_response_status_code=true" \
  -d "response_type=json" \
  -o record.json
Capture result
succeeded
https://example.com
Noma
Shop now
NEW COLLECTION

Objects for slower mornings.

Thoughtful essentials, made in small batches from natural materials.

Explore the collection
No. 01 · Hinoki
PLANT-BASEDMADE IN SMALL BATCHESREFILLABLE
Artifact
PNG · 1440×900
Billing
1 credit
Engine
stable

The record carries its context

Page title, final URL and the response status code come back with the artifact, so the file is not a picture with no provenance.

Four shapes of the same record

PDF and image keep what it looked like; HTML and Markdown keep what it said. The visual formats survive the origin going away, which the text ones do not.

Written to your bucket

Storage is where a record becomes an archive: our own retention is short by design, and `store` puts the artifact in a bucket whose lifecycle you own.

The same request, later

A capture is a request you can keep and re-issue on a schedule, and the same parameters always describe the same capture.

Pricing

One credit per successful capture. Failures and cache hits are free.

Free
$0
100 credits
Basic
$10
2,000 credits
Growth
$47
10,000 credits
All plans

Questions this raises

Can I get a page as it looked last year?

No, and no API can: a capture starts existing when someone asks for it. If you need the past of a page you never captured, you need a service that was already recording then, such as the Internet Archive. What this does is start the record from now, on your terms.

Does it crawl a whole site?

No. It captures the URLs you send — one at a time, or many through the bulk endpoint. There is no spider discovering links, which also means no crawl of a site you do not control.

How long do you keep the file?

Not long enough to be your archive, on purpose: 30 minutes for a synchronous response and 24 hours for an asynchronous one. Permanence is what `store` is for — the artifact lands in your bucket and outlives us.

Is the HTML output a self-contained file?

No. HTML gives you the rendered DOM, and images, fonts and stylesheets stay as references to the origin. For a record that keeps looking the same after the site changes or disappears, use PDF or an image.

Can it capture a page behind a login?

Yes, with cookies or an Authorization header on the request. Those credentials are stripped before anything is persisted and destroyed with the job.