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
| Parameter | Type | Description |
|---|---|---|
file | File | PDF, 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
| Parameter | Type | Description |
|---|---|---|
files | File[] | 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
| Code | Description |
|---|---|
200 | Success - document parsed |
400 | Bad request - invalid file or missing parameters |
401 | Unauthorized - invalid or missing API key |
402 | Payment required - no credits remaining |
429 | Rate limit exceeded - wait and retry |
500 | Server 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