Skip to main content
POST
/
screenshot
cURL
curl --request POST \
  --url https://api.geekflare.com/screenshot \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "url": "https://example.com",
  "device": "desktop",
  "proxyCountry": "us",
  "type": "png",
  "fullPage": true,
  "blockAds": true,
  "hideCookie": true,
  "skipCaptcha": true,
  "addTimestamp": true,
  "pageHeight": 2000,
  "viewportWidth": 1280,
  "viewportHeight": 800,
  "theme": "auto",
  "removeBackground": false,
  "highlightLinks": false,
  "delay": 2,
  "disableAnimations": false,
  "quality": 90,
  "scaleFactor": 1,
  "captureBeyondViewport": true
}
'
{
  "timestamp": 1763372588297,
  "apiStatus": "success",
  "apiCode": 200,
  "meta": {
    "url": "https://example.com",
    "type": "png",
    "device": "desktop",
    "fullPage": false,
    "blockAds": false,
    "hideCookie": false,
    "skipCaptcha": false,
    "addTimestamp": false,
    "test": {
      "id": "mxqx9v9y0742lap6altwdteqd28t23nq"
    },
    "proxyCountry": "<string>",
    "pageHeight": 2000,
    "viewportWidth": 1280,
    "viewportHeight": 800,
    "theme": "auto",
    "removeBackground": false,
    "highlightLinks": false,
    "delay": 2,
    "disableAnimations": false,
    "quality": 90,
    "scaleFactor": 1,
    "captureBeyondViewport": true
  },
  "data": "https://geekflare.com/tests/screenshot/kbi6d206g87ituahb7icwtpr.png"
}

Authorizations

x-api-key
string
header
required

API Key required for all endpoints

Body

application/json
url
string
required

Target URL

Example:

"https://example.com"

device
enum<string>
default:desktop

Device type to emulate. Defaults to desktop.

Available options:
desktop,
mobile
Example:

"desktop"

proxyCountry
string

Proxy country code to route the request

Example:

"us"

type
enum<string>
default:png

File type of screenshot. Defaults to png.

Available options:
png,
jpeg,
webp
Example:

"png"

fullPage
boolean
default:false

Take full-page screenshot

Example:

true

blockAds
boolean
default:true

Block ads on the page

Example:

true

Hide cookie popups

Example:

true

skipCaptcha
boolean
default:true

Try to bypass captcha

Example:

true

addTimestamp
boolean
default:false

Add timestamp watermark

Example:

true

pageHeight
number

Height of the page (for partial screenshot)

Required range: 100 <= x <= 5000
Example:

2000

viewportWidth
number

Width of the viewport

Required range: 320 <= x <= 3840
Example:

1280

viewportHeight
number

Height of the viewport

Required range: 240 <= x <= 2160
Example:

800

theme
enum<string>
default:auto

Theme to use for rendering

Available options:
light,
dark,
auto
Example:

"auto"

removeBackground
boolean

Remove background from screenshot

Example:

false

Highlight links on the page

Example:

false

delay
number

Delay before taking screenshot (in seconds)

Required range: 0 <= x <= 10
Example:

2

disableAnimations
boolean

Disable animations on the page

Example:

false

quality
number

Image quality (for JPEG/WEBP)

Required range: 10 <= x <= 100
Example:

90

scaleFactor
number

Device scale factor

Required range: 0.1 <= x <= 5
Example:

1

captureBeyondViewport
boolean

Capture beyond viewport if possible

Example:

true

Response

Successfully captured screenshot

timestamp
number
required

Timestamp of the request in milliseconds

Example:

1763372588297

apiStatus
enum<string>
required

API status message

Available options:
success,
failure
Example:

"success"

apiCode
number
required

API status code

Example:

200

meta
object
required

Metadata about the request

data
string
required

Screenshot URL or base64 string

Example:

"https://geekflare.com/tests/screenshot/kbi6d206g87ituahb7icwtpr.png"