Sans KYC — pas de pièce d'identité, pas de selfie, pas de documents. Payez en crypto : BTC, USDT, USDC, ETH, SOL, LTC
Langue: Français
Obtenir une clé API

Cas d'usage · retrieval-augmented generation

Pages web pour le RAG : transformer des sites en Markdown propre et découpable

La recherche opère sur ce que vous mettez dans l'index. Un Markdown propre avec titres, métadonnées et URL source donne de meilleurs chunks, moins de tokens gaspillés et des réponses qui peuvent citer leur page.

Dernière mise à jour: · 6 min de lecture

Réponse rapide

Comment ingérer des pages web dans un pipeline RAG ?

Lisez chaque page en Markdown de son contenu principal, découpez-la selon ses titres, associez l'URL source et le titre à chaque chunk, puis embeddez et stockez. WebReaderAPI s'occupe de la lecture : une requête par page, ou un crawl job pour un site entier jusqu'à 10 000 pages, à un crédit par page dès 0,07 $US/1K pages en octobre 2026. robots.txt est respecté. Sans KYC ; payez en crypto.

Ingestion RAG avec WebReaderAPI

Site entierPOST https://webreaderapi.com/api/v1/crawl : Crawl d'un seul site web par job, jusqu'à 10 000 pages, en suivant son sitemap, son robots.txt et son Crawl-delay
Liste d'URLsPOST https://webreaderapi.com/api/v1/batch : Jusqu'à 100 URLs par job batch
Par pageMarkdown du contenu principal, titre, auteur, date, langue, nombre de mots
PDFLes fichiers PDF jusqu'à 20 MB et 100 pages sont convertis en Markdown, à 1 crédit par bloc de 10 pages entamé
Facturation1 crédit = 1 page lue sans navigateur ; 2 crédits quand la page nécessite un navigateur pour exécuter JavaScript. Une requête qui échoue, ou qu'un robots.txt de site refuse, n'est pas facturée
Prix14,25 $US pour 50 000 pages ; les crédits n'expirent jamais

Pourquoi un Markdown propre donne-t-il de meilleurs résultats de recherche ?

Les chunks composés de boilerplate se retrouvent mal. Quand une page est découpée avec ses menus, son texte de cookies et son pied de page encore présents, beaucoup de chunks contiennent les mêmes mots de navigation, et la recherche vectorielle les renvoie pour des questions sans rapport. L'extraction du contenu principal supprime ce bruit avant l'embedding.

Les titres comptent tout autant. Un chunk qui commence par ## Refund policy porte son sujet avec lui, si bien que l'embedding et le modèle qui le lira ensuite savent de quoi il parle. Le texte brut perd ce signal ; le HTML brut le cache sous le balisage.

À quoi ressemble un pipeline d'ingestion ?

Cinq étapes, quel que soit le vector store que vous utilisez :

  1. Collectez les URL. Crawlez le site, ou envoyez la liste que vous avez déjà en un batch.
  2. Lisez en Markdown. Gardez main_content=true pour les articles et la documentation ; utilisez false pour les pages de listing.
  3. Découpez par titre. Séparez sur #, ## et ###, puis coupez les sections longues à votre limite de taille avec un petit chevauchement.
  4. Ajoutez les métadonnées. Stockez url, title, published_at et le chemin de titres avec chaque chunk, pour que les réponses puissent citer leur source.
  5. Rafraîchissez. Relisez les pages dont le lastmod du sitemap a changé, et supprimez les chunks des pages qui renvoient désormais une erreur.
Python : lire des pages et les découper en chunks avec leur source
import os
import re

import requests

API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
URLS = [
    "https://docs.example.com/getting-started",
    "https://docs.example.com/billing",
]


def chunks_for(url, max_len=2000):
    page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json()
    if "markdown" not in page:
        return []
    out = []
    for section in re.split(r"\n(?=#{1,3} )", page["markdown"]):
        section = section.strip()
        heading = section.splitlines()[0] if section else ""
        for start in range(0, len(section), max_len):
            out.append({
                "text": section[start:start + max_len],
                "url": page.get("final_url", url),
                "title": page.get("title"),
                "heading": heading,
            })
    return out


all_chunks = [c for u in URLS for c in chunks_for(u)]
print(len(all_chunks), "chunks ready to embed")

