Render di una pagina
Uno strumento che apre una pagina in un browser vero, aspetta che il JavaScript costruisca i contenuti e ti restituisce l’HTML finale, quello che l’utente vede davvero. È la differenza fra scaricare il codice grezzo di un sito moderno, spesso quasi vuoto, e ottenere la pagina già montata.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Il problema dell’HTML vuoto
Molti siti oggi non spediscono la pagina già fatta: mandano uno scheletro e poi il JavaScript riempie tutto nel browser. Se scarichi il codice con un metodo classico, ti ritrovi una pagina quasi vuota, senza i contenuti che invece si vedono a schermo. Il render risolve proprio questo: apre l’indirizzo in un browser reale, lascia che gli script finiscano il loro lavoro e solo allora cattura l’HTML. Così hai il testo, i prezzi, l’elenco prodotti — tutto quello che comparirebbe visitando la pagina di persona.
Cosa ricevi
Ricevi l’HTML della pagina dopo l’esecuzione degli script: il codice completo e aggiornato, con i contenuti al loro posto. È il punto di partenza ideale quando vuoi poi estrarne il testo, i link o una tabella, ma la sorgente grezza non basta. Ogni pagina ha fino a 30 secondi per caricarsi e completare gli script; se un sito è particolarmente lento, potrebbe non fare in tempo a montare tutto.
Prezzo e canali
Costa $0.040 a richiesta più $0.001 per ogni URL, circa quattro centesimi a pagina. Nessun abbonamento: si paga a consumo con PayPal, senza account. La superficie principale è questa pagina — incolli l’URL e leggi il risultato — ma chi collega il render a un flusso automatico, per esempio per alimentare un altro strumento del KIT, lo richiama via API. In arrivo anche app, email e Telegram come canali aggiuntivi.
Casi d'uso
Leggere un sito costruito in JavaScript
Alessandro deve recuperare i contenuti di un catalogo che appare solo dopo il caricamento degli script. Il render gli restituisce l’HTML completo, con i prodotti già inseriti, invece della pagina vuota che otteneva prima.
Preparare la pagina per un’estrazione
Rossi & Figli S.r.l. vuole estrarre una tabella da una pagina dinamica. Prima la passa dal render per avere l’HTML montato, poi lo strumento delle tabelle lavora su un codice completo e trova i dati.
Verificare cosa vede davvero un motore
Un consulente SEO di Firenze vuole controllare quali contenuti compaiono dopo l’esecuzione del JavaScript. Il render gli mostra l’HTML finale, così capisce cosa può leggere chi visita la pagina e cosa resta nascosto.
Domande frequenti
In cosa è diverso dallo scaricare il codice di una pagina?
Scaricare il codice ti dà la sorgente grezza, prima che gli script lavorino: su molti siti moderni è quasi vuota. Il render apre la pagina in un browser vero, esegue il JavaScript e poi cattura l’HTML, così ottieni i contenuti che compaiono davvero a schermo.
Ricevo un’immagine o del testo?
Ricevi l’HTML della pagina, cioè il codice finale in formato testo. Se ti serve un’immagine della pagina usa lo screenshot; se ti serve solo il testo leggibile o il Markdown, ci sono gli strumenti dedicati.
Aspetta che la pagina finisca di caricare?
Sì, lo strumento attende che gli script costruiscano i contenuti prima di catturare l’HTML, entro il limite di 30 secondi per pagina. Siti molto lenti potrebbero non completarsi in tempo.
Quanto costa?
$0.040 a richiesta più $0.001 per URL, circa quattro centesimi a pagina. Nessun abbonamento; si paga a consumo con PayPal.
La pagina viene conservata?
No. L’URL si apre solo per produrre l’HTML e poi viene scartato: non conserviamo la pagina né il risultato.
Funziona con qualsiasi sito?
Con qualsiasi indirizzo pubblico. Le aree protette da login non sono raggiungibili, perché lo strumento vede la pagina come un visitatore non autenticato.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/web/render \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/render", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/render",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/render", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/render", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"url": "https://ejemplo.com"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.render",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
timeout_sec | 30 |
max_crawl_pages | 25 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |