Référence de l’API
Parse propose deux façons d’extraire des données des documents : une méthode synchrone à appel unique et une méthode asynchrone en trois étapes.
Tous les endpoints nécessitent un token Bearer dans le header Authorization. Consultez Authentification pour savoir comment créer et utiliser votre clé API.
URL de base : https://api-parse.conversiontools.io
Méthode 1 : Appel unique (synchrone)
Téléversez un fichier et obtenez le résultat de l’extraction en une seule requête. Le serveur traite le document et renvoie le résultat directement. Si le traitement prend plus de temps que le délai d’attente du serveur, vous recevrez une réponse 202 avec un identifiant d’extraction à interroger.
/v1/extract
Headers
| Header | Valeur |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | multipart/form-data |
Paramètres (form-data)
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| file | File | Oui | Le document dont extraire les données (PDF, JPEG, PNG, WebP, TIFF) |
| schema_id | String | Non | ID du schéma pour contrôler quels champs sont extraits |
Exemple
curl -X POST https://api-parse.conversiontools.io/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@invoice.pdf"Réponse (200)
{
"success": true,
"id": "ext_789...",
"filename": "invoice.pdf",
"status": "completed",
"data": {
"vendor_name": "Acme Corp",
"invoice_number": "INV-2024-001",
"date": "2024-01-15",
"total": 1650.00
},
"pages_used": 1
}Réponse (202 - le traitement prend plus de temps)
Si le document met plus de temps à être traité, le serveur renvoie une 202 avec un identifiant d’extraction. Interrogez GET /v1/extractions/:id pour obtenir le résultat.
{
"success": true,
"id": "ext_789...",
"status": "processing"
}Méthode 2 : Téléversement + Extraction (asynchrone)
Un flux en trois étapes : téléversez d’abord le fichier, puis démarrez une extraction, puis interrogez le résultat. Cette méthode vous donne plus de contrôle - vous pouvez réutiliser le même fichier téléversé pour plusieurs extractions avec des schémas différents.
/v1/upload
Téléversez un document et recevez un file_id pour l’extraction.
Paramètres (form-data)
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| file | File | Oui | Le document à téléverser (PDF, JPEG, PNG, WebP, TIFF) |
Exemple
curl -X POST https://api-parse.conversiontools.io/v1/upload \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@invoice.pdf"Réponse
{
"success": true,
"file_id": "abc123...",
"filename": "invoice.pdf",
"size": 52480
}/v1/extract
Démarrez une extraction sur un fichier téléversé à l’aide de son file_id. Vous pouvez éventuellement indiquer un schema_id pour contrôler quels champs sont extraits.
Headers
| Header | Valeur |
|---|---|
| Authorization | Bearer YOUR_API_KEY |
| Content-Type | application/json |
Paramètres (corps JSON)
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| file_id | String | Oui | L’ID du fichier renvoyé par le endpoint de téléversement |
| schema_id | String | Non | ID du schéma pour contrôler quels champs sont extraits |
Exemple
curl -X POST https://api-parse.conversiontools.io/v1/extract \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"file_id": "abc123...", "schema_id": "sch_456..."}'Réponse
{
"success": true,
"id": "ext_789...",
"status": "processing"
}/v1/extractions/:id
Récupérez le résultat d’une extraction. Interrogez ce endpoint jusqu’à ce que status soit completed.
Exemple
curl https://api-parse.conversiontools.io/v1/extractions/ext_789... \
-H "Authorization: Bearer YOUR_API_KEY"Réponse
{
"success": true,
"id": "ext_789...",
"filename": "invoice.pdf",
"status": "completed",
"data": {
"vendor_name": "Acme Corp",
"invoice_number": "INV-2024-001",
"date": "2024-01-15",
"items": [
{
"description": "Consulting Services",
"quantity": 10,
"unit_price": 150.00,
"amount": 1500.00
}
],
"subtotal": 1500.00,
"tax": 150.00,
"total": 1650.00,
"currency": "USD"
},
"pages_used": 1
}Exporter vers CSV / Excel
Convertissez le résultat d’une extraction terminée en feuille de calcul. Les exports sont gratuits, reproductibles et ne consomment pas de pages. Les tableaux imbriqués sont dénormalisés : les champs d’en-tête se répètent sur chaque ligne, de sorte que la sortie est prête pour les tableaux croisés dynamiques et les imports. Astuce : passez output_format (csv ou xlsx) dans la requête d’extraction et l’export démarre automatiquement dès que l’extraction est terminée.
/v1/extractions/:id/export
Démarrez l’export. Idempotent par format : les appels répétés renvoient la conversion en cours ou le statut du fichier terminé.
Exemple
curl -X POST https://api-parse.conversiontools.io/v1/extractions/ext_789.../export \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"format": "xlsx"}'Réponse
{
"success": true,
"status": "processing",
"format": "xlsx",
"progress": 0
}/v1/extractions/:id/export?format=xlsx
Interrogez l’export. Pendant la conversion, la réponse est du JSON avec status: "processing" et un pourcentage progress. Lorsque le fichier est prêt, le corps de la réponse est le fichier lui-même (avec Content-Disposition: attachment).
Exemple
curl -L -o invoice.xlsx \
"https://api-parse.conversiontools.io/v1/extractions/ext_789.../export?format=xlsx" \
-H "Authorization: Bearer YOUR_API_KEY"/v1/extractions/:id
Supprimez une extraction et toutes ses données stockées (le résultat et les éventuels fichiers d’export). Les documents source sont toujours supprimés automatiquement dans les 24 heures suivant le traitement ; les résultats extraits sont conservés jusqu’à ce que vous les supprimiez - via ce endpoint ou depuis le tableau de bord.
Exemple
curl -X DELETE https://api-parse.conversiontools.io/v1/extractions/ext_789... \
-H "Authorization: Bearer YOUR_API_KEY"Réponses d’erreur
401 Unauthorized
{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid or missing API key"
}
}429 Rate Limited
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Monthly page limit exceeded",
"limit": 100,
"used": 100
}
}