nanonets
Version:
Node.js SDK for the Nanonets API: OCR, document extraction, and workflow automation.
136 lines (104 loc) • 3.14 kB
Markdown
# nanonets
[](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.