メインコンテンツへスキップ

APIドキュメント

REST APIでPDF分析をアプリケーションに統合

クイックスタート

1

アカウントを作成

無料のPDFCheckアカウントに登録して開始します。

2

APIトークンを生成

APIトークンにアクセスして新しいトークンを作成します。

3

最初のリクエストを送信

トークンを使用してAPIリクエストを認証します。

認証

すべてのAPIリクエストには、AuthorizationヘッダーにBearerトークンによる認証が必要です。

Authorization: Bearer YOUR_API_TOKEN

ベースURL

https://pdf.businesspress.io/api/v1

レート制限

無料アカウントは1日あたり50回のPDF分析に制限されています。残りのチェック回数は各APIレスポンスに含まれます。

エンドポイント

GET /user

認証済みユーザーの情報(1日の使用制限を含む)を取得します。

レスポンス例

{
  "success": true,
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "daily_limit": 50,
    "remaining_checks": 47,
    "checks_used_today": 3
  }
}
POST /pdf/analyze

PDFファイルをアップロードして分析します。PDFから抽出された詳細なメタデータを返します。

リクエストボディ

名前 必須 説明
file file 必須 分析するPDFファイル(最大100MB)

リクエスト例

curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@document.pdf"

レスポンス例

{
  "success": true,
  "data": {
    "id": "abc123xyz789",
    "filename": "document.pdf",
    "file_size": 1048576,
    "file_size_formatted": "1.00 MB",
    "metadata": {
      "title": "My Document",
      "author": "John Doe",
      "creator": "Microsoft Word",
      "producer": "Adobe PDF Library",
      "page_count": 10,
      "pdf_version": "1.7",
      "dates": {
        "created": "2025-01-15T10:30:00Z",
        "modified": "2025-01-16T14:22:00Z",
        "was_modified": true
      }
    },
    "analyzed_at": "2025-01-17T18:00:00Z"
  },
  "remaining_checks": 46
}
GET /pdf

認証済みユーザーの全PDF分析結果をページネーション付きで一覧表示します。

クエリパラメータ

名前 デフォルト 説明
per_page integer 20 ページあたりの結果数(1〜100)

レスポンス例

{
  "success": true,
  "data": [
    {
      "id": "abc123xyz789",
      "filename": "document.pdf",
      "file_size": 1048576,
      "file_size_formatted": "1.00 MB",
      "analyzed_at": "2025-01-17T18:00:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 1
  }
}
GET /pdf/{id}

分析ID(共有トークン)による詳細な分析結果を取得します。

リクエスト例

curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

トークン管理

GET /tokens

認証済みユーザーの全APIトークンを一覧表示します。

POST /tokens

新しいAPIトークンを作成します。トークンはレスポンスで一度だけ表示されます。

リクエストボディ

名前 必須 説明
name string 必須 トークンの説明的な名前
DELETE /tokens/{id}

APIトークンを永久に取り消し(削除)します。

エラーコード

HTTPコード エラーコード 説明
401 unauthenticated 無効または欠落したAPIトークン
404 not_found リソースが見つからないか、アクセスが拒否されました
422 analysis_failed PDFを処理できませんでした(無効または破損したファイル)
429 daily_limit_exceeded 1日の制限を超えました。明日再度お試しください

コード例

cURL

# Analyze a PDF
curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@/path/to/document.pdf"

# Get analysis result
curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# List all analyses
curl https://pdf.businesspress.io/api/v1/pdf \
  -H "Authorization: Bearer YOUR_API_TOKEN"

PHP

<?php
$apiToken = 'YOUR_API_TOKEN';
$filePath = '/path/to/document.pdf';

// Analyze PDF
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://pdf.businesspress.io/api/v1/pdf/analyze',
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiToken,
    ],
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile($filePath, 'application/pdf'),
    ],
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Analysis ID: " . $result['data']['id'] . "\n";
    echo "Pages: " . $result['data']['metadata']['page_count'] . "\n";
    echo "Remaining checks: " . $result['remaining_checks'] . "\n";
}

curl_close($ch);

Python

import requests

API_TOKEN = 'YOUR_API_TOKEN'
BASE_URL = 'https://pdf.businesspress.io/api/v1'

headers = {
    'Authorization': f'Bearer {API_TOKEN}'
}

# Analyze PDF
with open('/path/to/document.pdf', 'rb') as f:
    response = requests.post(
        f'{BASE_URL}/pdf/analyze',
        headers=headers,
        files={'file': ('document.pdf', f, 'application/pdf')}
    )

result = response.json()

if result['success']:
    print(f"Analysis ID: {result['data']['id']}")
    print(f"Pages: {result['data']['metadata']['page_count']}")
    print(f"Remaining checks: {result['remaining_checks']}")

# Get analysis by ID
response = requests.get(
    f"{BASE_URL}/pdf/{result['data']['id']}",
    headers=headers
)
print(response.json())

JavaScript (Node.js)

const fs = require('fs');
const FormData = require('form-data');

const API_TOKEN = 'YOUR_API_TOKEN';
const BASE_URL = 'https://pdf.businesspress.io/api/v1';

async function analyzePdf(filePath) {
    const form = new FormData();
    form.append('file', fs.createReadStream(filePath));

    const response = await fetch(`${BASE_URL}/pdf/analyze`, {
        method: 'POST',
        headers: {
            'Authorization': `Bearer ${API_TOKEN}`,
        },
        body: form
    });

    const result = await response.json();
    
    if (result.success) {
        console.log(`Analysis ID: ${result.data.id}`);
        console.log(`Pages: ${result.data.metadata.page_count}`);
        console.log(`Remaining checks: ${result.remaining_checks}`);
    }
    
    return result;
}

// Usage
analyzePdf('/path/to/document.pdf');

始める準備はできましたか?

無料アカウントを作成し、最初のAPIトークンを生成して統合を開始しましょう。