url2image Start a batch
api

Everything this service does, over HTTP.

One endpoint to queue a batch, one to check it, one to download the result. There is an MCP server if your client prefers typed tools, and an OpenAPI description if it prefers a schema.

Get a key

A key is bound to a fresh account with its own credits and its own batches. Keep it somewhere safe: it is the only handle on that account.

SurfaceAddress
OpenAPI/openapi.json
Markdown reference/docs/api
MCP endpointPOST https://url2image.com/mcp
MCP server card/.well-known/mcp/server-card.json
Agent card/.well-known/agent-card.json
Agent skillSKILL.md
Auth guide/auth.md
x402 terms/.well-known/x402
Stripe checkoutavailable

url2image API

Render a list of URLs in a real browser and get the screenshots back as a zip. A BuiltWith service.

Quick start

curl -X POST https://url2image.com/api/v1/batch \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $URL2IMAGE_KEY" \
  -d '{"urls":["https://stripe.com","https://vercel.com"],"format":"png","full_page":true}'

That returns a batch id. Poll it, then download:

curl https://url2image.com/api/v1/jobs/$ID -H "Authorization: Bearer $URL2IMAGE_KEY"
curl -L https://url2image.com/api/v1/jobs/$ID/download -H "Authorization: Bearer $URL2IMAGE_KEY" -o screenshots.zip

One URL, one image, no polling:

curl -X POST https://url2image.com/api/v1/shot \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $URL2IMAGE_KEY" \
  -d '{"url":"https://stripe.com"}' --output stripe.png

Getting a key

POST https://url2image.com/api/v1/keys returns a key bound to a fresh account. Keep it:

it is the only handle on that account's credits and batches. Browsers do not

need a key, a signed cookie carries the same identity.

Pricing

Every account gets 10 free screenshots a month. The allowance is metered

per network address as well as per account, so issuing a second key does not

reset it. After that, credits are prepaid and never expire.

PackPriceCreditsPer screenshot
Starter$52,500$0.002
Growth$2015,000$0.0013
Scale$7575,000$0.001
Bulk$250350,000$0.000714

A URL that fails every attempt is not charged.

Discovery

  • OpenAPI: https://url2image.com/openapi.json
  • MCP endpoint: https://url2image.com/mcp
  • MCP server card: https://url2image.com/.well-known/mcp/server-card.json
  • Agent card: https://url2image.com/.well-known/agent-card.json
  • Agent skill: https://url2image.com/.well-known/agent-skills/batch-url-screenshots/SKILL.md
  • x402 terms: https://url2image.com/.well-known/x402
  • Auth guide: https://url2image.com/auth.md

MCP tools

  • create_screenshot_batch: queue URLs for rendering.
  • get_screenshot_batch: read state and per URL results.
  • get_account_balance: credits and free allowance remaining.
  • create_credit_checkout: hosted Stripe Checkout for a credit pack (available).

Paying as an agent

Two rails, both without card handling here:

1. Hosted Stripe Checkout. The tool returns a URL, a person confirms on

Stripe's page, credits land on the account.

2. x402 (available). Call a priced endpoint, read the 402 body,

retry with an X-PAYMENT header. Terms at https://url2image.com/.well-known/x402.

Limits

  • 500 URLs per batch, 2 MB per uploaded list.
  • Results and images are deleted after 14 days.
  • Only public HTTP and HTTPS hosts are rendered. Private, loopback and

link-local addresses are refused at render time.

Support: support@builtwith.com. Terms: https://builtwith.com/terms.

Privacy: https://builtwith.com/privacy.