Combien coûte la construction et le rafraîchissement d'un index ?

La construction coûte un crédit par page, deux pour les pages qui nécessitent un navigateur. Le rafraîchissement ne coûte que les pages que vous relisez. Trois exemples, aux prix d'octobre 2026 :

  • Le centre d'aide d'un produit de 800 pages, rafraîchi chaque mois pour les pages modifiées (environ 10 %) : 800 crédits une fois, puis environ 80 par mois. 10 000 pages (3,75 $US) durent des années.
  • Dix sites de documentation de 2 000 pages chacun, rafraîchis chaque semaine à 5 % : 20 000 crédits, puis environ 4 000 par mois. 50 000 pages (14,25 $US) couvrent la construction et sept mois de rafraîchissements.
  • Une archive de presse de 300 000 articles qui ne changent jamais : 300 000 crédits une fois, ce qui tient dans 500 000 pages (50 $US).

L'embedding et le stockage sont facturés par vos propres fournisseurs et ne sont pas inclus.

Puis-je indexer des sites qui ne veulent pas être indexés ?

Pas via WebReaderAPI. Les pages interdites par robots.txt pour notre crawler, ou pour tous les robots, sont ignorées et non facturées ; les sites qui déclarent Content-Signal: ai-input=no ne sont pas lus pour vous. Pour vos propres sites ou des sites partenaires qui bloquent les robots, demandez au propriétaire d'autoriser WebReaderAPI dans robots.txt ; notre page crawler indique les lignes à ajouter.

Cela compte aussi pour vos utilisateurs. Un assistant RAG qui cite ses sources est plus utile quand ces sources ont accepté d'être lues.

Quel pack convient à un projet RAG ?

Comptez les pages pour construire l'index, ajoutez le rafraîchissement mensuel, et choisissez le pack qui couvre quelques mois. Les crédits n'expirent jamais.

Test

10 000 pages

3,75 $US

0,38 $US/1K pages

  • Testez-le sur vos vraies URL
  • Même API que le pack le plus grand
  • Les crédits n'expirent jamais
Choisir 10 000 pages

Starter

50 000 pages

14,25 $US

0,28 $US/1K pages

  • Un agent IA ou un prototype RAG
  • Crawler un site de documentation
  • Les crédits n'expirent jamais
Choisir 50 000 pages

Build

100 000 pages

21,75 $US

0,22 $US/1K pages

  • Agents en production et pipelines RAG
  • Tâches batch et crawl
  • Les crédits n'expirent jamais
Choisir 100 000 pages

Scale

500 000 pages

50 $US

0,10 $US/1K pages

  • Grandes bases de connaissances
  • Concurrence plus élevée sur demande
  • Les crédits n'expirent jamais
Choisir 500 000 pages

Dans chaque offre: Extraction du contenu principal · Rendu JavaScript si nécessaire · Pages en échec et refusées non facturées · Les crédits n'expirent jamais

Ingestion RAG : questions fréquentes

Quelle taille de chunk dois-je utiliser ?

Découpez d'abord sur les titres, puis coupez les sections plus longues qu'environ 500 à 1 000 tokens avec un petit chevauchement. Les chunks basés sur les titres gardent un seul sujet chacun, ce qui donne généralement de meilleurs résultats de retrieval que des fenêtres de taille fixe sur toute la page.

Est-ce que WebReaderAPI crée des embeddings ou stocke des vecteurs ?

Non. WebReaderAPI lit les pages et renvoie du Markdown avec des métadonnées. Vous faites l'embedding avec le modèle de votre choix et stockez dans votre propre base de données vectorielle ; la page LangChain et LlamaIndex montre les deux.

Comment garder l'index à jour ?

Relisez uniquement les pages qui ont changé. La plupart des sitemaps indiquent une date lastmod par URL ; comparez-la avec votre dernière lecture et envoyez les URL modifiées en un batch. Les pages qui échouent désormais doivent être retirées de l'index.

Puis-je inclure des PDF du même site ?

Oui. Un crawl lit les liens PDF du même domaine avec les mêmes vérifications robots.txt. Les fichiers PDF jusqu'à 20 MB et 100 pages sont convertis en Markdown, à 1 crédit par bloc de 10 pages entamé.

À partir de 0,07 $US/1K pages · sans KYC

Obtenir une clé API