API Documentation

Parse eob documents programmatically with our simple REST API.

Authentication
All API requests require an API key

Include your API key in the Authorization header:

curl -X POST https://eobextractor.com/api/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@document.pdf"

Get your API key from the Dashboard.

POST /api/extract
Parse a eob document and extract structured data

Request

Content-Type: multipart/form-data

ParameterTypeDescription
fileFilePDF, PNG, JPG, or WebP (max 4.5MB)

Example Request

curl -X POST https://eobextractor.com/api/extract \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@eob-claim.pdf"

Example Response

{
  "success": true,
  "docType": "eob",
  "siteName": "EOB Extractor",
  "data": {
    "payer_name": "Blue Cross Blue Shield",
    "patient_name": "Jane Smith",
    "claim_number": "CLM-2026-123456",
    "date_of_service": "2026-01-15",
    "provider_name": "Sacramento Medical Center",
    "billed_amount": 1250,
    "allowed_amount": 875,
    "paid_amount": 700,
    "patient_responsibility": 175,
    "deductible_applied": 100,
    "copay": 50,
    "coinsurance": 25,
    "denial_codes": [],
    "services": [
      {
        "code": "99213",
        "description": "Office Visit",
        "billed": 250,
        "allowed": 175
      },
      {
        "code": "85025",
        "description": "CBC w/ Differential",
        "billed": 45,
        "allowed": 35
      }
    ]
  },
  "confidence": 0.95,
  "processingTimeMs": 2340
}
POST /api/extract/batch
Parse multiple documents at once

Request

Content-Type: multipart/form-data

ParameterTypeDescription
filesFile[]Multiple files (max 20) or a ZIP archive (max 100 files)

Example Response

{
  "success": true,
  "docType": "eob",
  "totalFiles": 5,
  "successful": 4,
  "failed": 1,
  "results": [
    {
      "filename": "eob-claim.pdf",
      "success": true,
      "data": {
        "...": "..."
      },
      "confidence": 0.95,
      "processingTimeMs": 2100
    },
    {
      "filename": "corrupted.pdf",
      "success": false,
      "error": "Could not parse PDF"
    }
  ],
  "totalProcessingTimeMs": 8500
}

Batch processing runs files in parallel (10 at a time) for faster throughput. ZIP files are automatically extracted.

Response Codes
CodeDescription
200Success - document parsed
400Bad request - invalid file or missing parameters
401Unauthorized - invalid or missing API key
402Payment required - no credits remaining
429Rate limit exceeded - wait and retry
500Server error - extraction failed
Rate Limits
  • Demo (unauthenticated): 5 requests per minute
  • Authenticated users: 60 requests per minute
  • Enterprise: Contact us for higher limits

Rate limit headers are included in responses: X-RateLimit-Remaining and Retry-After

Ready to get started?