Vai al contenuto principale
POST
/
v1
/
screenshot
Screenshot sincrono
curl --request POST \
  --url https://screenshot.cleariflow.com/v1/screenshot \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "api_key": "<string>",
  "session_id": "<string>",
  "fingerprint": "<string>",
  "render": {},
  "render.wait_until": "<string>",
  "render.timeout_ms": 123,
  "render.post_load_wait_ms": 123,
  "render.ignore_https_errors": true,
  "render.full_page": true,
  "render.screenshot_format": "<string>",
  "render.user_agent": "<string>",
  "render.viewport": {},
  "resources": {},
  "resources.block": [
    {}
  ],
  "actions": [
    {}
  ],
  "actions[].type": "<string>",
  "actions[].selector": "<string>",
  "actions[].text": "<string>",
  "actions[].css": "<string>",
  "actions[].to": "<string>",
  "actions[].wait_ms": 123,
  "cookies": [
    {}
  ],
  "capture_full_page": true,
  "width": 123,
  "height": 123,
  "delay": 123,
  "css_injection": "<string>",
  "export_format": "<string>"
}
'
{
  "ok": true,
  "image_base64": "/9j/4AAQSkZJRg...",
  "content_type": "image/jpeg",
  "meta": {
    "elapsed_ms": 4521
  }
}

Per iniziare

URL base

https://screenshot.cleariflow.com/v1/screenshot

Esempio di richiesta

curl -X POST 'https://screenshot.cleariflow.com/v1/screenshot' \
  -H 'Content-Type: application/json' \
  -d '{
    "api_key": "YOUR_UNIQUE_API_KEY",
    "url": "https://cleariflow.com",
    "capture_full_page": true,
    "export_format": "jpeg"
  }'
Una richiesta riuscita restituisce lo screenshot in base64 e metadati:
{
  "ok": true,
  "image_base64": "/9j/4AAQSkZJRg...",
  "content_type": "image/jpeg",
  "meta": {
    "elapsed_ms": 4521
  }
}
Decodifica image_base64 per ottenere i byte JPEG o PNG grezzi.

Opzioni di rendering

L’oggetto render controlla come il browser carica la pagina prima della cattura. Tutti i campi sono opzionali — se omessi, si applicano i valori predefiniti del server.
"render": {
  "wait_until": "networkidle",
  "timeout_ms": 60000,
  "post_load_wait_ms": 2000,
  "ignore_https_errors": false,
  "full_page": true,
  "screenshot_format": "jpeg",
  "user_agent": "Mozilla/5.0 ...",
  "viewport": {
    "width": 1365,
    "height": 768
  }
}
CampoTipoPredefinitoDescrizione
wait_untilStringdomcontentloadedQuando considerare la navigazione completata. Usa domcontentloaded per risultati più rapidi; networkidle se la pagina carica dati via XHR/fetch dopo l’HTML iniziale.
timeout_msInteger60000Tempo massimo in millisecondi di attesa del caricamento della pagina.
post_load_wait_msInteger0Ritardo aggiuntivo in millisecondi dopo wait_until prima della cattura. Utile per animazioni o contenuti lazy-loaded.
ignore_https_errorsBooleanfalseSe true, ignora errori del certificato TLS della pagina di destinazione.
full_pageBooleantrueSe true, cattura l’intera altezza scrollabile della pagina.
screenshot_formatStringjpegFormato di output: jpeg o png.
user_agentStringStringa User-Agent personalizzata per la sessione del browser.
viewportObject1365×768Dimensione del viewport tramite width e height in pixel.

Campi di convenienza

Questi campi di livello superiore sono alias uniti in render e actions per retrocompatibilità e richieste più semplici:
CampoMappa aDescrizione
capture_full_pagerender.full_pageAttiva/disattiva cattura pagina intera.
width / heightrender.viewportDimensioni del viewport in pixel.
delayrender.post_load_wait_msRitardo in secondi prima della cattura.
export_formatrender.screenshot_formatjpeg o png.
user_agentrender.user_agentUser-Agent personalizzato.
css_injectionazione inject_cssCSS iniettato prima della cattura quando non è presente un’azione inject_css.
Esempio con campi piatti:
curl -X POST 'https://screenshot.cleariflow.com/v1/screenshot' \
  -H 'Content-Type: application/json' \
  -d '{
    "api_key": "YOUR_UNIQUE_API_KEY",
    "url": "https://cleariflow.com",
    "width": 1280,
    "height": 720,
    "delay": 2,
    "export_format": "png"
  }'

