Page DeltasPage Deltas

Guide

Comment transformer n'importe quel site web en API de changements

La plupart des pages qui vous intéressent ne proposeront jamais d'API. Tarifs des concurrents, PDF des CGU de fournisseurs, répertoires réglementaires, changelogs de partenaires : les données sont là, dans le HTML, mais il n'y a aucun endpoint à appeler. Trois options réalistes s'offrent à vous : coder un scraper maison et assumer chaque rupture ; payer une API de scraping pour extraire toute la page à la demande ; ou transformer la page en un flux de changements (change feed), c'est-à-dire une surveillance qui l'observe pour vous et pousse du JSON uniquement lorsqu'une modification importante se produit. Cet article détaille cette troisième voie de bout en bout avec Page Deltas.

Offre gratuite · 10 URL ou sitemaps surveillés · contrôles illimités (au mieux) · filtrage et résumés par IA · API REST, MCP et webhooks signés sur chaque offre · sans carte bancaire

3 nouvelles pages détectées dans le sitemap.xml
POST https://hooks.your-app.com/page-deltas200
{
  "event": "sitemap.new_urls",
  "monitor": "https://www.hubspot.com/sitemap.xml",
  "detected_at": "2026-06-15T19:30:00Z",
  "new_urls": [
    "https://www.hubspot.com/case-studies/workleap",
    "https://www.hubspot.com/products/artificial-intelligence/use-cases/sales-meeting-prep-and-follow-up",
    "https://www.hubspot.com/email-signature-generator/create-rules-gmail"
  ]
}

Scraper maison vs API de scraping vs flux de changements

Règle pragmatique : si vous avez besoin de milliers de pages pour constituer un jeu de données, utilisez une API de scraping. Si vous devez savoir quand une page publique a bougé conformément à un brief précis, un flux de changements demande beaucoup moins de code et de maintenance.

Scraper maison (DIY)

Ce que vous obtenez : du HTML brut que vous devez analyser vous-même. Idéal pour un contrôle total sur des sites atypiques. L'effort est élevé (sélecteurs, proxies, rendu JavaScript, nouvelles tentatives). Dès que le site change de design, votre analyseur casse silencieusement. La fraîcheur dépend de l'exécution de vos crons. Coût type : votre infrastructure plus votre temps de développement.

API de scraping

Ce que vous obtenez : une extraction structurée à chaque requête. Idéal pour l'extraction massive de nombreuses pages. L'effort est faible à modéré. Le prestataire absorbe la majeure partie des ruptures techniques. La fraîcheur dépend du moment où vous l'appelez. Coût type : crédits facturés par requête.

Flux de changements (ce guide)

Ce que vous obtenez : un événement JSON dès qu'une modification significative se produit, enrichi d'un résumé par IA. Idéal pour « avertir mon système quand cette page change ». L'effort est minime : une création de surveillance, puis un webhook ou un appel d'interrogation (poll). L'extraction de contenu associée au brief évalué par LLM détermine ce qui compte. Contrôles adaptatifs ; envoi push vers votre endpoint en cas de correspondance. Facturation par URL surveillée sur votre forfait (les vérifications ne sont pas plafonnées sur Page Deltas).

Ce que vous allez construire

URL de base : https://api.pagedeltas.com. Tous les endpoints se trouvent sous /api. Les réponses réussies sont au format JSON.

Compte et clé API

Créez une organisation Page Deltas gratuite et générez une clé API.

Surveillance avec un brief

Créez une surveillance sur une URL publique avec un brief en langage naturel (le filtre).

Interrogation (poll) ou webhook

Interrogez GET /api/monitors/{id}/changes ou associez un canal de webhook générique pour que chaque correspondance envoie un POST JSON signé à votre application.

MCP optionnel

Connectez la même clé API à Claude, Cursor ou VS Code via MCP.

Configuration : transformer une page en flux de changements

Cinq étapes depuis la clé API jusqu'au webhook signé. Privilégiez le webhook lorsque vous voulez du push plutôt que du pull.

01

Créer un compte et une clé API

Inscrivez-vous sur pagedeltas.com/register. Aucune carte bancaire requise. Offre gratuite : 10 URL ou sitemaps surveillés, contrôles illimités (fréquence au mieux), filtrage et résumés par IA, collaborateurs illimités, Slack / Discord / Teams / e-mail / webhooks signés, 14 jours d'historique, API REST et MCP. Dans l'application : Paramètres → Clés API (éditeur ou administrateur). Créez une clé et copiez-la immédiatement ; elle n'est affichée qu'une seule fois. export PAGEDELTAS_TOKEN="pdt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx". Les clés sont liées à l'organisation et disposent d'un niveau d'accès administrateur au sein de celle-ci. Elles ne sont pas rattachées à un collaborateur précis, donc retirer un membre ne révoque pas la clé. Supprimez la clé pour couper l'accès. Traitez-la comme un mot de passe : variable d'environnement ou gestionnaire de secrets, jamais dans un fichier de configuration commité.

