Le problème
Les workflows n8n utilisant des nœuds HTTP Request pour scraper des sites web cassent constamment. Les sélecteurs CSS changent, la détection de bots bloque le serveur n8n et les nœuds HTML Extract retournent des tableaux vides sans avertissement. La promesse no-code de n8n s'effondre lorsque l'approvisionnement en données nécessite de maintenir des scrapers fragiles. Les équipes passent plus de temps à déboguer l'extraction de données qu'à construire la logique d'automatisation réelle.
La solution Scavio
Remplacez chaque chaîne de scraping dans n8n par un seul nœud HTTP Request appelant l'API de Scavio. Configurez le nœud avec la méthode POST, l'en-tête x-api-key et un corps JSON spécifiant la plateforme et la requête. La réponse est un JSON structuré qui correspond directement au format d'élément de n8n. Pas de nœud HTML Extract, pas de sélecteurs CSS, pas de contournements de détection de bots. Les données fonctionnent simplement.
Avant
Avant la migration, 3 workflows n8n sur 12 cassaient chaque mois à cause d'échecs de scraping. L'équipe passait en moyenne 4 heures/mois à corriger les sélecteurs CSS et à déboguer des tableaux de réponse vides. Deux workflows ont été abandonnés car leurs sites cibles ont ajouté une protection Cloudflare.
Après
Après la migration vers Scavio, zéro échec de workflow lié au scraping en 3 mois. Les 4 heures/mois de débogage ont été éliminées. Les deux workflows abandonnés ont été reconstruits en 30 minutes chacun grâce à l'API de Scavio.
À qui cela s'adresse
Utilisateurs de n8n dont les workflows dépendent du web scraping qui se casse régulièrement. Constructeurs d'automatisation no-code qui ont besoin de sources de données fiables sans maintenance de scrapers.
Avantages clés
- Zéro échec de workflow lié au scraping après migration
- 4 heures/mois de débogage de sélecteurs CSS éliminées
- Un seul nœud HTTP Request remplace les chaînes de scraping multi-nœuds
- Le JSON structuré correspond directement au format d'élément n8n
- Les workflows abandonnés auparavant reconstruits en moins d'une heure
Exemple Python
import requests
API_KEY = "your_scavio_api_key"
def n8n_api_search(query: str, platform: str = "google") -> list[dict]:
"""Mimics what an n8n HTTP Request node would return."""
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=15,
)
res.raise_for_status()
# Return items in n8n-compatible format
return [{"json": {"title": r.get("title", ""), "link": r.get("link", ""), "snippet": r.get("snippet", ""), "position": r.get("position", i+1)}} for i, r in enumerate(res.json().get("organic", [])[:10])]
items = n8n_api_search("best crm software 2026")
for item in items:
print(f" {item["json"]["position"]}. {item["json"]["title"]}")Exemple JavaScript
const API_KEY = "your_scavio_api_key";
async function n8nSearch(query, platform = "google") {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform, query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
return (data.organic ?? []).slice(0, 10).map((r, i) => ({ json: { title: r.title ?? "", link: r.link ?? "", snippet: r.snippet ?? "", position: r.position ?? i + 1 } }));
}
const items = await n8nSearch("best crm software 2026");
items.forEach((item) => console.log(` ${item.json.position}. ${item.json.title}`));Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA
Amazon
Recherche de produits avec prix, notes et avis
Communauté, publications et commentaires imbriqués de n'importe quel subreddit