Opzioni risorse

L’oggetto resources controlla quali tipi di risorse il browser carica durante la cattura. Bloccare risorse pesanti accelera le richieste quando la fedeltà visiva lo consente.
"resources": {
  "block": ["images", "fonts", "media"]
}
ValoreBlocca
imagesImmagini (<img>, sfondi CSS)
fontsWeb font
mediaFlussi video e audio

Endpoint GET legacy

GET /v1/ restituisce byte immagine grezzi (JPEG o PNG) invece di JSON. Passa i parametri come query string:
https://screenshot.cleariflow.com/v1/?api_key=YOUR_UNIQUE_API_KEY&url=https://cleariflow.com&capture_full_page=true&export_format=jpeg
Parametri query supportati: url, api_key, session_id, fingerprint, capture_full_page, width, height, delay, css_injection, user_agent, export_format.

Parametri di richiesta

url
String
obbligatorio
L’URL di destinazione da catturare. Deve essere un URL HTTP o HTTPS pubblico. Le richieste a localhost e indirizzi IP privati sono bloccate dalla protezione SSRF.
api_key
String
obbligatorio
La tua chiave API univoca.
session_id
String
Identificatore di sessione opzionale per riutilizzare lo stato del browser (cookie, local storage) tra più richieste.
fingerprint
String
Preset dell’impronta del browser. Valori supportati: desktop_en_us, desktop_ru_ru, mobile_en_us.
render
Object
Opzioni di rendering e cattura per la sessione del browser.
render.wait_until
String
Quando considerare la navigazione completata. Valori: domcontentloaded, networkidle. Predefinito: domcontentloaded.
render.timeout_ms
Integer
Tempo massimo in millisecondi di attesa del caricamento della pagina. Predefinito: 60000.
render.post_load_wait_ms
Integer
Ritardo aggiuntivo in millisecondi dopo l’evento di caricamento della pagina prima della cattura.
render.ignore_https_errors
Boolean
Se true, ignora errori del certificato TLS della pagina di destinazione.
render.full_page
Boolean
Se true, cattura l’intera pagina scrollabile. Predefinito: true.
render.screenshot_format
String
Formato di output: jpeg o png. Predefinito: jpeg.
render.user_agent
String
User-Agent personalizzato per la sessione del browser.
render.viewport
Object
Dimensione del viewport con width e height in pixel.
resources
Object
Controlli di caricamento delle risorse.
resources.block
Array
Tipi di risorse da bloccare. Valori supportati: images, fonts, media.
actions
Array
Elenco ordinato di azioni del browser prima della cattura. Ogni azione è un oggetto con un campo type.
actions[].type
String
obbligatorio
Tipo di azione. Valori supportati: wait, wait_for, click, type, scroll, inject_css.
actions[].selector
String
Selettore CSS per azioni wait_for, click o type.
actions[].text
String
Testo da digitare per l’azione type.
actions[].css
String
Stringa CSS per l’azione inject_css.
actions[].to
String
Destinazione dello scroll per l’azione scroll (es. bottom).
actions[].wait_ms
Integer
Durata in millisecondi per l’azione wait.
cookies
Array
Cookie da iniettare prima della navigazione. Ogni oggetto cookie richiede name e value; campi opzionali: domain, path.
capture_full_page
Boolean
Alias di convenienza per render.full_page.
width
Integer
Alias di convenienza per render.viewport.width.
height
Integer
Alias di convenienza per render.viewport.height.
delay
Integer
Ritardo in secondi prima della cattura. Mappato a render.post_load_wait_ms.
css_injection
String
CSS iniettato tramite un’azione inject_css quando non è già presente in actions.
export_format
String
Alias di convenienza per render.screenshot_format. Valori: jpeg, png.

Parametri di risposta

La risposta dell’API viene restituita in un formato JSON universale e leggero.
ok
Boolean
Se lo screenshot è stato completato con successo.
image_base64
String
Dati immagine codificati in base64. Decodifica per ottenere byte JPEG o PNG grezzi.
content_type
String
Tipo MIME dell’immagine (image/jpeg o image/png).
meta
Object
Metadati sulla cattura, incluso il tempo trascorso in millisecondi.
error
Object
Dettagli dell’errore quando ok è false.