Official SDK

StructOCR Node.js SDK

Add passport and document OCR to your Node.js backend without manually encoding files or maintaining REST request code.

Install the SDK

Install or upgrade the official structocr package from npm.

BASH EXAMPLE
npm install structocr

Passport OCR quickstart

Store the API key in STRUCTOCR_API_KEY, keep it on the server, and pass a supported local file to the SDK.

Never expose your StructOCR API key in browser or mobile client code.
const StructOCR = require("structocr");

const apiKey = process.env.STRUCTOCR_API_KEY;
if (!apiKey) throw new Error("STRUCTOCR_API_KEY is not configured");

const client = new StructOCR(apiKey);

async function main() {
  const result = await client.scanPassport("./passport.jpg");

  if (result.success) {
    const passport = result.data;
    console.log(passport.passport_number);
    console.log(passport.given_names, passport.surname);
  } else {
    console.error(result.error);
  }
}

main().catch(console.error);

For the complete request and response schema, see the Passport OCR API reference.

The SDK converts paths or in-memory data to Base64 locally and sends JSON with an img string. If you call the REST API directly, send either that JSON or a multipart/form-data upload with one file in file or img; file paths and URLs are not accepted.

Supported OCR methods

Document typeCreditsDemo
Passport
scanPassport()
2Try it
Driver License
scanDriverLicense()
2Try it
Driver License PDF417
scanDriverLicensePdf417()
2Try it
National ID
scanNationalId()
2Try it
VIN
scanVin()
1Try it
License Plate
scanLicensePlate()
1Try it
Vehicle Registration
scanVehicleRegistration()
2Try it
Invoice
scanInvoice()
3Try it
Receipt
scanReceipt()
1Try it
Container
scanContainer()
1Try it
Weighbridge Ticket
scanWeighbridgeTicket()
2Try it
ATM Cassette
scanAtmCassette()
1
HIN
scanHin()
1Try it
Account balance
getAccountBalance()
—

Credits are charged per successful request. Try it opens a demo that needs no account: scan a sample image or your own file in the browser.

Package registries are the source of truth for the latest published version and release notes.

Runtime

A supported Node.js server runtime

Input

Local JPG, PNG, WebP, or PDF path; or Buffer/Uint8Array

Output

Structured result with success, data, and error fields

Authentication and errors

  • Read the API key from a server-side environment variable.
  • Check the returned success value before using data.
  • Handle invalid input, insufficient credits, and temporary service failures in your application.
  • Use the API reference for HTTP status codes and detailed error layouts.

Ready to make your first SDK call?

Create an account, receive 200 free credits, and test up to 100 two-credit document scans.

Get your API key