Pereiti prie pagrindinio turinio

API dokumentacija

Integruokite PDF analizę į savo programas naudodami mūsų REST API

Valdyti API žetonus

Pirmoji analizė

Išbandykite PDF analizę be paskyros. Pridėkite žetoną, kad būtų taikomi jūsų paskyros limitai ir išsaugomi rezultatai.

POST/api/v1/pdf/analyze
Užklausos pavyzdys
curl -X POST https://pdfcheck.online/api/v1/pdf/analyze \
  -H "Accept: application/json" \
  -F "file=@document.pdf"

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Autentifikacija
Neprivaloma
Įkėlimo limitas
50 MB
Bazinis URL
https://pdfcheck.online/api/v1

Autentifikacija

PDF analizei žetonas neprivalomas. Paskyros informacijai, išsaugotoms analizėms ir žetonų valdymui reikalingas Bearer žetonas.

Žetonus laikykite paslaptyje. Naudokite aplinkos kintamąjį, o nenaudojamus žetonus atšaukite paskyroje. Valdyti API žetonus

Užklausos pavyzdys
curl -X POST https://pdfcheck.online/api/v1/pdf/analyze \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $PDFCHECK_API_TOKEN" \
  -F "file=@document.pdf"

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Naudojimas ir limitai

Be paskyros: 10 analizių per dieną iš vieno IP adreso. Free: 100 per dieną. Pro ir AI: dienos limito nėra. Apdorojimo galiniams taškams taip pat taikomas 30 užklausų per minutę limitas. Analizės atsakymuose pateikiamas likusių patikrų skaičius.

PrieigaAnalizės per dienąĮkėlimo limitas
Žetono nereikia1050 MB
Free10050 MB
Pro / AIDienos limito nėra100 MB

Apdorojimo galiniai taškai taip pat priima iki 30 užklausų per minutę. Atsakymas 429 gali reikšti viršytą dienos arba minutės limitą.

POST/pdf/analyze

Įkelkite ir analizuokite PDF failą. Grąžina išsamius iš PDF ištrauktus metaduomenis.

PavadinimasTipasAprašymas
filemultipart/form-dataPrivalomas. PDF failas analizei: be paskyros ir su Free planu – iki 50 MB; su Pro ir AI – iki 100 MB.

Atsakymo pavyzdys; reikšmės priklauso nuo dokumento.

Atsakymo pavyzdys
{
    "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
}

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

API metaduomenų analizė veikia ribotu, lengvuoju režimu. Išsami šriftų, vaizdų ir spalvų analizė praleidžiama; metadata.basic.partial_analysis reikšmė yra true.

Metaduomenys ir programinės įrangos požymiai neįrodo autorystės, autentiškumo ar atitikties standartams.

Įkelto failo duomenys po apdorojimo ištrinami; analizės rezultatai ir metaduomenys gali būti saugomi. Žr. privatumo politiką. Privatumo politika

GET/user

Gaukite informaciją apie autentifikuotą naudotoją, įskaitant dienos naudojimo limitus.

Žetonas privalomas. Atsakymo pavyzdys; reikšmės priklauso nuo dokumento.

Atsakymo pavyzdys
{
    "success": true,
    "data": {
        "name": "Example user",
        "email": "user@example.com",
        "daily_limit": 100,
        "remaining_checks": 99,
        "checks_used_today": 1
    }
}

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

GET/pdf

Visų autentifikuoto naudotojo PDF analizių sąrašas su puslapiavimu.

Žetonas privalomas

Užklausos parametraiNumatytoji reikšmėAprašymas
per_page20Rezultatų skaičius puslapyje (1–100)
page1integer
Atsakymo pavyzdys
{
    "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
    }
}

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

GET/pdf/{token}

Gaukite išsamius analizės rezultatus pagal analizės ID (bendrinimo žetoną).

Žetonas privalomas

Užklausos pavyzdys
curl https://pdfcheck.online/api/v1/pdf/example-analysis-token \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $PDFCHECK_API_TOKEN"

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Galinių taškų žinynas

POST/pdf/extract-text

Ištraukite tekstą iš PDF. Failą siųskite lauke pdf; šiam galiniam taškui taikomas 50 MB įkėlimo limitas, o rezultatas grąžinamas data.pages.

Užklausos pavyzdys
curl -X POST https://pdfcheck.online/api/v1/pdf/extract-text \
  -H "Accept: application/json" \
  -F "pdf=@document.pdf"

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

POST/pdf/to-markdown

Konvertuokite PDF į Markdown. Failą siųskite lauke pdf (50 MB limitas). Atskira kvota: be paskyros ir su Free planu – 10 konvertavimų per dieną; su Pro ir AI – 100. Nuskenuotiems puslapiams gali būti naudojamas išorinis AI OCR. Atsakyme pateikiamas remaining_conversions.

Užklausos pavyzdys
curl -X POST https://pdfcheck.online/api/v1/pdf/to-markdown \
  -H "Accept: application/json" \
  -F "pdf=@document.pdf"

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Žetonų valdymas

Žetonams kurti per API reikia jau turimo žetono. Pirmąjį žetoną sukurkite savo paskyroje. Valdyti API žetonus

Galiniai taškaiAprašymas
GET /tokensVisų autentifikuoto naudotojo API žetonų sąrašas.
POST /tokensSukurkite naują API žetoną. Žetonas rodomas tik vieną kartą atsakyme. name: string (max: 255)
DELETE /tokens/{tokenId}Atšaukite (ištrinkite) API žetoną visam laikui.
Užklausos pavyzdys
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"}'

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Klaidų kodai

HTTP kodasKlaidos kodasAprašymas
401Unauthenticated.Neteisingas arba nepateiktas API žetonas
404not_foundIšteklius nerastas arba prieiga draudžiama
422message / errors
corrupted_pdf
password_protected
analysis_failed
Netinkama užklausa arba PDF apdorojimo klaida, įskaitant nepalaikomą failą, per didelį įkėlimą, pažeistą PDF ar apsaugą slaptažodžiu
429daily_limit_exceeded
message
Viršytas dienos arba minutės limitas; bandykite dar kartą, kai atitinkamas limitas atsinaujins

Kodo pavyzdžiai

Rezultatą skaitykite iš data.metadata.basic.pages. Visi atsakymų fragmentai yra pavyzdžiai.

Node.js 20 arba naujesnė versija; naudojamos integruotos fetch, FormData ir Blob funkcijos.

analyze-pdf.mjs
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);

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

Python (requests)
Python
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'])

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.

PHP (cURL)
PHP
<?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'];

Nukopijuoti nepavyko. Pažymėkite kodą ir nukopijuokite jį rankiniu būdu.