Kompletten Screenshot einer Webseite machen
Diese Funktion ruft eine Internetadresse auf und liefert die gesamte Seite als ein einziges PNG-Bild – nicht nur den sichtbaren Ausschnitt, sondern die komplette Länge inklusive allem, was erst beim Scrollen erscheint. Gedacht für lange Landingpages, Blogartikel oder Produktseiten, die sich nicht in einem einzigen Bildschirmfoto festhalten lassen.
Online ausführen
Führen Sie dies mit Ihrem Konto auf unseren Servern aus. Kostenlose Tools laufen in Ihrem Browser; dieses wird zum oben genannten Preis von Ihrem KIT-Guthaben abgebucht.
Der Unterschied zum einfachen Screenshot
Ein gewöhnlicher Screenshot zeigt nur den sichtbaren Ausschnitt einer Seite beim Laden, so wie sie im ersten Moment auf dem Bildschirm erscheint. Diese Funktion scrollt die Seite vollständig durch, lädt nachträglich eingeblendete Bereiche mit und fügt das Ergebnis zu einem einzigen, durchgehenden Bild zusammen. Eine Landingpage mit zehn Bildschirmhöhen wird so zu einer einzigen PNG-Datei, ohne dass Sie mehrere Ausschnitte von Hand zusammensetzen oder in einem Bildbearbeitungsprogramm aneinanderfügen müssen.
Wofür sich das eignet
Vor dem Livegang einer neuen Seite lässt sich der komplette Entwurf so einem Kunden zur Freigabe schicken, ohne dass er selbst durch eine noch nicht öffentliche Vorschau scrollen muss und dabei möglicherweise Bereiche übersieht. Auch für die Archivierung einer Pressemitteilung oder eines Angebots in voller Länge ist das praktisch, etwa bevor eine befristete Kampagnenseite nach Ablauf der Aktion wieder offline geht und der Inhalt sonst unwiederbringlich verloren wäre.
Grenzen der Aufnahme
Bei sehr langen Seiten mit vielen nachladenden Elementen kann die vollständige Aufnahme mehrere Sekunden dauern; nach 30 Sekunden bricht die Anfrage ab, falls die Seite bis dahin nicht fertig geladen und durchgescrollt ist. Animationen oder eingebettete Videos werden im Zustand eines einzelnen Moments festgehalten, nicht als bewegtes Bild – für eine bewegte Aufzeichnung ist diese Funktion nicht gedacht. Bei Seiten mit einem Ladeindikator, der erst nach mehreren Sekunden verschwindet, kann dieser mit auf dem Bild erscheinen, wenn der Ladevorgang zum Zeitpunkt der Aufnahme noch nicht ganz abgeschlossen war.
Preis pro Anfrage
$0.040 pro Anfrage zuzüglich $0.001 pro URL, unabhängig davon, wie lang die Seite tatsächlich ist. Eine kurze Landingpage kostet also genauso viel wie eine lange Reportage-Seite mit zwanzig Bildschirmhöhen, denn abgerechnet wird die Anfrage selbst und nicht die Menge des zurückgegebenen Bildmaterials. Ein Abonnement oder ein Mindestumsatz sind dafür nicht erforderlich, Sie zahlen ausschließlich für tatsächlich ausgeführte Aufnahmen. Wer stattdessen nur den ersten sichtbaren Bereich benötigt, etwa für eine schnelle Vorschau, fährt mit dem einfachen Screenshot günstiger, da dort weniger Ladezeit für das vollständige Durchscrollen anfällt.
Anwendungsfälle
Landingpage vor dem Livegang freigeben
Katrin Baumann schickt der Geschäftsführung den kompletten Entwurf einer neuen Kampagnenseite als ein Bild, statt einen Link zu einer noch nicht öffentlichen Vorschau zu teilen.
Lange Produktseite archivieren
Bäckerei Hoffmann e. K. hält die komplette Aktionsseite zu einem Saisonprodukt fest, bevor sie nach dem Ende der Aktion wieder gelöscht wird.
Pressemitteilung in voller Länge sichern
Ein Handwerksbetrieb sichert eine lange Pressemitteilung über den eigenen Betrieb als ein einziges Bild für die interne Ablage.
Vergleich zweier Angebotsseiten
Lukas Fischer vergleicht die komplette Länge zweier Anbieterseiten nebeneinander, um Aufbau und Argumentation für ein eigenes Angebot zu prüfen.
Häufige Fragen
Wie unterscheidet sich das vom einfachen Screenshot?
Der einfache Screenshot zeigt nur den ersten sichtbaren Bereich, diese Funktion scrollt die Seite komplett durch und liefert sie als ein einziges, durchgehendes Bild.
Werden nachladende Inhalte mit erfasst?
Ja, Bereiche, die erst beim Scrollen laden, werden vor der Aufnahme mitgeladen und erscheinen im fertigen Bild.
Wie lange darf eine Seite sein?
Es gibt kein festes Längenlimit, wohl aber ein Zeitlimit von 30 Sekunden für den gesamten Ladevorgang; bei sehr langen oder trägen Seiten kann das knapp werden.
Was kostet eine Aufnahme?
$0.040 pro Anfrage plus $0.001 pro URL, unabhängig von der Länge der Seite.
Wird ein Video oder eine Animation auf der Seite mit aufgenommen?
Nur der Zustand eines einzelnen Moments, nicht als bewegtes Bild – Video und Animation erscheinen so, wie sie im Augenblick der Aufnahme aussehen.
Benötige ich dafür ein Konto?
Nein. Sie zahlen pro Anfrage, ohne Registrierung und ohne Abonnement.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/web/screenshot-full \
-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/screenshot-full", {
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/screenshot-full",
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/screenshot-full", 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/screenshot-full", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"url": "https://ejemplo.com"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.screenshot_full",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
timeout_sec | 30 |
max_crawl_pages | 25 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
422 | task_failed | Die Aufgabe ist fehlgeschlagen und wird nicht berechnet. |