JSPM

docdigitizer

0.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5
  • Score
    100M100P100Q43001F
  • License MIT

Official Node.js/TypeScript SDK for the DocDigitizer document processing API

Package Exports

  • docdigitizer

Readme

DocDigitizer Node.js/TypeScript SDK

Official Node.js/TypeScript SDK for the DocDigitizer document processing API.

v0.1.x is deprecated. Upgrade to v0.2.0+ for the new API endpoint. The previous endpoint (https://apix.docdigitizer.com/sync) will be removed in a future release.

Installation

npm install docdigitizer

Quick Start

import { DocDigitizer } from 'docdigitizer';

const dd = new DocDigitizer({ apiKey: 'your-api-key' });

// Process a PDF
const result = await dd.process('/path/to/invoice.pdf');
console.log(result.state);                              // "COMPLETED"
console.log(result.output?.extractions[0].documentType); // "Invoice"
console.log(result.output?.extractions[0].extraction);   // { DocumentNumber: "INV-001", ... }

// Health check
const status = await dd.healthCheck();
console.log(status); // "I am alive"

Configuration

// Option 1: Pass API key directly
const dd = new DocDigitizer('your-api-key');

// Option 2: Pass options object
const dd = new DocDigitizer({
  apiKey: 'your-api-key',
  baseUrl: 'https://api.docdigitizer.com/v3/docingester', // default
  timeout: 300_000,  // 5 minutes (default)
  maxRetries: 3,     // default
});

// Option 3: Environment variables
// DOCDIGITIZER_API_KEY=your-api-key
// DOCDIGITIZER_BASE_URL=https://api.docdigitizer.com/v3/docingester (optional)
// DOCDIGITIZER_TIMEOUT=300000 (optional)
const dd = new DocDigitizer();

Processing Documents

// From file path
const result = await dd.process('/path/to/document.pdf');

// From Buffer
const buffer = await fs.readFile('document.pdf');
const result = await dd.process({ fileContent: buffer, fileName: 'document.pdf' });

// With options
const result = await dd.process({
  filePath: '/path/to/document.pdf',
  pipelineIdentifier: 'MainPipelineWithOCR',
  requestToken: 'my-trace-token',
});

Error Handling

import { DocDigitizer, AuthenticationError, ValidationError } from 'docdigitizer';

try {
  const result = await dd.process('invoice.pdf');
} catch (error) {
  if (error instanceof AuthenticationError) {
    console.error('Invalid API key');
  } else if (error instanceof ValidationError) {
    console.error('Invalid request:', error.messages);
  }
}

Error Types

Error HTTP Status Description
ValidationError 400 Invalid request
AuthenticationError 401 Invalid/missing API key
RateLimitError 429 Rate limit exceeded
ServerError 500 Internal server error
ServiceUnavailableError 503 Downstream service unavailable
TimeoutError 504 Processing timeout

Retryable errors (429, 500, 503, 504) are automatically retried with exponential backoff.

Requirements

  • Node.js 18+ (uses built-in fetch)
  • Zero runtime dependencies