BrowserSolver

Website Screenshot

GET
/v1/website/screenshot

Turn any public URL into a PNG, JPEG, WebP, or PDF asset rendered by BrowserSolver. No local Chromium fleet to operate.

Credit cost: 2 credits per call

Authentification

ApiKeyAuth
x-api-key<token>

Your API key. Include it in the x-api-key header for every request.

In: header

Paramètres de requête

url*string

Page address to render into an image or PDF. Must include a protocol.

Sample targets:

https://www.amazon.com/s?k=pokemon
https://www.cdiscount.com/sante-mieux-vivre/materiel-medical/soin-domicile/l-1650608.html
https://github.com/seaweedfs/seaweedfs
format?string

File type returned in the response body.

Choose one of:

  • webp
  • jpeg
jpg
png
pdf
Default"png"

Value in

  • "jpeg"
  • "jpg"
  • "pdf"
  • "png"
  • "webp"
device?string

Swap the desktop viewport for a preset handset or tablet fingerprint.

Presets:

  • iphone_14_pro_max
  • iphone_14_pro
  • iphone_13_pro_max
  • iphone_13_mini
  • iphone_12
  • iphone_x
  • ipad
  • galaxy_s23_ultra
  • galaxy_s23
  • galaxy_s8
  • galaxy_fold4
  • pixel_7_pro
  • pixel_6a
  • pixel_5
  • redmi_note_12_pro
redmi_note_11
huawei_p60_pro
huawei_mate_50_pro

Value in

  • "galaxy_fold4"
  • "galaxy_s23"
  • "galaxy_s23_ultra"
  • "galaxy_s8"
  • "huawei_mate_50_pro"
  • "huawei_p60_pro"
  • "ipad"
  • "iphone_12"
  • "iphone_13_mini"
  • "iphone_13_pro_max"
  • "iphone_14_pro"
  • "iphone_14_pro_max"
  • "iphone_x"
  • "pixel_5"
  • "pixel_6a"
  • "pixel_7_pro"
  • "redmi_note_11"
  • "redmi_note_12_pro"
full_page?boolean

Extend the capture beyond the viewport so the entire scrollable document is included.

Default"false"
full_page_scroll?boolean

Drive a scroll pass first so deferred content mounts before a tall capture.

Default"false"
full_page_scroll_duration?number

Milliseconds spent scrolling prior to a full-height capture.

Default"400"
viewport_width?number

Width of the synthetic desktop window, in pixels.

Default"1280"
viewport_height?number

Height of the synthetic desktop window, in pixels.

Default"1024"
scale_factor?number

Pixel density multiplier. Raise it for retina-quality output; files grow accordingly.

Default"1"
image_quality?string

Lossy compression level for soft formats.

Applies when format is:

jpeg
webp
Default"80"
selector?string

Limit the shot to one DOM node matched by this CSS selector.

cache?boolean

Serve a stored capture on repeat requests when caching is enabled.

Default"false"
cache_ttl?number

Lifetime of cached captures in seconds.

Range3600 <= value <= 2592000
Default"2592000"
remove_selectors?string

Hide matching CSS selectors (modals, promo bars, etc.) before shooting.

remove_ads?boolean

Best-effort stripping of ad slots before capture.

Default"false"
block_resources?string

Resource kinds to discard during load, as a comma list (example: image,stylesheet,font).

Kinds:

  • document
  • stylesheet
  • image
  • media
  • font
  • script
  • texttrack
  • xhr
  • fetch
  • eventsource
  • websocket
  • manifest
  • other Helps shorten load time on media-heavy pages.

Value in

  • "document"
  • "eventsource"
  • "fetch"
  • "font"
  • "image"
  • "manifest"
  • "media"
  • "other"
  • "script"
  • "stylesheet"
  • "texttrack"
  • "websocket"
  • "xhr"
block_urls?string

Substring patterns that should never be fetched (example: analytics,tracking,advertisement). Hosts, paths, or fragments such as .example.com/ work.

delay?number

Additional settle time in seconds after the readiness event.

Range0 <= value <= 10
Default"0"
wait_until?array<string>

Which browser lifecycle event marks the page ready.

Values:

  • networkidle2
  • load
  • domcontentloaded
  • networkidle0

Value in

  • "domcontentloaded"
  • "load"
  • "networkidle0"
  • "networkidle2"
wait_for_selector?string

Hold capture until this CSS node is present.

proxy?string

Route the browser through an intermediate proxy.

Protocols: HTTP, HTTPS, SOCKS5.

Shape: http://username:password@proxy.com:PORT.

Handy for region-specific views or IP rotation.

s3_secret_key?string

Secret key used to authenticate uploads.

s3_access_key_id?string

Access key used to authenticate uploads.

s3_bucket?string

Destination bucket for the binary asset.

s3_object_key?string

Key under which the object is stored (generated automatically if blank).

s3_region?string

Cloud region of the bucket.

storage_endpoint?string

Override the default AWS endpoint for S3-compatible backends. Leave blank for AWS. R2 example: https://<accountId>.r2.cloudflarestorage.com.

s3_url?boolean

Upload the binary and include the public object URL in the API response.

Default"false"

Corps de la réponse

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/website/screenshot?url=string"
Empty
{  "error": "Bad Request"}
{  "error": "Invalid API Key"}
{  "error": "Payment required"}
{  "error": "Rate limit exceeded for the API key: quota monthly"}
{  "error": "Internal Error"}