Votre première analyse
Essayez une analyse PDF sans compte. Ajoutez un jeton pour utiliser les limites de votre compte et enregistrer les résultats.
/api/v1/pdf/analyzecurl -X POST https://pdfcheck.online/api/v1/pdf/analyze \
-H "Accept: application/json" \
-F "file=@document.pdf"
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
- Authentification
- Facultatif
- Limite par fichier
- 50 MB
- URL de base
- https://pdfcheck.online/api/v1
Authentification
Le jeton est facultatif pour analyser un PDF. Les informations du compte, les analyses enregistrées et la gestion des jetons nécessitent un jeton Bearer.
Gardez vos jetons secrets. Utilisez une variable d’environnement et révoquez les jetons inutilisés depuis votre compte. Gérer les jetons API
curl -X POST https://pdfcheck.online/api/v1/pdf/analyze \
-H "Accept: application/json" \
-H "Authorization: Bearer $PDFCHECK_API_TOKEN" \
-F "file=@document.pdf"
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
Utilisation et limites
Sans compte : 10 analyses par jour et par adresse IP. Free : 100 par jour. Pro et AI : aucune limite quotidienne. Les points de terminaison de traitement sont également limités à 30 requêtes par minute. Les réponses d’analyse indiquent le nombre de vérifications restantes.
| Accès | Analyses par jour | Limite par fichier |
|---|---|---|
| Aucun jeton requis | 10 | 50 MB |
| Free | 100 | 50 MB |
| Pro / AI | Aucune limite quotidienne | 100 MB |
Les points de terminaison de traitement acceptent également jusqu’à 30 requêtes par minute. Une réponse 429 peut indiquer une limite quotidienne ou par minute.
POST/pdf/analyze
Importe et analyse un fichier PDF. Renvoie les métadonnées détaillées extraites du PDF.
| Nom | Type | Description |
|---|---|---|
file | multipart/form-data | Requis. PDF à analyser : jusqu’à 50 Mo sans compte et avec Free ; 100 Mo avec Pro et AI. |
Exemple de réponse ; les valeurs varient selon le document.
{
"success": true,
"data": {
"id": "example-analysis-token",
"view_key": "example-view-key",
"filename": "document.pdf",
"file_size": 1048576,
"file_size_formatted": "1.00 MB",
"metadata": {
"basic": {
"pages": 10,
"pdf_version": "1.7",
"analysis_mode": "lightweight",
"partial_analysis": true
},
"document": {
"title": "Example document",
"author": "Example author",
"creator": "Microsoft Word",
"producer": "Adobe PDF Library"
}
},
"analyzed_at": "2026-09-29T12:00:00+00:00"
},
"remaining_checks": 9
}
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
L’analyse des métadonnées de l’API utilise un mode léger et limité. L’analyse détaillée des polices, des images et des couleurs est ignorée ; metadata.basic.partial_analysis vaut true.
Les métadonnées et les indicateurs logiciels ne prouvent ni la paternité du contenu, ni son authenticité, ni sa conformité aux normes.
Les données du fichier envoyé sont supprimées après le traitement ; les résultats d’analyse et les métadonnées peuvent être conservés. Consultez la politique de confidentialité. Politique de confidentialité
GET/user
Renvoie les informations sur l'utilisateur authentifié, y compris ses limites d'utilisation quotidiennes.
Jeton requis. Exemple de réponse ; les valeurs varient selon le document.
{
"success": true,
"data": {
"name": "Example user",
"email": "user@example.com",
"daily_limit": 100,
"remaining_checks": 99,
"checks_used_today": 1
}
}
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
GET/pdf
Liste toutes les analyses PDF de l'utilisateur authentifié, avec pagination.
Jeton requis
| Paramètres de requête | Par défaut | Description |
|---|---|---|
per_page | 20 | Nombre de résultats par page (1-100) |
page | 1 | integer |
{
"success": true,
"data": [
{
"id": "example-analysis-token",
"filename": "document.pdf",
"file_size": 1048576,
"file_size_formatted": "1.00 MB",
"analyzed_at": "2026-09-29T12:00:00+00:00"
}
],
"meta": {
"current_page": 1,
"last_page": 1,
"per_page": 20,
"total": 1
}
}
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
GET/pdf/{token}
Renvoie les résultats d'analyse détaillés à partir de l'identifiant d'analyse (jeton de partage).
Jeton requis
curl https://pdfcheck.online/api/v1/pdf/example-analysis-token \
-H "Accept: application/json" \
-H "Authorization: Bearer $PDFCHECK_API_TOKEN"
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
Référence des points de terminaison
POST/pdf/extract-text
Extrayez le texte d’un PDF. Envoyez le fichier dans le champ pdf ; ce point de terminaison limite les fichiers à 50 Mo et renvoie data.pages.
curl -X POST https://pdfcheck.online/api/v1/pdf/extract-text \
-H "Accept: application/json" \
-F "pdf=@document.pdf"
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
POST/pdf/to-markdown
Convertissez un PDF en Markdown. Envoyez le fichier dans le champ pdf (limite de 50 Mo). Quota distinct : 10 conversions par jour sans compte et avec Free ; 100 par jour avec Pro et AI. Les pages numérisées peuvent utiliser un OCR AI externe. La réponse inclut remaining_conversions.
curl -X POST https://pdfcheck.online/api/v1/pdf/to-markdown \
-H "Accept: application/json" \
-F "pdf=@document.pdf"
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
Gestion des jetons
La création de jetons via l’API nécessite un jeton existant. Créez votre premier jeton depuis votre compte. Gérer les jetons API
| Points de terminaison | Description |
|---|---|
GET /tokens | Liste tous les jetons API de l'utilisateur authentifié. |
POST /tokens | Crée un nouveau jeton API. Le jeton n'est affiché qu'une seule fois dans la réponse. name: string (max: 255) |
DELETE /tokens/{tokenId} | Révoque (supprime) définitivement un jeton API. |
curl -X POST https://pdfcheck.online/api/v1/tokens \
-H "Accept: application/json" \
-H "Authorization: Bearer $PDFCHECK_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"My integration"}'
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
Codes d'erreur
| Code HTTP | Code d'erreur | Description |
|---|---|---|
| 401 | Unauthenticated. | Jeton API invalide ou manquant |
| 404 | not_found | Ressource introuvable ou accès refusé |
| 422 | message / errorscorrupted_pdfpassword_protectedanalysis_failed | Requête non valide ou échec du traitement PDF, notamment un fichier non pris en charge, un fichier trop volumineux, un PDF corrompu ou protégé par mot de passe |
| 429 | daily_limit_exceededmessage | Limite quotidienne ou par minute dépassée ; réessayez lorsque la limite concernée est réinitialisée |
Exemples de code
Lisez le résultat dans data.metadata.basic.pages. Tous les extraits de réponse sont illustratifs.
Node.js 20 ou version ultérieure ; utilise les API natives fetch, FormData et Blob.
import { readFile } from 'node:fs/promises';
const form = new FormData();
form.append('file', new Blob([await readFile('document.pdf')], {
type: 'application/pdf'
}), 'document.pdf');
const headers = { Accept: 'application/json' };
if (process.env.PDFCHECK_API_TOKEN) {
headers.Authorization = `Bearer ${process.env.PDFCHECK_API_TOKEN}`;
}
const response = await fetch('https://pdfcheck.online/api/v1/pdf/analyze', {
method: 'POST', headers, body: form
});
const result = await response.json();
if (!response.ok || !result.success) throw new Error(JSON.stringify(result));
console.log(result.data.metadata.basic.pages);
console.log(result.remaining_checks);
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
Python (requests)
import os
import requests
headers = {'Accept': 'application/json'}
if os.getenv('PDFCHECK_API_TOKEN'):
headers['Authorization'] = f"Bearer {os.environ['PDFCHECK_API_TOKEN']}"
with open('document.pdf', 'rb') as pdf:
response = requests.post(
'https://pdfcheck.online/api/v1/pdf/analyze',
headers=headers,
files={'file': ('document.pdf', pdf, 'application/pdf')},
timeout=120,
)
response.raise_for_status()
result = response.json()
print(result['data']['metadata']['basic']['pages'])
print(result['remaining_checks'])
La copie a échoué. Sélectionnez le code et copiez-le manuellement.
PHP (cURL)
<?php
$headers = ['Accept: application/json'];
if ($token = getenv('PDFCHECK_API_TOKEN')) {
$headers[] = 'Authorization: Bearer ' . $token;
}
$curl = curl_init('https://pdfcheck.online/api/v1/pdf/analyze');
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => ['file' => new CURLFile('document.pdf', 'application/pdf')],
]);
$body = curl_exec($curl);
if ($body === false) throw new RuntimeException(curl_error($curl));
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
$result = json_decode($body, true, flags: JSON_THROW_ON_ERROR);
if ($status >= 400 || !($result['success'] ?? false)) {
throw new RuntimeException($body);
}
echo $result['data']['metadata']['basic']['pages'];
La copie a échoué. Sélectionnez le code et copiez-le manuellement.