Zapier+DiffHook

Scraping web Zapier — scrapez un site, routez dans un Zap

DiffHook s'occupe du scraping et du diff. Votre Zap reçoit un webhook signé avec le texte extrait et le fragment HTML brut à chaque changement de la page — sans étape Code, sans add-on de scraping tiers.

Les équipes scrapent d'ordinaire dans Zapier avec Schedule by Zapier + Webhooks GET + Code by Zapier + des acrobaties de Formatter. Cette stack est fragile : Zapier tronque les corps de réponse au-delà de 6 Mo, le regex dans une étape Code vieillit mal, et chaque polling consomme une tâche. DiffHook déplace le fetch, le rendu et le diff hors de Zapier — le Zap ne reçoit que les vrais changements et des champs déjà extraits.

Workflow

Scrapez dans Zapier en 5 étapes

Déclencheur Catch Hook standard. Pas d'étape Code, pas d'app premium, pas de surprise de taille de réponse.

01

Démarrer un Zap avec un Catch Hook

Choisissez Webhooks by Zapier → Catch Hook. Zapier vous remet une URL unique — elle devient la destination de livraison dans DiffHook.

02

Décrire le scrape dans un moniteur DiffHook

Passez type à html_css, fournissez l'URL et le sélecteur CSS qui isole l'élément qui vous intéresse. Ajoutez include_html: true quand le Zap doit recevoir aussi le markup brut en plus du texte extrait.

03

Enregistrer le moniteur avec le Catch Hook

POST sur /v1/monitors avec la config de scrape, un intervalle et l'URL Zapier en livraison webhook. DiffHook prend immédiatement en charge le polling, le cache et la détection du diff.

04

Vérifier et filtrer dans Zapier

Ajoutez une étape Filter qui compare le header X-DiffHook-Signature à votre secret de signature. Optionnellement, filtrez sur extracted_text ou url pour qu'un seul Zap couvre plusieurs moniteurs.

05

Mapper les champs dans les actions aval

Zapier auto-parse le corps JSON, donc extracted_text, previous_value, current_value et url sont disponibles comme champs nommés. Insérez-les dans un message Slack, une ligne Google Sheets ou un enregistrement Airtable.

Exemple d'API

Scraper dans un Zap, un POST

include_html: true envoie le fragment HTML brut en plus du texte extrait — utile quand le Zap doit parser une liste d'items.

POST /v1/monitors
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json

{
  "type": "html_css",
  "url": "https://directory.example.com/listings",
  "css_selector": "article.listing",
  "include_html": true,
  "interval_seconds": 900,
  "deliveries": [
    {
      "type": "webhook",
      "url": "https://hooks.zapier.com/hooks/catch/000000/scrape123/"
    }
  ]
}

Workflow importable

Copier un Zap prêt à l'emploi

Zap template avec Catch Hook, Filter de vérification de signature, étape Formatter qui nettoie le texte et destination Slack. Importez, collez vos clés, publiez.

FAQ

Scraping web Zapier — questions fréquentes

Ai-je besoin de Code by Zapier pour traiter la charge utile scrapée ?
Non. DiffHook envoie un corps JSON plat avec extracted_text et, si vous l'avez activé, current_html. Zapier auto-parse le JSON, donc chaque champ est disponible comme variable nommée dans les étapes aval. Gardez une étape Filter pour la vérification de signature et c'est bon — l'étape Code premium est optionnelle.
DiffHook peut-il scraper des pages rendues en JavaScript pour mon Zap ?
Oui. Passez type à html_rendered et render.engine à playwright ou puppeteer. DiffHook exécute le navigateur, attend que la page finisse de charger, puis applique votre sélecteur CSS sur le DOM rendu. Le Zap ne voit que le diff post-rendu — le coût du rendu vit dans DiffHook, pas dans votre plan Zap.
Et la pagination et le scroll infini ?
Vous avez deux patterns propres. Pattern A — un moniteur par page paginée (p=1, p=2, p=3), chacun tirant vers le même Catch Hook. Pattern B — activez scroll_to_bottom sur un moniteur rendu pour que Playwright charge toute la liste avant le snapshot. Les deux gardent le corps du Zap petit et prévisible.
Comment éviter les runs Zap dupliqués quand le diff est minime ?
Resserrez le sélecteur CSS pour que DiffHook ne surveille que le bloc significatif (fiche tarif, ligne produit, entrée changelog) plutôt que toute la page. Pour des sources bruitées, ajoutez une étape Filter dans le Zap qui n'avance que lorsque la longueur du diff dépasse un seuil.
Y a-t-il une limite à la taille de la charge scrapée ?
DiffHook plafonne le payload HTML à 256 Ko par livraison, ce qui couvre la grande majorité des cas scrape-vers-Zap. Pour des pages plus grosses, gardez le sélecteur CSS serré — vous avez rarement besoin du document entier, juste de la section qui bouge.

Workflows associés

Aussi parfait avec DiffHook

Scrapez dans Zapier sans toucher à Code by Zapier

Scraper managé, texte extrait + HTML brut, Catch Hooks signés HMAC, offre gratuite. Un POST pour démarrer.