02

Créer une surveillance (cURL)

POST https://api.pagedeltas.com/api/monitors avec l'en-tête Authorization: Bearer $PAGEDELTAS_TOKEN et le corps JSON : url, nl_description (le brief), le champ optionnel filter_prompt et channel_ids: []. Exemple de brief : « Page des tarifs d'un concurrent. Alerte quand le prix d'un forfait change, qu'un forfait est ajouté ou supprimé, ou que les quotas et limites évoluent. Ignore les bandeaux de cookies, les variantes d'A/B test et les témoignages en rotation. » Il n'y a pas de champ de fréquence. La cadence est adaptative (les pages actives plus souvent, les pages calmes moins fréquemment ; les forfaits payants bénéficient d'un traitement prioritaire). Utilisez POST /api/monitors/{id}/check-now pour forcer une vérification immédiate (limité à 1/minute/surveillance). nl_description est le brief utilisé par le LLM pour décider si une modification compte. Des briefs vagues recréent une tempesta de diffs visuels dans votre webhook. Champs optionnels : filter_prompt, css_selector, xpath_selector, is_pdf et channel_ids (canaux spécifiques à la surveillance ; omettez pour utiliser les paramètres par défaut de l'organisation). Web public uniquement. Les pages derrière un écran de connexion ne sont pas encore prises en charge. Les surveillances de sitemaps constituent une ressource distincte (/api/sitemap-monitors) lorsque l'objectif est « une toute nouvelle URL est-elle apparue ? » plutôt que « cette page a-t-elle été réécrite ? ».

03

Interroger le flux de changements (polling)

GET https://api.pagedeltas.com/api/monitors/{id}/changes?limit=50 avec le jeton Bearer. Les modifications les plus récentes apparaissent en premier (50 par défaut, maximum 100). Il n'y a pas de curseur. Suivez la dernière valeur de detected_at que vous avez déjà traitée. Chaque modification inclut id, detected_at et summary : une description rédigée en langage clair par l'IA expliquant ce qui correspond au brief, et non un diff HTML brut. Vous pouvez envoyer directement ce summary dans Slack, un ticket de support ou vers un autre agent.

04

Création et interrogation équivalentes en Python

Utilisez requests avec l'en-tête Authorization Bearer et Content-Type application/json. Effectuez un POST sur /api/monitors avec url, nl_description et channel_ids: []. Récupérez monitor["id"] dans la réponse. Ensuite, appelez GET /api/monitors/{monitor_id}/changes avec limit=50 et affichez le detected_at et le summary de chaque changement. Exécutez ce script selon un calendrier planifié si vous devez obligatoirement interroger en pull. Privilégiez un webhook lorsque vous préférez une réception push instantanée.

05

Passer le polling, recevoir du JSON en push (webhooks signés HMAC)

Dans l'application : Canaux → Ajouter un canal → Webhook générique. Collez l'URL de votre récepteur HTTPS. Copiez le secret du canal lorsqu'il s'affiche (une seule fois). Cliquez sur Envoyer un test. Vous pouvez également créer le canal via l'API (POST /api/alert-channels), puis l'associer avec PUT /api/monitors/{id}/alert-channels, ou laisser channel_ids vide pour que la surveillance utilise les canaux par défaut de l'organisation. Chaque modification correspondante envoie une requête POST JSON à votre URL avec Content-Type application/json et l'en-tête X-Signature: sha256=<hex>. Les champs comprennent event (change.detected), monitor_id, monitor_url, monitor_name, change_id, detected_at, summary, before_screenshot_url, after_screenshot_url et dashboard_url. Vérifiez X-Signature en calculant le HMAC-SHA256 du corps brut de la requête avec le secret de votre canal (format sha256=<hex>). Calculez le hash sur les octets exacts avant tout parsing JSON, sinon la vérification échouera. De nouveaux champs peuvent être ajoutés avec le temps : ignorez les clés inconnues. Précisions de remise : une seule tentative par canal et par alerte actuellement (pas de réessais automatiques), répondez donc rapidement et tolérez d'éventuels doublons de manière défensive. Une réponse non-2xx ou une erreur réseau marque la remise comme échouée ; la surveillance elle-même n'est pas mise en pause pour autant. Chaque tentative est consignée côté serveur. Pour des humains plutôt que du code, utilisez les canaux Slack, Discord, Teams ou e-mail de la même façon. Le tutoriel pour Slack est disponible dans Comment recevoir des alertes de changements web dans Slack.

