
changeTracking à votre tableau formats pour détecter si une page est nouvelle, inchangée ou modifiée et, si vous le souhaitez, obtenir un diff structuré de ce qui a changé.
- Fonctionne avec
/scrape,/crawlet/batch/scrape - Deux modes de diff :
git-diffpour les changements au niveau des lignes,jsonpour la comparaison au niveau des champs - Limité à votre équipe, et éventuellement limité à un tag que vous fournissez
Comment ça fonctionne
changeTracking activé stocke un instantané et le compare à l’instantané précédent pour cette URL. Les instantanés sont stockés de manière persistante et n’expirent pas, ce qui garantit que les comparaisons restent précises, quel que soit le temps écoulé entre les scrapes.
La réponse inclut ces champs dans l’objet
changeTracking :
Utilisation de base
markdown et suiviDesModifications dans le tableau formats. Le format markdown est obligatoire, car la fonctionnalité de suivi des modifications compare les pages à partir de leur contenu Markdown.
Réponse
changeStatus est "new" et previousScrapeAt est null :
changeStatus indique si le contenu a été modifié :
Mode git-diff
git-diff retourne les modifications ligne par ligne dans un format similaire à celui de git diff. Indiquez un objet dans le tableau formats avec modes: ["git-diff"] :
Réponse
diff contient à la fois un diff en texte brut et une représentation JSON structurée :
diff.json contient :
files: tableau des fichiers modifiés (généralement un seul par page web)chunks: sections de modifications au sein d’un fichierchanges: modifications de lignes individuelles avec untype("add","del"ou"normal"), un numéro de ligne (ln) et uncontent
mode JSON
json extrait des champs spécifiques à partir de la version actuelle et de la version précédente de la page à l’aide d’un schéma que vous définissez. C’est utile pour suivre les changements dans des données structurées comme les prix, les niveaux de stock ou les métadonnées, sans analyser un diff complet.
Passez modes: ["json"] avec un schema définissant les champs à extraire :
Réponse
previous et current :
prompt facultatif pour guider l’extraction par le LLM en complément du schéma.
Le mode JSON utilise l’extraction par LLM et coûte 5 crédits par page. Le suivi des modifications de base et le mode
git-diff n’entraînent aucun coût supplémentaire.Crawl avec suivi des modifications
changeTracking dans scrapeOptions :
Scrape par lot avec suivi des modifications
Planification du suivi des modifications
Tâche cron
check-pricing.sh
crontab -e :
Planificateurs cloud et serverless
- AWS : règle EventBridge qui déclenche une fonction Lambda
- GCP : Cloud Scheduler qui déclenche une Cloud Function
- Vercel / Netlify : fonctions serverless déclenchées par des tâches cron
- GitHub Actions : workflows planifiés avec les déclencheurs
scheduleetcron
Automatisation des workflows
Webhooks
crawl et batch scrape, utilisez des webhooks pour recevoir les résultats de suivi des modifications dès qu’ils sont disponibles, au lieu d’effectuer du polling.
crawl.page inclut l’objet changeTracking pour chaque page :
Référence de configuration
changeTracking :
Modèles de données
Détails importants
- Conservation des snapshots : Les snapshots sont stockés de manière persistante et n’expirent jamais. Un scrape effectué des mois après le précédent sera toujours correctement comparé au snapshot antérieur.
- Portée : Les comparaisons sont limitées à votre équipe. Votre premier scrape de n’importe quelle URL renvoie
"new", même si d’autres utilisateurs l’ont déjà scrappée. - Correspondance d’URL : Les scrapes précédents sont associés à l’URL source exacte, à l’ID d’équipe, au format
markdownet autag. Gardez les URL cohérentes entre les scrapes. - Cohérence des paramètres : Utiliser des paramètres
includeTags,excludeTagsouonlyMainContentdifférents entre les scrapes de la même URL produit des comparaisons peu fiables. - Algorithme de comparaison : L’algorithme est résistant aux variations d’espacement et aux changements dans l’ordre du contenu. Les URL sources d’iframe sont ignorées pour gérer la variation aléatoire introduite par les systèmes captcha/antibot.
- Mise en cache : Les requêtes avec
changeTrackingcontournent le cache d’index. Le paramètremaxAgeest ignoré. - Gestion des erreurs : Surveillez le champ
warningdans les réponses et gérez le cas où l’objetchangeTrackingpourrait être absent (cela peut se produire si la recherche en base de données pour le scrape précédent dépasse le délai imparti).
Facturation
Êtes-vous un agent IA ayant besoin d’une clé API Firecrawl ? Consultez firecrawl.dev/agent-onboarding/SKILL.md pour obtenir des instructions d’onboarding automatisé.

