---
title: "API REST"
description: "Une API HTTP pour 45 routes de conversion de fichiers, 5 routes de capture de pages web et sept endpoints d’intelligence web. Une clé, une URL de base, des liens de téléchargement présignés en retour."
canonical: "https://www.enconvert.com/fr/integrations/rest-api"
locale: "fr"
---

API REST officielle

# Une API HTTP. Toutes les conversions, une seule URL de base.

Quarante-cinq routes de conversion de fichiers pour les formats de données, les documents et les images, cinq routes de capture de pages web et sept endpoints d’intelligence web qui rendent, recherchent, extraient et surveillent des pages en direct. Tout part de api.enconvert.com, et chaque conversion répond avec un lien de téléchargement présigné.

curl -X POST https://api.enconvert.com/v1/convert/url-to-pdf -H "X-API-Key: sk\_..." -d '{"url":"https://example.com"}'

Copier

Authentification

## Deux types de clés, à un en-tête près.

Choisissez la clé adaptée à l’origine de la requête. Les deux se créent et se révoquent depuis le tableau de bord.

### Clés privées pour votre serveur

Envoyez une clé commençant par sk\_ dans l’en-tête X-API-Key. Accès complet à tous les endpoints, y compris synchrone, asynchrone et par lot. Les clés sont stockées sous forme de hachages SHA-256 : le texte en clair n’est affiché qu’une fois, à la création, jamais après.

`X-API-Key: sk_...`

### Clés publiques pour le navigateur

Échangez une clé commençant par pk\_ contre un JWT de courte durée via POST /v1/auth/token, puis envoyez-le en Authorization: Bearer. Les clés publiques ne fonctionnent que depuis les domaines que vous avez autorisés, et POST /v1/auth/refresh renouvelle le token avant son expiration.

`Authorization: Bearer <token>`

Une clé privée utilisée depuis un navigateur est rejetée sans appel. L’API lit l’en-tête Origin et refuse les clés sk\_ provenant d’environnements navigateur, si bien qu’une clé serveur divulguée ne peut pas être rejouée depuis une page.

[

Lire le guide d’authentification

](/docs/authentication.md)

Endpoints

## Quarante-cinq routes de conversion de fichiers, cinq de capture web. Sept de plus pour le web lui-même.

Les endpoints de pages web prennent un corps JSON contenant des URL. Les endpoints de formats de données, de documents et d’images prennent un envoi multipart/form-data. Les endpoints V2 prennent du JSON et partagent les mêmes clés et la même liste blanche de domaines, sur leurs propres compteurs de quota.

1.  01

    ### Pages web

    5 endpoints

    Rendez n’importe quelle URL en PDF, en capture d’écran ou en markdown propre, et regroupez un site entier en un seul document. Le traitement par lot et asynchrone sont tous deux pris en charge.

    `POST /v1/convert/url-to-pdf`

2.  02

    ### Formats de données

    11 endpoints

    JSON vers et depuis XML, YAML, CSV et TOML, CSV vers et depuis XML, et markdown vers HTML. Des données structurées en entrée, des données structurées en sortie.

    `POST /v1/convert/json-to-xml`

3.  03

    ### Documents vers PDF

    13 endpoints

    HTML, markdown, Word, Excel, PowerPoint, la famille OpenDocument, Pages et Numbers, tous rendus en PDF avec la même forme de requête. Deux routes universelles transforment presque n’importe quel fichier en PDF ou en markdown.

    `POST /v1/convert/doc-to-pdf`

4.  04

    ### Conversions d’images

    21 endpoints

    JPEG, PNG, WebP, HEIC et SVG dans n’importe quelle combinaison, plus PDF vers JPEG. Un compresseur sensible à la qualité dispose en plus de sa propre route.

    `POST /v1/convert/heic-to-webp`

5.  05

    ### Intelligence web

    7 endpoints

    perceive, discover, lookup, distill, ingest et watch. Rendez une page, cartographiez un site, résolvez une entité, extrayez des champs structurés, construisez des passages intégrables, et soyez averti quand une page change.

    `POST /v2/perceive`

Les erreurs reviennent en JSON avec un champ detail : 401 pour une clé manquante ou invalide, 402 quand la limite mensuelle est atteinte, 403 pour un domaine ou un endpoint que votre clé ne peut pas utiliser, et 413 pour un fichier au-dessus de la limite de taille de votre plan.