Optionnel : piloter les surveillances depuis Claude, Cursor ou VS Code (MCP)

Même clé API. Endpoint MCP HTTP diffusable : https://api.pagedeltas.com/mcp. Les agents bénéficient d'outils tels que create_monitor, list_monitor_changes, create_alert_channel et des assistants de sitemap. Les sessions par cookies ne sont pas acceptées sur le MCP. Privilégiez un canal webhook pour les systèmes événementiels qui ne doivent pas fonctionner par polling.

Fichier mcp.json dans Cursor

Dans ~/.cursor/mcp.json, définissez mcpServers.pagedeltas.url sur https://api.pagedeltas.com/mcp et headers.Authorization sur Bearer pdt_xxxxxxxx. Redémarrez Cursor pour que les outils apparaissent.

Extraits complets pour clients

Les configurations pour Claude Code, VS Code et Claude Desktop via mcp-remote sont détaillées dans la documentation MCP.

Documentation MCP

Votre brief est votre langage de requête

Avec une API REST classique, vous filtrez avec des paramètres de requête. Avec un flux de changements, le filtre est le brief en langage naturel associé à la surveillance. Page Deltas extrait la page, la compare au contrôle précédent et demande à un LLM si le delta correspond à votre brief. Les alertes validées arrivent avec un résumé rédigé et des captures d'écran avant/après. Rédigez le brief exactement comme vous le feriez pour briefer un collègue.

Tarifs

Le prix d'un forfait change ou un nouveau niveau d'abonnement apparaît.

Appels d'offres / RFP

Un nouvel appel d'offres est publié dans notre périmètre d'activité NAICS.

Documentation d'API

La documentation de l'API ajoute, supprime ou déprécie un endpoint.

Recrutement

Un poste d'ingénierie senior est publié ; ignore les postes non techniques.

Guide général de surveillance

Même philosophie que notre guide général de surveillance et notre guide des filtres et descriptions.

Comment surveiller les changements d'un site web

Guide des filtres

Exemples efficaces et pièges à éviter lors de la rédaction du brief.

Filtres et descriptions

Les quotas qui comptent vraiment (et ceux qui ne comptent pas)

Sur Page Deltas, la limite qui structure vos forfaits est le nombre d'URL (ou de sitemaps) que vous suivez, et non un quota mensuel de vérifications. Les endpoints d'API en lecture/écriture ne comportent actuellement aucune grille tarifaire par clé en dehors d'un usage raisonnable. L'exception concerne check-now : 1 requête / minute / surveillance (code 429 + en-tête Retry-After si la limite est atteinte). Atteindre la limite d'URL de votre forfait renvoie un code 422 avec current et limit. Les outils classiques facturés à la vérification vous contraignent à faire des calculs (« une vérification horaire sur une page ≈ 720 contrôles/mois »). Ici, vous choisissez les pages et rédigez le brief. La cadence s'adapte automatiquement.

Gratuit

10 URL surveillées · 14 jours d'historique · contrôles illimités (au mieux), IA, API, MCP, les cinq canaux d'alerte · 0 $

Starter

150 URL surveillées · 30 jours d'historique · 29 $/mois · vérifications prioritaires

Pro

1 000 URL surveillées · 90 jours d'historique · 79 $/mois

Business

5 000 URL surveillées · 365 jours d'historique · 199 $/mois

Scale

20 000 URL surveillées · 730 jours d'historique · 499 $/mois

Enterprise

Volume d'URL et historique sur mesure · SSO / SCIM

En quoi cette solution diffère d'une API de changements façon Visualping

Les présentations pour développeurs de Visualping s'appuient sur des intervalles fixes, un ciblage CSS/XPath facultatif, un quota mensuel de vérifications et un ensemble volumineux de champs de webhook axés sur les diffs et des indicateurs d'importance. Cela fonctionne quand le besoin est « déclenche quand les pixels bougent, et laisse mon code décider ». Page Deltas est conçu pour « ne réveiller mon système que si le changement correspond à ce brief ». Cet article est le guide d'intégration technique ; la comparaison produit détaillée offre par offre est accessible sur Page Deltas vs Visualping.

Le brief en langage naturel avant tout

Le filtre principal est le brief. Les sélecteurs sont optionnels, jamais imposés.

Cadence adaptative

Pas besoin de définir manuellement une chaîne d'intervalle. Les pages actives sont contrôlées plus fréquemment, les pages calmes moins souvent.

Charge utile de webhook épurée

Centrée sur le résumé (summary), les URL de captures d'écran et la signature HMAC X-Signature.

Contrôles illimités ; facturation au nombre d'URL

