Extract Form Data From PDF in n8n
Extract Form Data From PDF is a PDF4me node action in n8n that reads the filled values out of a fillable PDF and returns them as a structured formData JSON object. Use it to turn returned application forms, signed intake sheets, or survey PDFs into database rows without anyone retyping the answers.
What this node does
PDF4me: Extract Form Data From PDF takes a completed fillable PDF from Binary Data, a Base64 String, or a URL, reads its interactive form layer, and returns every field as a name and value pair inside a single formData object. Text inputs, checkboxes, radio buttons, and dropdown selections all come back together, ready to map onto a spreadsheet row, a CRM record, or a conditional branch in the workflow.
Authenticating Your API Request
Every PDF4me node in n8n requires a valid Credential to connect with. Create or select one that holds your PDF4me API key so the workflow can authenticate extraction requests securely.
Important Facts You Should Not Miss

PDF4me Extract Form Data From PDF parameters panel in n8n
Form Data Extraction vs Plain Text Extraction
Both approaches pull content out of a PDF, but only one gives you named fields. The distinction decides which node belongs in your workflow.
| Approach | What you get back | Best fit |
|---|---|---|
| Extract Form Data From PDF | Named field and value pairs from the interactive form layer | Genuine fillable PDFs where every answer already sits in a named field |
| Plain text extraction | The visible page content as one flat string, with no field names | Static PDFs with no form layer, where you will parse the text yourself |
| AI document parsing | Model-inferred fields from any layout, including scans | Scanned, flattened, or wildly inconsistent documents with no usable form structure |
What Parameters Does Extract Form Data From PDF Need?
Required: Action, Input Data Type, the field matching that input type, and Document Name. Custom Profiles under Advanced Options is optional.
| Parameter | Required | What it does | Example |
|---|---|---|---|
| Action | Required | Selects the PDF4me node action to run. Choose Extract Form Data From PDF. | Extract Form Data From PDF |
| Input Data Type | Required | Format of the source PDF input. Choose Binary Data (from a previous node), Base64 String, or URL. | Binary Data |
| Input Binary Field | Conditional | Name of the binary property on the incoming n8n item that holds the filled PDF. Required when Input Data Type is Binary Data. Defaults to data. | data |
| Base64 Document Content | Conditional | Base64-encoded content of the filled PDF. Required when Input Data Type is Base64 String. | JVBERi0xLjQK... |
| File URL | Conditional | Publicly reachable HTTPS URL to the filled PDF. Required when Input Data Type is URL. | https://example.com/application_form.pdf |
| Document Name | Required | Filename of the source PDF, used for reference and tracking in the extraction request. Include the .pdf extension. | application_form.pdf |
| Custom Profiles | Optional | Advanced Options field for extra processing settings, supplied in a JSON-like format. Leave blank unless you have a specific profile to apply. | { 'outputDataFormat': 'json' } |
Output Fields
A successful run returns one n8n item carrying the extracted form values as JSON.
| Field | Type | What it contains |
|---|---|---|
formData | Object | Every form field read from the PDF, as a set of field name and field value pairs. |
formData.<fieldName> | String | The name of an individual field exactly as the PDF author defined it, for example name, email, or country. |
formData.<fieldValue> | String, Number, or Boolean | The value entered or selected for that field. Blank fields return an empty string, and checkboxes return their export value. |
A typical response body looks like this:
{
"formData": {
"name": "PDF4me",
"email": "",
"country": "USA"
}
}
How Do I Set Up Extract Form Data From PDF in n8n?
- Add PDF4me to your n8n workflow and choose the Extract Form Data From PDF action.
- In Credential to connect with, select your PDF4me credential or click Create New Credential and paste your API key.
- Set Input Data Type to Binary Data (default), Base64 String, or URL and supply the matching filled PDF field.
- Set Document Name to the source filename, for example
application_form.pdf. - Leave Custom Profiles under Advanced Options blank unless you need a specific processing profile.
- Execute the node, then map values from the returned
formDataobject into the next step of your workflow.
Typical Setups
Workflow ExamplesCommon n8n workflow patterns using Extract Form Data From PDF.
- An email trigger fires when a completed application PDF arrives.
- Extract Form Data From PDF reads the attachment into a formData object.
- A Google Sheets or Excel node appends one row, mapping each field name to a column.
- A cloud storage trigger fires on a newly uploaded intake PDF.
- Extract Form Data From PDF pulls the contact details out of the form layer.
- A CRM node creates or updates the record using the extracted name, email, and company values.
- A webhook receives a signed request form from an external portal.
- Extract Form Data From PDF returns the requested amount and department fields.
- An IF node branches to the right approver based on those values.
- A Loop Over Items node iterates a list of archived form URLs.
- Extract Form Data From PDF runs with Input Data Type set to URL for each file.
- Each formData object is written to a database table keyed by the source document name.
Practical Tips
Cheat Sheet
| Field | Value |
|---|---|
| Action | Extract Form Data From PDF |
| Input Data Type | Binary Data |
| Input Binary Field | data |
| Document Name | document.pdf |
| Custom Profiles | { 'outputDataFormat': 'json' } |
| Credentials | PDF4me API credential |
| Returns | formData object of field name and value pairs |