API d’extraction de texte d’une page web
Envoyez une URL, recevez l’article : titre, auteur, texte propre et sections situées. Une seule requête, la réponse contient déjà le contenu.
curl https://api.techtuel.com/v1/extract \
-H "Authorization: Bearer txl_votre_cle" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/article" }'{
"id": "job_4a1e…",
"sourceType": "webpage",
"url": "https://example.com/article",
"title": "Titre de l'article",
"siteName": "Example",
"text": "Chapeau de l'article…",
"charCount": 6820,
"segments": [
{ "text": "Chapeau de l'article…", "charOffset": 0, "charLength": 21 },
{ "text": "Premier paragraphe…", "sectionTitle": "Contexte",
"charOffset": 22, "charLength": 19 }
],
"cached": false,
"creditsCharged": 1
}Récupérer le texte d’une page est simple jusqu’au moment où il faut le faire à l’échelle. Le HTML brut mélange l’article avec la navigation, les encarts, les bandeaux de consentement et le pied de page ; un sélecteur CSS écrit à la main tient jusqu’à la prochaine refonte du site.
POST /v1/extract prend l’URL et rend le contenu rédactionnel, débarrassé de tout ce qui n’est pas l’article. Vous récupérez le texte à plat pour l’envoyer à un modèle, et les mêmes passages découpés en sections avec leur position dans ce texte — de quoi citer un extrait sans avoir à le redécouper vous-même.
L’appel est synchrone : une requête, une réponse, pas d’id de job ni de boucle de polling. Une page déjà extraite est servie depuis le cache et ne coûte rien.
Pourquoi cette API
Des sections, pas un bloc
Chaque passage porte son titre de section et sa position (charOffset, charLength) dans le texte. Découper par offsets reproduit exactement le segment — ce qu’une troncature à N caractères, qui coupe au milieu d’un mot, ne permet pas.
Rien n’est tronqué
Le texte complet est renvoyé, quelle que soit sa longueur. Le découpage en fragments dépend de votre modèle et de votre fenêtre de contexte : c’est votre décision, pas la nôtre.
Une page extraite une fois sert tout le monde
Le cache est global : une URL déjà lue par un autre compte revient sans nouvelle requête au site, et sans coût. Vous payez l’extraction, pas la relecture.
Des échecs qui disent quoi faire
422 quand la page n’a pas de texte lisible — paywall, application JavaScript, page sans article : inutile de réessayer. 503 quand le site nous limite : réessayez plus tard. Deux situations, deux réactions, deux codes distincts.
Tarifs lisibles
Questions fréquentes
Quelle différence avec POST /v1/transcribe ?+
La nature de ce que vous voulez tirer de l’URL. /v1/transcribe cherche un média et vous rend sa bande son en texte. /v1/extract lit la page et vous rend son article. Une même adresse peut relever des deux — une page d’épisode porte un audio ET un descriptif — donc c’est votre appel qui tranche, pas une devinette de notre côté.
Que se passe-t-il sur une page protégée par un paywall ?+
Vous recevez un 422 : la page a été atteinte et analysée, mais elle ne contient pas de texte exploitable. C’est un statut terminal — réessayer ne changera rien. Nous ne contournons aucune protection d’accès.
Les pages rendues en JavaScript fonctionnent-elles ?+
Non. L’extraction lit le HTML servi par le site, sans exécuter de JavaScript. Une application monopage dont le contenu n’apparaît qu’après exécution renvoie un 422.
À quoi servent charOffset et charLength ?+
À localiser un passage dans le champ text. text.slice(charOffset, charOffset + charLength) reproduit le segment à l’identique. C’est ce qui permet de citer une source précise dans une réponse générée, plutôt que de renvoyer vers la page entière.
L’extraction apparaît-elle dans l’historique ?+
Oui. Elle est enregistrée sous l’id renvoyé et se relit via GET /v1/transcriptions/{id}, comme une transcription. Les formats de sous-titres (SRT, VTT) ne s’appliquent pas : une page n’a pas de ligne de temps.
Puis-je extraire une page nécessitant une authentification ?+
Non. Seules les pages publiquement accessibles le sont. Aucun cookie ni en-tête d’authentification n’est transmis au site cible.
Autres façons d'intégrer l'API
Essai gratuit, sans carte bancaire
Générez une clé API et transcrivez votre première source en moins d'une minute. Quota mensuel gratuit pour tester en conditions réelles.
Commencer avec l'API