Chaque offre inclut des contrôles illimités. Vous ne payez que pour le volume d'URL que vous suivez.

MCP avec les mêmes clés d'API

Le protocole MCP utilise exactement les mêmes clés API que la surface REST.

Comparaison complète des offres

Comparatif offre par offre entre Page Deltas et Visualping.

Page Deltas vs Visualping

Limites transparentes du service

Comprenez précisément ce qu'est ce flux de changements — et ce qu'il n'est pas — avant de brancher des clients en production.

Pages publiques uniquement

Sites marketing, PDF ouverts, portails carrières publics, sitemaps accessibles. Les portails protégés par mot de passe sont sur notre feuille de route, pas disponibles aujourd'hui.

Pas un outil de régression visuelle ou de défiguration

Si la tâche consiste à savoir si « ce pixel s'est déplacé de 20px », un produit de diff visuel reste le plus approprié.

Pas de suivi de l'activité sur LinkedIn ou X

Page Deltas surveille le web ouvert. L'activité individuelle sur LinkedIn ou X relève de MultiFollow. Les mentions de mots-clés sur LinkedIn, X, Reddit et ailleurs relèvent de KWatch.

Remise de webhook à tentative unique aujourd'hui

Concevez des récepteurs idempotents.

N'inventez pas de noms de champs dans la réponse

Copiez les structures depuis la référence d'API en ligne et ignorez les clés JSON inconnues.

Référence d'API

Guides et documentations associés

Configuration détaillée pour les équipes dans Slack, le guide de démarrage sans code et les formats réels de l'API.

Alertes de changements dans Slack

Connectez la même surveillance à un webhook entrant Slack pour des humains plutôt que du code.

Comment recevoir des alertes de changements web dans Slack

Démarrage rapide

Le parcours sans code : collez une URL, écrivez le brief, choisissez un canal, envoyez un test.

Démarrage rapide

Référence d'API

Formats réels des requêtes et réponses. Copiez les champs d'ici et ignorez les clés JSON inconnues.

Référence d'API

Documentation MCP

Extraits de configuration client pour Claude Code, Cursor, VS Code et Claude Desktop.

Documentation MCP

Foire aux questions

Comment récupérer des données sur un site web qui ne possède pas d'API ?
Trois options : coder un scraper, faire appel à une API de scraping pour de l'extraction de masse, ou orienter une API de surveillance de changements vers la page pour en consommer le flux JSON. Pour « notifier mon système quand cette page change », le flux de changements est généralement la solution nécessitant le moins de code : créez une surveillance, puis recevez le webhook ou interrogez.
Puis-je faire cela sans écrire de code ?
Oui. Créez la surveillance dans le tableau de bord, ajoutez un webhook générique (ou Slack / Teams / Discord / e-mail) dans Canaux, écrivez le brief et cliquez sur Envoyer un test. Le guide de démarrage rapide détaille ce parcours sans code.
Quelle est la différence entre une API de scraping et une API de surveillance de changements ?
Une API de scraping extrait l'intégralité du contenu de la page à chaque appel. Une API de surveillance de changements surveille la page en continu et ne transmet que les modifications, avec un résumé IA déjà calculé. Les problèmes d'extraction de données demandent des scrapers ; la question « y a-t-il eu un changement correspondant à mon brief ? » demande un flux de changements.
L'accès à l'API ou aux webhooks entraîne-t-il un surcoût ?
Non. L'API REST, le MCP et les webhooks signés sont inclus dans chaque forfait, y compris l'offre gratuite. L'usage est limité par votre quota d'URL surveillées, sans compteur de crédits d'API séparé.
Des agents IA peuvent-ils créer des surveillances pour moi ?
Oui. Connectez un client MCP à https://api.pagedeltas.com/mcp avec une clé API Bearer. Consultez la documentation MCP.

Auteur

Julien, Chef de produit chez Page Deltas. Choisissez une URL publique que vous rafraîchissez déjà à la main. Créez un compte gratuit, générez une clé API, créez la surveillance avec un brief d'une phrase, associez un webhook générique, vérifiez la signature HMAC une fois et attendez la première correspondance réelle. Ajustez la liste d'exclusions après la première alerte un peu bruyante. C'est généralement tout ce que demande l'intégration d'une API de changements.

Commencez par une première page transformée en flux de changements

Offre gratuite, sans carte bancaire. Créez un compte, générez une clé API, collez l'URL que vous surveillez déjà manuellement, ajoutez un brief tiré du guide des filtres, et choisissez d'interroger /changes ou de recevoir du JSON signé sur votre propre endpoint.

Comment transformer n'importe quel site web en API de changements · Page Deltas · Page Deltas