Référence API
Une API REST pour extraire des données structurées de vos documents. Envoyez un fichier, récupérez un JSON structuré.
Authentification
Toutes les requêtes nécessitent un en-tête X-API-Key . Récupérez votre clé depuis Paramètres → API dans votre compte Airparser.
curl https://api.airparser.com/inboxes \
-H "X-API-Key: YOUR_API_KEY"Conservez votre clé API en sécurité — traitez-la comme un mot de passe.
Analyser des documents
Envoyez n'importe quel fichier et récupérez les données entièrement extraites en une seule requête synchrone — sans webhook, sans polling, sans second appel. La réponse contient tous les champs extraits sous forme de JSON structuré, prêt à l'emploi immédiat dans votre workflow.
curl \
-X POST \
https://api.airparser.com/inboxes/<INBOX_ID>/upload-sync \
-F 'file=@./receipt.pdf' \
-H "X-API-Key: <YOUR_API_KEY>"{
"doc_id": "64abc123def456...",
"parsing_in_progress": false,
"status": "parsed",
"name": "invoice.pdf",
"content_type": "application/pdf",
"created_at": "2026-03-10T12:00:00.000Z",
"processed_at": "2026-03-10T12:00:04.321Z",
"json": {
"invoice_number": "INV-001",
"vendor": "Acme Corp",
"total": 1250.00,
"currency": "USD",
"date": "2024-01-15"
}
}Récupérer les données extraites
Récupérez un document par son identifiant pour obtenir son statut d'extraction et ses résultats. Interrogez cet endpoint ou utilisez des webhooks pour savoir quand le traitement est terminé.
/documents/{document_id}curl https://api.airparser.com/documents/doc_abc123 \
-H "X-API-Key: YOUR_API_KEY"{
"doc_id": "64abc123def456...",
"parsing_in_progress": false,
"status": "parsed",
"name": "invoice.pdf",
"content_type": "application/pdf",
"created_at": "2026-03-10T12:00:00.000Z",
"processed_at": "2026-03-10T12:00:04.321Z",
"json": {
"invoice_number": "INV-001",
"vendor": "Acme Corp",
"total": 1250.00,
"date": "2024-01-15"
}
}Définir le schéma d'extraction
Définissez les champs à extraire. Prend en charge les champs scalaires, les listes (pour les lignes de détail), et les énumérations.
/inboxes/{inbox_id}/schema{
"fields": [
{
"type": "scalar",
"data": {
"name": "invoice_number",
"description": "Invoice reference number",
"type": "string",
"default_value": ""
}
},
{
"type": "list",
"data": {
"name": "items",
"description": "List of items in the invoice",
"attributes": [
{
"name": "description",
"description": "Item description",
"type": "string",
"default_value": ""
},
{
"name": "amount",
"description": "Item amount",
"type": "decimal",
"default_value": "0.00"
}
]
}
},
{
"type": "enum",
"data": {
"name": "payment_status",
"description": "Current payment status",
"values": ["paid", "pending", "overdue"]
}
}
]
}Post-traitement
Exécutez du code Python sur les données extraites avant leur envoi vers les intégrations. Ajoutez de la logique métier, fusionnez des champs, formatez des valeurs.
# Merge first and last name into full name
data['fullname'] = data['first_name'] + " " + data['last_name']
# Using f-strings (recommended)
data["fullname"] = f"{data['first_name']} {data['last_name']}"
# Using format() function
data['fullname'] = '{} {}'.format(data['first_name'], data['last_name'])# Only process invoices above certain amount
if float(data.get('total_amount', 0)) > 1000:
data['priority'] = 'high'
else:
data['priority'] = 'normal'
# Add timestamp
import datetime
data['processed_at'] = datetime.datetime.now().isoformat()Explorez des techniques et exemples de post-traitement avancés :
Webhooks
Airparser envoie une requête POST à votre endpoint lorsque l'extraction est terminée. Répondez avec 200 pour accuser réception.
Étapes de configuration
- 1 Copiez l'URL de votre endpoint webhook depuis votre serveur ou un service comme ngrok.
- 2 Allez dans Intégrations → Webhooks dans votre compte Airparser.
- 3 Cliquez sur « Create a webhook » et collez l'URL de votre endpoint.
- 4 Testez le webhook avec un document d'exemple pour vérifier l'intégration.
import json
from flask import Flask, request
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
payload = request.data
data = json.loads(payload)
# Process the parsed data
# data contains all extracted fields
return {'success': True}
if __name__ == '__main__':
app.run(port=4242)Ressources
Vous cherchez un aperçu non technique ? Lisez Qu'est-ce qu'une API d'extraction de documents — couvre le concept, les cas d'usage, et comment fonctionne l'API d'Airparser sans exemples de code.
Collection Postman