Information Extractor in n8n: turn free text into structured data
Published 30 July 2026 · 4 min read
An order email, a support ticket, a résumé, a listing description: the information your workflows need is most often locked inside free text. n8n's Information Extractor node has a single mission: pull structured fields out of it — name, amount, date, reference, product list — ready for the rest of the workflow. It's one of the highest-ROI AI nodes in the catalog, and the research confirms the approach has matured: a large survey by Xu et al. published in 2024 in Frontiers of Computer Science ("Large language models for generative information extraction: a survey", see on Google Scholar) documents the rise of LLMs across every information-extraction subtask — entities, relations, events — where a specialized model per use case used to be required.
The principle: attributes, not a prompt
Where a classic LLM call asks you to write a prompt, specify an output format and parse the response, the Information Extractor flips the logic: you declare the attributes to extract, and the node handles the prompt, the format constraint and the parsing. Connect a Chat Model sub-node (OpenAI or Claude, Mistral, or a local Ollama model for sensitive data), map the source text, and define what you're looking for.
Two ways to define attributes:
- From Attribute Descriptions: the simple mode. Each attribute has a name, a type and a plain-language description. Perfect for flat fields:
customer_name,total_amount,requested_date. - Define using JSON Schema: the precise mode. You provide a full JSON Schema, with nested objects, arrays, enumerations and required fields. Essential as soon as a text contains lists.
{
"type": "object",
"properties": {
"customer": { "type": "string", "description": "Customer full name" },
"urgency": { "type": "string", "enum": ["high", "normal", "low"] },
"products": {
"type": "array",
"items": {
"type": "object",
"properties": {
"reference": { "type": "string" },
"quantity": { "type": "number" }
}
}
}
},
"required": ["customer"]
}
The logic is the same as in our Structured Output Parser guide — except here, the schema is the heart of the node, not an accessory attached to an agent.
Descriptions drive accuracy
As with the Text Classifier, extraction quality is decided in the field descriptions. "amount: the amount" isn't enough; "total_amount: total amount including tax in euros, plain number without symbol, e.g. 1249.90" eliminates most ambiguities (tax included or not? currency symbol? comma or point?). Three practices that change everything:
- Specify the expected format: ISO 8601 dates, amounts as numbers, phone numbers without spaces. You'll spare yourself a normalization node downstream.
- Use enumerations whenever a field has a finite set of values: the model can't invent a variant ("elevated" instead of "high").
- Say what to do with absence: an optional field should stay empty rather than be guessed. That's the best antidote to hallucinations in extraction.
Proven use cases
Orders and requests by email. Extract customer, products, quantities and address from unstructured emails before feeding them into your e-commerce order processing flow or a Google Sheet. Paired with a Gmail or IMAP trigger, it's a data-entry assistant that never stops.
Invoices and PDF documents. The Information Extractor processes the text extracted from the PDF; our dedicated guide to AI invoice data extraction covers the full chain, from text extraction to accounting validation.
Tickets and forms. Extract the product involved, version, severity and expected behavior from a free-form ticket, to feed support ticket scoring or create a properly qualified issue through the Jira integration.
Résumés and applications. Extract skills, experience and contact details for AI résumé screening — keeping a human in the loop for any decision.
Making it production-grade
AI extraction should be treated like any untrusted input. The robust pattern has three stages:
- Extraction by the Information Extractor, fields optional by default.
- Programmatic validation in a Code node or an IF: business invariants (total = sum of line items, plausible date, reference in the right format) are checked by code, not by the AI.
- Routing failures to a human review queue — a Slack channel with human approval via the Wait node — rather than failing silently.
Add an Error Workflow for API outages, and if the flow is high-volume, a budget model is plenty — measure with our method for tracking AI call costs.
That exact extraction → validation → audit-trail architecture is what structures the Compliance & Audit Pack (€149): every extracted value is recorded with its source and validation status, making the pipeline auditable end to end.
In short
The Information Extractor turns "make free text talk" into a schema-design problem: describe your fields precisely, constrain the formats, leave missing values empty, validate the critical parts with code. Well configured, it replaces hours of manual data entry with a continuous stream of clean data — and improves with a simple tweak of the descriptions, no retraining involved.
FAQ
Frequently asked questions
What's the difference between the Information Extractor and the Structured Output Parser?
The Structured Output Parser is a sub-node you attach to an AI Agent or LLM chain to constrain the format of the generated answer. The Information Extractor is a standalone node whose only job is extraction: you give it a text and a list of attributes, it returns JSON. For pure extraction, the Information Extractor is simpler; as soon as extraction is part of broader reasoning (an agent with tools), go through the Agent and its parser.
What happens when a piece of information is missing from the text?
Each attribute can be marked required or optional. A missing optional attribute comes back null or is omitted — which is the behavior you want: an empty field beats an invented value. Only mark 'required' the fields whose absence should fail the item, and handle those failures in a dedicated error branch.
Can I extract multiple occurrences (a list) from a single text?
Yes: define the attribute as an array in the JSON Schema (for example a list of ordered products with quantity and unit price). The 'Define using JSON Schema' mode gives you that level of control, with nested types, enumerations and per-field descriptions.
Is AI extraction reliable enough for accounting or legal work?
Reliable enough to prepare the work, not to replace review entirely. The right architecture: AI extraction, then programmatic validation of invariants (a total must equal the sum of line items, a date must be plausible), then human review of only the items that fail those checks. You automate 90% of the volume and focus humans on the doubtful 10%.
Bundle FlowKit Complet
€269