Accès programmatique à la conversion de pages web via API REST
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
Convertissez une page web en format PDF, Word (DOCX) ou Excel (XLSX).
| 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) |
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
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);
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)
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.
| 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érifiez votre clé API et consultez les statistiques d'utilisation.
curl https://page2doc.com/api/v1/status \
-H "X-API-Key: p2d_api_your_key_here"
{
"valid": true,
"plan": "pro",
"usage": {
"today": 12,
"month": 347,
"limit": 500
},
"createdAt": "2025-02-15T10:30:00Z"
}
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
mode appropriées (article pour le contenu, tables pour les données)attente raisonnables pour les pages lourdes en JavaScript (3000-5000 ms)/api/v1/statusPour le support API, les augmentations de limite de débit ou les intégrations personnalisées, contactez-nous à api@page2doc.com