# Frequently Asked Questions

 Targeted answers to the questions customers actually ask. Browse by product or use Ctrl+K to search the docs directly.

 ##    Web Scraping API

   [set multiple proxy countries](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [exclude country from proxy pool](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [weight country probability syntax](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [use residential proxy pool](https://scrapfly.io/docs/scrape-api/proxy#proxy-pools)   [Read full answer →](https://scrapfly.io/docs/scrape-api/proxy#proxy-pools)   [wait for css selector before scraping](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [wait for xhr request to load](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [wait fixed milliseconds before extracting page](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-rendering#rendering_wait)   [execute custom javascript on page](https://scrapfly.io/docs/scrape-api/javascript-rendering#javascript_executions)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-rendering#javascript_executions)   [scroll to bottom of page](https://scrapfly.io/docs/scrape-api/javascript-rendering#snippets)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-rendering#snippets)   [click button in scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario#click)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#click)   [fill login form input](https://scrapfly.io/docs/scrape-api/javascript-scenario#fill)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#fill)   [infinite scroll load more](https://scrapfly.io/docs/scrape-api/javascript-scenario#scroll)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#scroll)   [wait for navigation after click](https://scrapfly.io/docs/scrape-api/javascript-scenario#wait_for_navigation)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#wait_for_navigation)   [select option from dropdown](https://scrapfly.io/docs/scrape-api/javascript-scenario#select)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#select)   [stop scenario if status code not 200](https://scrapfly.io/docs/scrape-api/javascript-scenario#condition)   [Read full answer →](https://scrapfly.io/docs/scrape-api/javascript-scenario#condition)   [keep cookies between requests](https://scrapfly.io/docs/scrape-api/session#usage)   [Read full answer →](https://scrapfly.io/docs/scrape-api/session#usage)   [session expiration timeout](https://scrapfly.io/docs/scrape-api/session#scope)   [Read full answer →](https://scrapfly.io/docs/scrape-api/session#scope)   [rotate proxy ip with session](https://scrapfly.io/docs/scrape-api/session#usage)   [Read full answer →](https://scrapfly.io/docs/scrape-api/session#usage)   [schedule scrape every 6 hours cron](https://scrapfly.io/docs/scrape-api/schedule)   [Read full answer →](https://scrapfly.io/docs/scrape-api/schedule)   [schedule with interval and unit](https://scrapfly.io/docs/scrape-api/schedule)   [Read full answer →](https://scrapfly.io/docs/scrape-api/schedule)   [stop schedule after fixed number of fires](https://scrapfly.io/docs/scrape-api/schedule)   [Read full answer →](https://scrapfly.io/docs/scrape-api/schedule)   [extract data with css selector template](https://scrapfly.io/docs/scrape-api/extraction#extraction_template)   [Read full answer →](https://scrapfly.io/docs/scrape-api/extraction#extraction_template)   [extract data with natural language prompt](https://scrapfly.io/docs/scrape-api/extraction#llm_extraction)   [Read full answer →](https://scrapfly.io/docs/scrape-api/extraction#llm_extraction)   [verify webhook hmac signature](https://scrapfly.io/docs/scrape-api/webhook#security)   [Read full answer →](https://scrapfly.io/docs/scrape-api/webhook#security)   [filter webhook by resource type](https://scrapfly.io/docs/scrape-api/webhook#headers)   [Read full answer →](https://scrapfly.io/docs/scrape-api/webhook#headers)   [screenshot specific element by selector](https://scrapfly.io/docs/scrape-api/screenshot#usage)   [Read full answer →](https://scrapfly.io/docs/scrape-api/screenshot#usage)   [screenshot dark mode block cookie banner](https://scrapfly.io/docs/scrape-api/screenshot#options)   [Read full answer →](https://scrapfly.io/docs/scrape-api/screenshot#options)   [send multiple cookies in scrape request](https://scrapfly.io/docs/scrape-api/custom#cookies)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#cookies)   [spoof browser geolocation latitude longitude](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#geo_targeting)   [force operating system windows mac linux](https://scrapfly.io/docs/scrape-api/custom#os)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#os)   [set accept-language preference order](https://scrapfly.io/docs/scrape-api/custom#lang)   [Read full answer →](https://scrapfly.io/docs/scrape-api/custom#lang)   [cache scrape result for one week](https://scrapfly.io/docs/scrape-api/cache#ttl_eviction)   [Read full answer →](https://scrapfly.io/docs/scrape-api/cache#ttl_eviction)   [force clear cache for url](https://scrapfly.io/docs/scrape-api/cache#ttl_eviction)   [Read full answer →](https://scrapfly.io/docs/scrape-api/cache#ttl_eviction)    ##    Cloud Browser

   [auto solve captcha by adding a connection parameter](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#enabling-via-param)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#enabling-via-param)   [trigger captcha solver with cdp command on specific pages](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#enabling-via-cdp)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#enabling-via-cdp)   [list captchas already solved during the session](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#getSolvedCaptchas)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#getSolvedCaptchas)   [subscribe to captcha detected and solved events](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#event-flow)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#event-flow)   [manually solve a single captcha as escape hatch](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#solveCaptcha)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/captcha-solver#solveCaptcha)   [record cloud browser session as video for replay](https://scrapfly.io/docs/cloud-browser-api/debug-mode#enabling)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/debug-mode#enabling)   [fetch signed video url for a debug recording](https://scrapfly.io/docs/cloud-browser-api/debug-mode#retrieving-recordings)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/debug-mode#retrieving-recordings)   [download recorded session video file directly](https://scrapfly.io/docs/cloud-browser-api/debug-mode#video-download)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/debug-mode#video-download)   [upload custom chrome extension crx file](https://scrapfly.io/docs/cloud-browser-api/extensions#file-upload)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/extensions#file-upload)   [install chrome extension from a remote url](https://scrapfly.io/docs/cloud-browser-api/extensions#install-from-url)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/extensions#install-from-url)   [enable multiple extensions in browser session connection](https://scrapfly.io/docs/cloud-browser-api/extensions#using-extensions)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/extensions#using-extensions)   [reconnect to running browser after script restart](https://scrapfly.io/docs/cloud-browser-api/session-resume#basic-usage)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/session-resume#basic-usage)   [keep browser alive after disconnect with auto\_close false](https://scrapfly.io/docs/cloud-browser-api/session-resume#auto-close)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/session-resume#auto-close)   [stop a running browser session via rest api](https://scrapfly.io/docs/cloud-browser-api/session-resume#stop-run)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/session-resume#stop-run)   [list all currently running browser sessions](https://scrapfly.io/docs/cloud-browser-api/session-resume#get-running-sessions)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/session-resume#get-running-sessions)   [retrieve downloaded files from cloud browser as base64](https://scrapfly.io/docs/cloud-browser-api/file-downloads#get-downloads)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/file-downloads#get-downloads)   [check if file download finished before fetching](https://scrapfly.io/docs/cloud-browser-api/file-downloads#get-downloads-metadata)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/file-downloads#get-downloads-metadata)   [listen for browser download progress completed event](https://scrapfly.io/docs/cloud-browser-api/file-downloads#download-events)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/file-downloads#download-events)   [block images and fonts to save bandwidth in cloud browser](https://scrapfly.io/docs/cloud-browser-api/billing#resource-stubbing)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/billing#resource-stubbing)   [pick residential proxy pool over datacenter for sensitive target](https://scrapfly.io/docs/cloud-browser-api/proxy#proxy-pools)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/proxy#proxy-pools)   [geo target browser session to germany with country code](https://scrapfly.io/docs/cloud-browser-api/proxy#geo-targeting)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/proxy#geo-targeting)   [get rendered html of page with custom cdp command](https://scrapfly.io/docs/cloud-browser-api/getting-started#page-getrenderedcontent)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/getting-started#page-getrenderedcontent)   [set os fingerprint to linux when connecting browser](https://scrapfly.io/docs/cloud-browser-api/getting-started#parameters)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/getting-started#parameters)   [discover and call webmcp tools registered by the page](https://scrapfly.io/docs/cloud-browser-api/mcp#tools-webmcp)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/mcp#tools-webmcp)   [raw cdp example calling WebMCP.invokeTool](https://scrapfly.io/docs/cloud-browser-api/mcp#webmcp-page-example)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/mcp#webmcp-page-example)   [watchman dashboard takes manual control of stuck browser](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop#takeover)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop#takeover)   [puppeteer connect to remote chrome over websocket cdp](https://scrapfly.io/docs/cloud-browser-api/puppeteer#installation)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/puppeteer#installation)   [playwright chromium connectOverCDP example](https://scrapfly.io/docs/cloud-browser-api/playwright#installation)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/playwright#installation)   [selenium remote webdriver websocket connection url](https://scrapfly.io/docs/cloud-browser-api/selenium#websocket-parameters)   [Read full answer →](https://scrapfly.io/docs/cloud-browser-api/selenium#websocket-parameters)    ##    Crawler API

   [limit crawl depth to 3 levels from seed url](https://scrapfly.io/docs/crawler-api/getting-started#spec)   max\_depth parameter for link depth from starting URL
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#spec)   [exclude /admin and /login paths from crawl](https://scrapfly.io/docs/crawler-api/getting-started#spec)   exclude\_paths wildcard pattern array
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#spec)   [only crawl /blog/\* pages whitelist](https://scrapfly.io/docs/crawler-api/getting-started#spec)   include\_only\_paths whitelist with wildcards
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#spec)   [follow links to external domains whitelist cdn](https://scrapfly.io/docs/crawler-api/getting-started#spec)   follow\_external\_links + allowed\_external\_domains pattern list
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#spec)   [stop crawl after spending 1000 api credits](https://scrapfly.io/docs/crawler-api/getting-started#spec)   max\_api\_credit budget cap
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#spec)   [send explicit list of urls without discovery](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   url\_list mode disables discovery; 3MB / 100k URLs cap
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   [fetch url list from s3 presigned url](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   remote\_url\_list with AWS S3 SigV4 presigned URL (7-day max)
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   [url list file format comments blank lines](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   remote list file format: # comments at column 0, blank lines ignored
 [Read full answer →](https://scrapfly.io/docs/crawler-api/getting-started#url-sources)   [extract product data from /products/\* with prompt](https://scrapfly.io/docs/crawler-api/extraction-rules#syntax)   extraction\_rules JSON map of URL pattern to {type, value}
 [Read full answer →](https://scrapfly.io/docs/crawler-api/extraction-rules#syntax)   [use built-in product model auto-extraction](https://scrapfly.io/docs/crawler-api/extraction-rules#extraction-methods)   type: model with names like product, article, review\_list
 [Read full answer →](https://scrapfly.io/docs/crawler-api/extraction-rules#extraction-methods)   [extraction rule wildcard pattern nested category](https://scrapfly.io/docs/crawler-api/extraction-rules#syntax)   multi-level wildcards e.g. /category/\*/products/\*
 [Read full answer →](https://scrapfly.io/docs/crawler-api/extraction-rules#syntax)   [schedule crawler every monday at 3am cron](https://scrapfly.io/docs/crawler-api/schedule)   recurrence cron mode 5-field UTC expression
 [Read full answer →](https://scrapfly.io/docs/crawler-api/schedule)   [stop schedule after 12 runs](https://scrapfly.io/docs/crawler-api/schedule)   ends type=count for fixed-fire-count termination
 [Read full answer →](https://scrapfly.io/docs/crawler-api/schedule)   [schedule retry crawl on failure max retries](https://scrapfly.io/docs/crawler-api/schedule)   retry\_on\_failure + max\_retries reliability options
 [Read full answer →](https://scrapfly.io/docs/crawler-api/schedule)   [warc gzip compressed download artifact](https://scrapfly.io/docs/crawler-api/warc-format#downloading)   crawl.warc.gz artifact (10x compression)
 [Read full answer →](https://scrapfly.io/docs/crawler-api/warc-format#downloading)   [filter by country in warc records](https://scrapfly.io/docs/crawler-api/warc-format#scrapfly-custom-headers)   WARC-Scrape-Country custom header (ISO 3166-1)
 [Read full answer →](https://scrapfly.io/docs/crawler-api/warc-format#scrapfly-custom-headers)   [subscribe only to crawler\_finished event webhook](https://scrapfly.io/docs/crawler-api/webhook#events)   webhook\_events array filtering deliveries
 [Read full answer →](https://scrapfly.io/docs/crawler-api/webhook#events)   [verify webhook hmac signature header](https://scrapfly.io/docs/crawler-api/webhook#security)   X-Scrapfly-Webhook-Signature HMAC-SHA256 verification on raw body
 [Read full answer →](https://scrapfly.io/docs/crawler-api/webhook#security)   [fetch single page content as raw markdown](https://scrapfly.io/docs/crawler-api/results#query-content)   plain=true query param for raw content without JSON wrapper
 [Read full answer →](https://scrapfly.io/docs/crawler-api/results#query-content)   [batch fetch multiple urls multipart response](https://scrapfly.io/docs/crawler-api/results#query-content)   multipart/related batch query with comma-separated formats
 [Read full answer →](https://scrapfly.io/docs/crawler-api/results#query-content)    ##    Extraction API

   [css selector in extraction template](https://scrapfly.io/docs/extraction-api/rules-and-template#css_selector)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#css_selector)   [xpath selector extraction rule](https://scrapfly.io/docs/extraction-api/rules-and-template#xpath_selector)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#xpath_selector)   [jmespath selector for json content](https://scrapfly.io/docs/extraction-api/rules-and-template#jmespath_selector)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#jmespath_selector)   [regex selector capture group from html](https://scrapfly.io/docs/extraction-api/rules-and-template#regex_selector)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#regex_selector)   [nested selectors extract array of products](https://scrapfly.io/docs/extraction-api/rules-and-template#nested_selectors)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#nested_selectors)   [convert string to absolute url formatter](https://scrapfly.io/docs/extraction-api/rules-and-template#absolute_url)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#absolute_url)   [parse date string with datetime formatter](https://scrapfly.io/docs/extraction-api/rules-and-template#datetime)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#datetime)   [regex replace value in extraction field](https://scrapfly.io/docs/extraction-api/rules-and-template#replace)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#replace)   [split field value into list](https://scrapfly.io/docs/extraction-api/rules-and-template#split)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#split)   [extract price as number from string](https://scrapfly.io/docs/extraction-api/rules-and-template#price_extractor)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#price_extractor)   [extract all emails from page](https://scrapfly.io/docs/extraction-api/rules-and-template#emails_extractor)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#emails_extractor)   [extract all image urls](https://scrapfly.io/docs/extraction-api/rules-and-template#images_extractor)   [Read full answer →](https://scrapfly.io/docs/extraction-api/rules-and-template#images_extractor)   [extract product schema with ai model](https://scrapfly.io/docs/extraction-api/automatic-ai#usage)   [Read full answer →](https://scrapfly.io/docs/extraction-api/automatic-ai#usage)   [list of supported extraction\_model values](https://scrapfly.io/docs/extraction-api/automatic-ai#models)   [Read full answer →](https://scrapfly.io/docs/extraction-api/automatic-ai#models)   [llm prompt extraction with custom question](https://scrapfly.io/docs/extraction-api/llm-prompt#usage)   [Read full answer →](https://scrapfly.io/docs/extraction-api/llm-prompt#usage)   [webhook\_name parameter for async extraction](https://scrapfly.io/docs/extraction-api/webhook#api)   [Read full answer →](https://scrapfly.io/docs/extraction-api/webhook#api)   [verify hmac signature x-scrapfly-webhook-signature header](https://scrapfly.io/docs/extraction-api/webhook#security)   [Read full answer →](https://scrapfly.io/docs/extraction-api/webhook#security)    ##    Screenshot API

   [full page screenshot syntax](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [screenshot specific element by css selector](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [screenshot element via xpath](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [wait for selector before taking screenshot](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [add delay milliseconds before capture](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [block cookie banners and popups in screenshot](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [dark mode screenshot rendering](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [auto scroll to load lazy images](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [mobile viewport screenshot iphone resolution](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [execute javascript before screenshot](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [screenshot output format png webp gif](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#spec)   [head request to get screenshot url without body](https://scrapfly.io/docs/screenshot-api/getting-started#head)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#head)   [missing images in screenshot lazy load](https://scrapfly.io/docs/screenshot-api/getting-started#missing-images)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/getting-started#missing-images)   [simulate color blindness deuteranopia](https://scrapfly.io/docs/screenshot-api/accessibility#vision_deficiency)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/accessibility#vision_deficiency)   [blurred vision accessibility test](https://scrapfly.io/docs/screenshot-api/accessibility#types)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/accessibility#types)   [wcag section 508 compliance screenshot testing](https://scrapfly.io/docs/screenshot-api/accessibility#compliance)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/accessibility#compliance)   [create recurring screenshot with cron expression](https://scrapfly.io/docs/screenshot-api/schedule)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/schedule)   [pause and resume screenshot schedule](https://scrapfly.io/docs/screenshot-api/schedule)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/schedule)   [verify webhook signature hmac sha256](https://scrapfly.io/docs/screenshot-api/webhook#security)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/webhook#security)   [webhook\_name parameter async screenshot](https://scrapfly.io/docs/screenshot-api/webhook#api)   [Read full answer →](https://scrapfly.io/docs/screenshot-api/webhook#api)    ##    Proxy Saver

   [use proxy saver with curl http2 protocol](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   curl --proxy-http2 flag for HTTP/2 over TLS proxy connection
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   [socks5 authentication chrome workaround custom header](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   X-SAVER-AUTH header workaround for browsers that do not support native SOCKS5 auth (Chrome/Chromium)
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   [encrypt proxy credentials with HTTPS proxy connect phase](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   HTTPS proxy scheme encrypts credentials from CONNECT phase vs cleartext HTTP
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/protocols#https-http2)   [impersonate chrome 130 windows fingerprint via username flag](https://scrapfly.io/docs/proxy-saver/fingerprints#usage)   FpImpersonate=chrome\_win\_130 attached to username (proxyId-XXX-FpImpersonate-chrome\_win\_130) to swap outgoing TLS/JA3 fingerprint
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/fingerprints#usage)   [list available browser impersonation profiles firefox safari](https://scrapfly.io/docs/proxy-saver/fingerprints#available-fingerprints)   Available FpImpersonate canonical names table (chrome/firefox/safari/edge across windows/macos/linux)
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/fingerprints#available-fingerprints)   [install scrapfly ca certificate one-liner linux macos](https://scrapfly.io/docs/proxy-saver/certificates#install)   curl -sL https://&lt;domain&gt;/install-ca.sh \| sh quick-install script for OS trust store
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/certificates#install)   [trust proxy saver ca cert in dockerfile alpine update-ca-certificates](https://scrapfly.io/docs/proxy-saver/certificates#containers)   Container Dockerfile recipe: copy scrapfly-ca.crt to /usr/local/share/ca-certificates/ and run update-ca-certificates (Debian + Alpine)
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/certificates#containers)   [import scrapfly cert into chrome authority tab](https://scrapfly.io/docs/proxy-saver/certificates#web-browsers)   chrome://settings/certificates Authority tab Import flow for scrapfly-ca.crt (and Firefox about:preferences#advanced equivalent)
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/certificates#web-browsers)   [configure proxy via PAC file url in chromedriver](https://scrapfly.io/docs/proxy-saver/pacfile#usage)   --proxy-pac-url=&lt;api&gt;/proxy-saver/{proxyId}/pac?key=API\_KEY bound PAC URL for ChromeDriver / system proxy auto-config
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/pacfile#usage)   [bring my own encryption key end-to-end for upstream proxy password](https://scrapfly.io/docs/proxy-saver/security)   Customer-supplied AES-GCM encryption key (E2E) for upstream credentials, not retained by Scrapfly KMS; toggle in dashboard requires re-entering upstream password to revert
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/security)   [disable image stubbing 1x1 placeholder full image download](https://scrapfly.io/docs/proxy-saver/optimizations#image-stubbing)   DisableImageStub option to opt out of the 1x1 pixel image replacement bandwidth optimization
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/optimizations#image-stubbing)   [turn off css stub empty stylesheet response](https://scrapfly.io/docs/proxy-saver/optimizations#css-stubbing)   DisableCssStub option to receive real CSS bodies instead of empty stub
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/optimizations#css-stubbing)   [tls session ticket psk caching faster https handshake](https://scrapfly.io/docs/proxy-saver/optimizations#tls-https)   Distributed caching of TLS tickets and pre-shared keys (PSK) to skip full handshake on repeat connections
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/optimizations#tls-https)   [forward country-us geo target via username pipe syntax](https://scrapfly.io/docs/proxy-saver/getting-started#forwarding)   Parameter forwarding via pipe-delimited username (proxyId-XXX\|country-us) to pass per-request flags to upstream proxy
 [Read full answer →](https://scrapfly.io/docs/proxy-saver/getting-started#forwarding)
