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
Cas d'usage · migrations et exports · /crawl
Passer à un générateur de site statique, une plateforme de documentation ou une base de connaissances commence souvent par une question : comment récupérer mes pages en Markdown propre ? Un crawl le fait en une seule tâche, avec titres, dates et URL conservés dans le front matter.
Réponse rapide
Comment convertir tout mon site web en Markdown ?
Crawlez votre site, lisez le contenu principal de chaque page en Markdown, et écrivez un fichier .md par page avec son titre, son URL et sa date dans le front matter. WebReaderAPI crawle jusqu'à 10 000 pages par tâche, suit votre sitemap et votre robots.txt, et facture un crédit par page à partir de 0,07 $US/1K pages aux prix d'octobre 2026. Un script Python ci-dessous écrit les fichiers. Sans KYC ; payez en crypto.
| Endpoint | POST https://webreaderapi.com/api/v1/crawl, résultats de GET https://webreaderapi.com/api/v1/jobs/{job_id} |
|---|---|
| Portée | Crawl d'un seul site web par job, jusqu'à 10 000 pages, en suivant son sitemap, son robots.txt et son Crawl-delay |
| Par page | Markdown du contenu principal, plus titre, description, auteur, date et langue |
| Pages entières | main_content=false conserve la navigation et les pieds de page quand vous en avez besoin |
| Votre robots.txt | Doit autoriser WebReaderAPI pour les pages que vous exportez |
| Prix | 3,75 $US pour 10 000 pages ; les crédits n'expirent jamais |
Chaque fois que le contenu doit quitter le système qui le rend. Cas courants :
Dans chaque cas, vous voulez les mots et la structure, pas le thème autour.
import os
import pathlib
import time
from urllib.parse import urlparse
import requests
API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://www.example.com/"
OUT = pathlib.Path("export")
def target_path(url):
path = urlparse(url).path.strip("/") or "index"
return OUT / (path + ".md")
def front_matter(page):
fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""}
lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""]
return "\n".join(lines)
job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json()
cursor, delay, written = None, 5, 0
while True:
params = {"cursor": cursor} if cursor else {}
batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
for page in batch.get("results", []):
if "markdown" not in page:
continue
dest = target_path(page["final_url"])
dest.parent.mkdir(parents=True, exist_ok=True)
dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8")
written += 1
cursor = batch.get("next_cursor")
if batch["status"] == "done" and not cursor:
break
if not cursor:
time.sleep(delay)
delay = min(delay * 2, 60)
print(written, "files in", OUT)
Reproduisez le chemin de l'URL dans le chemin du fichier, comme le fait le script : /guides/setup/ devient export/guides/setup.md. Gardez l'URL d'origine dans le front matter comme source, pour pouvoir mettre en place des redirections après la migration et vérifier que rien n'a été perdu.
Les liens dans le Markdown pointent toujours vers vos URL actuelles. Après le déménagement, remplacez le domaine ou le préfixe de chemin en une passe, puis testez un échantillon de pages. Les tableaux et les blocs de code restent en Markdown, donc la plupart des générateurs statiques les rendent sans modifications.
Autorisez notre token le temps de l'export. WebReaderAPI ne lit que ce que robots.txt permet pour WebReaderAPI ou pour tous les robots, y compris sur votre propre site. Ajoutez un groupe comme User-agent: WebReaderAPI avec Allow: /, lancez le crawl, puis retirez-le si vous le souhaitez.
Notre page crawler indique les lignes exactes et le User-Agent que les logs de votre serveur afficheront. Les pages qui restent interdites sont ignorées et non facturées.
Un crédit par page, deux pour les pages qui nécessitent un navigateur pour afficher leur texte. Un site de 2 000 pages rendu côté serveur coûte 2 000 crédits une fois ; le même site en application JavaScript peut coûter jusqu'à 4 000. Les deux tiennent dans 10 000 pages pour 3,75 $US, aux prix d'octobre 2026.
Un site de 50 000 pages nécessite plusieurs tâches, découpées par section avec include_paths, et tient dans 100 000 pages (21,75 $US). Les crédits qui restent après l'export restent sur votre compte pour des rafraîchissements ultérieurs.
Comptez vos pages, doublez le nombre si le site nécessite JavaScript pour s'afficher, puis choisissez le pack au-dessus. Les crédits n'expirent jamais.
10 000 pages
3,75 $US
0,38 $US/1K pages
50 000 pages
14,25 $US
0,28 $US/1K pages
100 000 pages
21,75 $US
0,22 $US/1K 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
Oui. Activez main_content=false dans les options de crawl et chaque fichier contient la page complète convertie en Markdown. La plupart des migrations préfèrent le contenu principal uniquement, car le nouveau thème fournit sa propre navigation.
Non. Avec include_images=true, les liens des images restent dans le Markdown avec leur texte alternatif ; téléchargez les fichiers eux-mêmes avec votre propre script si la migration en a besoin.
Uniquement les pages publiques autorisées par son robots.txt, et seulement pour des usages permis par ses conditions et la loi. Pour une migration ou une sauvegarde, exportez vos propres sites ou des sites dont le propriétaire est d'accord.
Jusqu'à 10 000 pages par job de crawl, dans un même domaine. Découpez les sites plus grands par section avec include_paths et lancez plusieurs jobs.
À partir de 0,07 $US/1K pages · sans KYC
Obtenir une clé API