UNPKG

nanonets

Version:

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

136 lines (104 loc) 3.14 kB
# nanonets [![npm version](https://img.shields.io/npm/v/nanonets.svg?logo=npm&logoColor=white)](https://www.npmjs.com/package/nanonets) > **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](https://app.nanonets.com/#/keys). --- ## Installation ```bash npm install nanonets ``` ## Authentication Set your API key as an environment variable: ```bash export NANONETS_API_KEY='your_api_key' ``` Or pass it directly when initializing the client: ```js const NanonetsClient = require('nanonets'); const client = new NanonetsClient('your_api_key'); ``` ## Quick Start ```js 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/](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.