npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@easybits/n8n-nodes-extractor

v1.4.0

Published

n8n-node for using easybits extractor in workflows

Readme

@easybits/n8n-nodes-extractor

npm version License: MIT

n8n community node that sends documents to the Easybits Extractor API for structured data extraction.

Replace complex OCR setups, fragile Regex logic, and heavy cloud consoles (like AWS Textract) with a single node that guarantees strictly typed JSON output.

What it does

Here is the standard flow:

  1. Create a pipeline: Define your extraction schema for free at extractor.easybits.tech.
  2. Pass the file: Use this node in n8n to send your document. It accepts PDF, JPG, or PNG files, either as standard n8n Binary Files or base64 Data URLs.
  3. Get structured data back: The node returns a strictly typed JSON object containing the exact key-value pairs you defined, ready to be used in your downstream n8n nodes.

Installation

Follow the n8n community nodes installation guide.

The package name is: @easybits/n8n-nodes-extractor

What can you build with this node?

This node is designed for high-stakes, production-grade document automation:

Accounting & Order Processing: Automate the extraction of key data points from order and invoice documents for inventory management and accounting.

Digital Document Archiving: Automate the extraction and classification of relevant information for structured storage in public administration Document Management Systems (DMS).

Claims Processing for Insurers: Automate FNOL (First Notice of Loss) capture and extract structured data from messy claims documents.

Medical Reports: Extract critical findings from medical reports and handwritten doctor prescriptions.

Supported file formats

JPEG, PNG, and PDF — other file types will be rejected with a clear error message.

Configuration

Credential

Both Pipeline ID and API Key are configured in the credential dialog. Each Easybits Extractor pipeline has its own API key, so bundling them together prevents accidental mismatches. The credential also includes a built-in connection test.

| Credential Field | Description | | ------------------ | ------------------------------------------------------------------------ | | Pipeline ID | The ID of your extraction pipeline, obtained from Easybits Extractor | | API Key | Your API key from the Easybits Extractor dashboard (stored as a secret) |

Node parameters

| Parameter | Description | | ------------------ | ------------------------------------------------------------------------ | | Input Type | How files are provided: Binary Files (default), Data URLs, or Auto | | Data URL Field | JSON field name containing base64 Data URL(s). Shown when Input Type is Data URLs or Auto. Default: dataUrl |

Input types

  • Binary Files — reads binary attachments from input items (e.g. from Read Binary File, HTTP Request, or email trigger nodes). This is the default and matches the original behavior.
  • Data URLs — reads pre-encoded base64 Data URLs from a JSON field on each item. Useful when you already have Data URLs from a previous API response or a Set node.
  • Auto — collects both binary attachments and Data URLs from the same items. Handy when mixing sources.

How it works

  1. Collects files from all input items (as binary attachments, Data URLs, or both — depending on Input Type)
  2. Converts binary files to base64 Data URLs; passes Data URLs through as-is
  3. POSTs them all to https://extractor.easybits.tech/api/pipelines/{pipelineId} with Bearer auth
  4. Returns the extraction result as a single JSON output item

usage

Extract data from a single file

Use Read Binary File to load a document, then connect it to easybits Extractor.

[Read Binary File] → [easybits Extractor]

Extractor settings:

  • Input Type: Binary Files
  • Credential: select your Easybits Extractor credential (Pipeline ID + API Key)

Extract data from multiple files

Any node that outputs multiple items with binary attachments works — for example, reading files from disk in a loop, or an email trigger that has several attachments.

[Read Binary Files (loop)] → [easybits Extractor]

All binary attachments across all input items are collected and sent in a single API call.

Extract from an HTTP-downloaded file

Use HTTP Request with "Response Format" set to File to download a PDF or image, then pass it directly to the extractor.

[HTTP Request (download file)] → [easybits Extractor]

Pass a base64 Data URL from a previous step

If you already have a base64 Data URL (e.g. from another API response), use the Data URLs input type.

[HTTP Request / Set node] → [easybits Extractor]

Extractor settings:

  • Input Type: Data URLs
  • Data URL Field: dataUrl (or whatever field contains the Data URL in your JSON)

The JSON item should look like:

{
  "dataUrl": "data:image/png;base64,iVBORw0KGgo..."
}

The field can also contain an array of Data URLs:

{
  "dataUrl": [
    "data:image/jpeg;base64,/9j/4AAQ...",
    "data:image/jpeg;base64,JVBERi0..."
  ]
}

Read a Data URL from a nested JSON field

If the Data URL is nested inside the JSON structure, use dot notation in the Data URL Field parameter.

For this JSON:

{
  "response": {
    "attachments": [
      { "url": "data:image/png;base64,iVBORw0KGgo..." }
    ]
  }
}

Set Data URL Field to response.attachments.0.url.

Mix binary files and Data URLs

Use Auto to collect from both sources at once.

[Read Binary File] ──┐
                      ├──→ [Merge] → [easybits Extractor]
[HTTP Request (JSON)] ┘

Extractor settings:

  • Input Type: Auto
  • Data URL Field: the field name for items that carry Data URLs

Binary attachments are converted to Data URLs automatically; JSON Data URLs are passed through as-is. Everything is sent in one API call.

Compatibility

Requires n8n v0.187 or later (community node support).

Resources

License

MIT