Capture d’écran programmée
La surveillance visuelle programmée rouvre automatiquement une page au rythme que vous fixez : chaque jour, chaque semaine, à l’heure choisie. À chaque passage, nos serveurs affichent la page et la comparent à la version précédente ; dès qu’elle change, vous êtes averti. Vous suivez ainsi l’évolution d’une page au fil du temps, sans avoir à y penser.
Une surveillance qui revient toute seule
Le principe est simple : vous indiquez une adresse et une fréquence, puis l’outil s’occupe du reste. À chaque échéance, il ouvre la page et l’affiche, exactement comme une capture manuelle mais sans intervention de votre part, puis la compare au passage précédent. Là où vous oublieriez de repasser chaque lundi, la programmation, elle, n’oublie pas : dès qu’un affichage diffère du précédent, l’événement est daté et signalé.
Suivre une évolution dans le temps
Une seule capture fige un instant ; une surveillance répétée raconte une histoire. En comparant chaque passage au précédent, l’outil repère ce qui bouge : un prix qui change, une mention qui apparaît, une page qui se réorganise. Vous n’avez pas à comparer vous-même : c’est l’écart entre deux passages qui déclenche l’alerte, précieux pour surveiller une offre concurrente ou une page de conditions qui vous engage.
Ce qui déclenche chaque passage
Chaque passage programmé compte comme une exécution : c’est le rythme que vous choisissez qui détermine le nombre de passages, et donc le coût. Une surveillance quotidienne effectue un passage par jour ; une hebdomadaire, un par semaine. Vous pouvez suspendre ou arrêter la programmation à tout moment ; la surveillance s’interrompt alors et aucun nouveau passage n’a lieu tant que vous ne la relancez pas.
Quand la page ne répond pas
Chaque passage dispose du même délai de 30 secondes qu’une capture ponctuelle. Si, lors d’un passage, la page est indisponible ou trop lente, cet état diffère du passage précédent et compte comme un changement signalé, plutôt que d’interrompre la surveillance : c’est en soi une information utile, qui date le moment où le site n’a pas répondu. Les passages suivants reprennent normalement dès que la page est de nouveau accessible.
Cas d’usage
Surveillance quotidienne
Atelier Garnier SARL fait surveiller chaque matin la page d’accueil d’un fournisseur, et reçoit une alerte le jour où une annonce ou une condition change.
Surveillance d’un document
Nadia Benali programme une surveillance hebdomadaire d’une page de conditions générales, afin d’être prévenue dès qu’elle est modifiée.
Veille d’une offre
Julien Lefèvre surveille l’évolution d’une offre concurrente sur plusieurs semaines et reçoit une alerte à chaque changement, sans consulter la page manuellement.
Suivi d’un événement
Une association surveille chaque jour la page de son événement à l’approche de la date, pour être avertie de toute mise à jour affichée.
Questions fréquentes
À quelle fréquence les passages se déclenchent-ils ?
Au rythme que vous fixez : quotidien, hebdomadaire ou à l’heure choisie. Chaque passage compare la page au précédent et vous alerte en cas de changement, et vous pouvez modifier ou arrêter la fréquence quand vous le souhaitez.
Que se passe-t-il si la page est indisponible lors d’un passage ?
L’indisponibilité diffère du passage précédent et compte comme un changement signalé, plutôt que d’arrêter la surveillance. Une page qui ne répond pas est en soi une information datée ; les passages suivants reprennent dès qu’elle redevient accessible.
Combien coûte une surveillance programmée ?
Chaque passage compte comme une requête, au tarif de $0.040 et $0.001 par URL, en dollars US. Le coût total dépend donc de la fréquence que vous choisissez.
Comment suis-je averti d’un changement ?
À chaque passage, l’outil compare la page au passage précédent ; en cas de changement, il envoie une alerte datée, par webhook vers votre système. Un passage sans changement reste silencieux : vous n’êtes prévenu que lorsque la page a bougé.
Les images sont-elles conservées ?
Les affichages servent uniquement à comparer un passage au suivant et ne sont pas archivés comme une galerie ; chaque alerte de changement est la trace datée que la page a bougé. L’arrêt de la programmation met fin à la surveillance.
Faut-il créer un compte ?
Non. La programmation se règle à l’usage, sans inscription ni abonnement ; pour une facture, écrivez à human@forhosting.com.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
One authenticated POST creates the task; the result comes back by webhook or a signed link. This capability is currently available through the API, not as an interactive Web tool.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/web/screenshot-scheduled \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/web/screenshot-scheduled", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/screenshot-scheduled",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/screenshot-scheduled", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/screenshot-scheduled", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"url": "https://example.com"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.screenshot_scheduled",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |