Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

nanonets

ashish2136MIT2.0.1

Node.js SDK for the Nanonets API: OCR, document extraction, and workflow automation.

ocr, document-processing, nanonets, sdk, api-client, invoice, table-extraction

readme

nanonets

npm version

Node.js SDK for the Nanonets API


Nanonets is an AI-powered Intelligent Document Processing platform that helps you:

  • Extract structured data from invoices, receipts, forms, and more documents
  • Supports PDF, images (jpg, png, tiff), Excel files, scanned documents, and photos
  • Automate data entry and document workflows
  • Convert unstructured documents into machine-readable formats
  • Integrate advanced OCR and table extraction into your apps

Keywords: OCR, document extraction, invoice processing, receipt OCR, table extraction, data capture, workflow automation, AI document processing, unstructured to structured data, Node.js SDK, Nanonets API


Get your API Key

Sign up and get your API key from your Nanonets dashboard.


Installation

npm install nanonets

Authentication

Set your API key as an environment variable:

export NANONETS_API_KEY='your_api_key'

Or pass it directly when initializing the client:

const NanonetsClient = require('nanonets');
const client = new NanonetsClient('your_api_key');

Quick Start

const NanonetsClient = require('nanonets');
const client = new NanonetsClient('your_api_key');

(async () => {
  // 1. Create a workflow
  const workflow = await client.workflows.create({
    description: 'SDK Example Workflow',
    workflow_type: '' // Instant learning
  });
  const workflowID = workflow.workflow_id || workflow.id;

  // 2. Configure fields and table headers
  const fields = [
    { name: 'invoice_number' },
    { name: 'total_amount' },
    { name: 'invoice_date' }
  ];
  const table_headers = [
    { name: 'item_description' },
    { name: 'quantity' },
    { name: 'unit_price' },
    { name: 'total' }
  ];
  await client.workflows.setFields(workflowID, { fields, table_headers });

  // 3. Upload a document to process
  const uploadResult = await client.documents.upload(workflowID, {
    file: '/path/to/document.pdf',
    async: false,
    metadata: { test: 'true' }
  });
  console.log('Upload result:', uploadResult);
})();

Features

  • Workflow Management
  • Fields and Tables Configuration
  • Document Processing
  • Document Moderation

Available Methods

Workflow Management

  • create
  • get
  • list
  • setFields
  • updateField
  • deleteField
  • updateMetadata
  • updateSettings

Document Processing

  • upload
  • get
  • list
  • delete
  • getFields
  • getTables

Document Moderation

  • updateField
  • addField
  • deleteField
  • addTable
  • deleteTable
  • updateTableCell
  • addTableCell
  • deleteTableCell
  • verifyField
  • verifyTableCell
  • verifyTable
  • verifyDocument

Complete Documentation

For full documentation and advanced usage, visit:
https://apidocs.nanonets.com/docs/sdk/node-sdk/

License

MIT

Endpoints

All endpoints from the Go SDK are supported. See nanonetsdk.js for the full list of methods.