API Page2Doc PRO UNIQUEMENT

Accès programmatique à la conversion de pages web via API REST

⚠️ Abonnement Pro Requis
L'accès à l'API n'est disponible que pour les abonnés Pro. Générez votre clé API à partir de la fenêtre contextuelle de l'extension (section Accès API).

Authentification

Toutes les requêtes API doivent inclure votre clé API dans l'en-tête X-API-Key :

X-API-Key: p2d_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxx
🔐 Bonnes Pratiques de Sécurité
Ne validez jamais les clés API dans le contrôle des versions. Utilisez des variables d'environnement ou des systèmes de gestion des secrets sécurisés.

Points de Terminaison

Convertir une URL en Document

POST
https://page2doc.com/api/v1/convert

Convertissez une page web en format PDF, Word (DOCX) ou Excel (XLSX).

Corps de la Requête (JSON)

Paramètre Type Requis Description
url string Oui URL complète de la page à convertir (doit commencer par http:// ou https://)
format string Oui Format de sortie : pdf, docx ou xlsx
mode string Non Mode d'extraction : full (par défaut), article ou tables
clean boolean Non Supprimer les annonces et les fenêtres contextuelles (par défaut : true)
wait number Non Temps d'attente en millisecondes avant la capture (par défaut : 2000, max : 10000)

Exemple de Requête (cURL)

curl -X POST https://page2doc.com/api/v1/convert \
  -H "Content-Type: application/json" \
  -H "X-API-Key: p2d_api_your_key_here" \
  -d '{
    "url": "https://example.com/article",
    "format": "pdf",
    "mode": "article",
    "clean": true
  }' \
  --output document.pdf

Exemple de Requête (JavaScript/Node.js)

const response = await fetch('https://page2doc.com/api/v1/convert', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'YOUR_API_KEY_HERE'
  },
  body: JSON.stringify({
    url: 'https://example.com/article',
    format: 'docx',
    mode: 'article',
    clean: true
  })
});

const blob = await response.blob();
const buffer = Buffer.from(await blob.arrayBuffer());
fs.writeFileSync('output.docx', buffer);

Exemple de Requête (Python)

import requests
import os

response = requests.post(
    'https://page2doc.com/api/v1/convert',
    headers={
        'Content-Type': 'application/json',
        'X-API-Key': os.environ['PAGE2DOC_API_KEY']
    },
    json={
        'url': 'https://example.com/article',
        'format': 'pdf',
        'mode': 'article',
        'clean': True
    }
)

with open('output.pdf', 'wb') as f:
    f.write(response.content)

Réponse Réussie

Statut : 200 OK
Content-Type : application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document ou application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Le corps de la réponse contient le fichier de document binaire.

Réponses d'Erreur

Statut Erreur Description
401 Non autorisé Clé API invalide ou manquante
403 Interdit L'abonnement Pro a expiré ou la clé API a été révoquée
413 Charge Utile Trop Grande Le contenu de la page dépasse la limite de taille (10 Mo pour Pro)
422 Entité Non Traitable URL invalide ou format non pris en charge
429 Trop de Requêtes Limite de débit dépassée (500 requêtes/jour pour Pro)
500 Erreur Interne du Serveur La conversion a échoué ou erreur du serveur

Vérifier l'État de la Clé API

GET
https://page2doc.com/api/v1/status

Vérifiez votre clé API et consultez les statistiques d'utilisation.

Exemple de Requête

curl https://page2doc.com/api/v1/status \
  -H "X-API-Key: p2d_api_your_key_here"

Réponse Réussie

{
  "valid": true,
  "plan": "pro",
  "usage": {
    "today": 12,
    "month": 347,
    "limit": 500
  },
  "createdAt": "2025-02-15T10:30:00Z"
}

Limites de Débit

Les en-têtes des limites de débit sont inclus dans toutes les réponses :

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1708041600

Bonnes Pratiques

Support

Pour le support API, les augmentations de limite de débit ou les intégrations personnalisées, contactez-nous à api@page2doc.com