[

Parcourir tous les endpoints

](/docs/endpoints.md)

En pratique

## Une requête et une réponse.

Chaque endpoint suit la même forme. Envoyez une clé, recevez un lien de téléchargement présigné et les métadonnées qui l’accompagnent.

```
$curl -X POST https://api.enconvert.com/v1/convert/url-to-pdf \$  -H "X-API-Key: sk_your_private_key" \$  -H "Content-Type: application/json" \$  -d '{"url": "https://example.com"}'{  "presigned_url": "https://econverter.nyc3.cdn.digitaloceanspaces.com/...",  "object_key": "live/files/12345/url-to-pdf/example_20250202_120530123.pdf",  "filename": "example_20250202_120530123.pdf",  "file_size": 45678,  "conversion_time_seconds": 3.21}
```

Construit là-dessus

## Une API, quatre portes d’entrée.

REST est le socle. Chaque autre surface est un moyen plus léger d’atteindre les mêmes endpoints avec la même clé.

### SDK Node.js

Méthodes typées, téléchargements en streaming, récupération automatique après l’expiration d’un job, et une vraie hiérarchie d’erreurs au lieu de brancher sur des codes de statut. Zéro dépendance au runtime, ESM et CJS.

[

Voir sur npm

](https://www.npmjs.com/package/@enconvert/node-sdk)

### Outil en ligne de commande

Toute l’API en une commande de terminal, pour les shells, les scripts et les jobs CI où un client HTTP demande plus de cérémonie que la tâche ne le mérite.

[

Voir la CLI

](/fr/integrations/cli.md)

### Nœud n8n

Convertissez, scrapez et crawlez dans un workflow sans écrire de requête ni gérer vous-même le polling d’un job.

[

Voir le nœud n8n

](/fr/integrations/n8n.md)

### Serveur MCP

Les mêmes endpoints exposés comme des outils que votre agent peut appeler directement, pour Claude, Cursor et Windsurf.

[

Voir le serveur MCP

](/fr/mcp.md)

## Questions sur l’API

Quelle est l’URL de base de l’API EnConvert ?

https://api.enconvert.com. Chaque endpoint v1 et v2 part de cette unique URL de base, il n’y a donc rien de régional ni de spécifique à un tenant à configurer.

Comment m’authentifier ?

Pour les appels serveur à serveur, envoyez une clé privée commençant par sk\_ dans l’en-tête X-API-Key. Pour les appels depuis le navigateur, échangez une clé publique commençant par pk\_ contre un JWT de courte durée via POST /v1/auth/token et envoyez-le en Authorization: Bearer. Les clés publiques ne fonctionnent que depuis les domaines que vous avez autorisés dans le tableau de bord.

Quelle est la différence entre V1 et V2 ?

V1 regroupe les 45 routes de conversion de fichiers et les 5 routes de capture de pages web : fichiers et pages web en entrée, fichiers convertis en sortie. V2 regroupe sept endpoints d’intelligence web (perceive, convert, discover, lookup, distill, ingest et watch) qui rendent, recherchent, extraient et surveillent des pages en direct. Ils utilisent les mêmes clés et la même liste blanche de domaines, et sont mesurés sur des compteurs séparés.

Est-ce que j’envoie une URL ou un fichier ?

Les deux, selon l’endpoint. Les cinq endpoints de pages web prennent un corps JSON contenant l’URL. Les endpoints de formats de données, de documents et d’images prennent un envoi de fichier en multipart/form-data.

Que se passe-t-il quand j’atteins la limite de mon plan ?

L’API répond 402 avec un champ detail indiquant les quantités utilisées et autorisées. Un lot qui vous ferait dépasser l’allocation restante est rejeté d’emblée plutôt que traité partiellement, si bien que vous n’êtes jamais facturé pour une exécution à moitié terminée.

Existe-t-il un SDK officiel ?

Oui, @enconvert/node-sdk pour Node.js et TypeScript. Il appelle les mêmes endpoints publics avec zéro dépendance au runtime, et livre à la fois des builds ESM et CJS, si bien que les appels SDK et les appels HTTP bruts se mélangent librement dans une même base de code.

## Commencez par une seule requête.

Le guide de démarrage rapide vous accompagne dans votre première conversion en trois étapes, avec des exemples cURL, Python et JavaScript.

[Lire le guide de démarrage rapide](/docs/quickstart.md)[Obtenir une clé API](/fr/dashboard/api-keys)
