Overview
Extract structured data from documents using AI-powered document processing
DocExtract API
The DocExtract API enables you to extract structured data from documents using advanced AI models. Upload invoices, receipts, purchase orders, contracts, and custom documents to automatically extract fields like totals, dates, line items, and more.
Key Features
- AI-Powered Extraction: Uses Google Gemini 3 Pro for accurate data extraction
- Custom Templates: Create extraction templates for any document type
- Multiple Formats: Support for PDF, PNG, JPG, WEBP, and TIFF
- High Accuracy: Field-level confidence scores for extracted data
- RESTful API: Simple HTTP endpoints with JSON responses
- TypeScript SDK: Fully typed SDK for Node.js applications
- Webhooks: Real-time notifications for job status changes
- Credit-Based Pricing: Pay only for what you use, no subscriptions
How It Works
sequenceDiagram
participant Client
participant API
participant Gemini
participant Database
Client->>API: Upload document
API->>Database: Create job (queued)
API-->>Client: Return job ID
API->>Gemini: Extract data
Gemini-->>API: Return extracted fields
API->>Database: Update job (completed)
API->>Client: Webhook notification
Client->>API: Get job results
API-->>Client: Return extracted dataQuick Example
// Submit a document for extraction
const response = await fetch('https://api.adteco.com/v1/documents', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_live_...',
'Content-Type': 'application/json',
},
body: JSON.stringify({
extractor_id: 'ext_...',
document: base64Document,
mime_type: 'application/pdf',
}),
});
const job = await response.json();
console.log(job.id); // job_...
console.log(job.status); // 'queued' or 'completed'
// Get extraction results
const resultsResponse = await fetch(`https://api.adteco.com/v1/documents/${job.id}`, {
headers: {
'Authorization': 'Bearer sk_live_...',
},
});
const results = await resultsResponse.json();
console.log(results.extracted_data);
// {
// invoice_number: "INV-001",
// total_amount: 1250.00,
// invoice_date: "2024-11-23",
// ...
// }Use Cases
Invoice Processing
Extract invoice numbers, amounts, dates, line items, and vendor information from invoices in any format.
Receipt Digitization
Convert paper receipts into structured data for expense tracking and accounting systems.
Contract Analysis
Extract key terms, dates, parties, and clauses from legal contracts and agreements.
Form Data Capture
Process application forms, surveys, and questionnaires automatically.
Purchase Order Processing
Extract PO numbers, items, quantities, and pricing from purchase orders.
Getting Started
- Create an account and get your API key
- Create an extractor defining what fields to extract
- Submit documents for processing
- Retrieve results and integrate with your application
API Endpoints
| Endpoint | Description |
|---|---|
POST /v1/documents | Submit a document for extraction |
GET /v1/documents/:id | Get job status and results |
GET /v1/documents | List all jobs |
POST /v1/extractors | Create an extraction template |
GET /v1/extractors | List all extractors |
GET /v1/extractors/:id | Get extractor details |
GET /v1/credits | Get credit balance |
Authentication
All API requests require an API key. Include your key in the Authorization header:
Authorization: Bearer sk_live_your_api_key_hereGet your API key from the API Settings page.
Rate Limits
- Free Tier: 10 requests per minute
- Paid Plans: 100 requests per minute
- Rate limit headers included in all responses
Support
- Documentation: docs.adteco.com
- Email: support@adteco.com
- Status Page: status.adteco.com