Pre-requisite
Signup Throdata
Introduction
Recruiters and HR tech developers spend countless hours manually parsing resumes, structuring data, and entering candidate details into CRMs or ATS systems. What if we could automate all of that — turning unstructured resume files into clean, machine-readable data with a single workflow?
Let’s see how to build an AI-powered Resume Parser using n8n, Thordata’s Universal API, and OpenAI’s GPT-4.1-mini.
What this workflow does
This n8n workflow automatically:
- Accepts resume set as an URL within the Edit Fields n8n node.
- Sends them to Thordata’s Universal API for the web scraping and extraction of content in a seamless manner.
-
Feeds the clean text into OpenAI GPT-4.1-mini to extract structured fields such as:
- Full name
- Contact details
- Education
- Work experience
- Skills
- Certifications
- Achievements
Outputs a structured JSON resume object ready for storage or analysis
In short, it turns unstructured resumes into structured data — instantly and at scale.
Who this is for
This workflow is ideal for:
- Recruiters & HR automation teams who want faster resume screening
- ATS/CRM developers looking to enrich candidate profiles automatically
- AI engineers building intelligent hiring platforms
- Talent analytics teams seeking structured data for predictive hiring models
Why it matters
Traditional resume parsing relies on keyword matching or complex regex logic — which breaks easily when formats vary. By combining Thordata’s Universal API with OpenAI’s LLM understanding, we unlock:
- Robust text extraction across formats
- Smarter semantic understanding (e.g., “5 years at Google” = Work Experience)
- Customizable JSON outputs for your data pipelines
Setup Guide
- Get your API keys
- Create a Thordata account and get a Universal API key
- Get your OpenAI API key
- Import the workflow
- In n8n, click Import > JSON, and load the workflow file
- Configure credentials
- Add your Thordata Universal API key under HTTP Bearer credentials
- Add your OpenAI API key under “OpenAI Account”
How It Works (Step-by-Step)
- Edit Fields(Set) – The resume URL needs to be set.
- Thordata Universal API Node – Extracts readable text from any format.
- OpenAI GPT-4.1-mini Node – Converts extracted text into structured resume data.
- JSON Parser Node – Formats the model’s response into a standard JSON schema.
- Output Node – Persists JSON resume on disk and also writes parsed resumes into a Google Sheet.
How to Customize
You can easily adapt this workflow:
- Change AI Model: Swap GPT-4.1-mini with Gemini-1.5-Pro or Claude.
- Modify Output Schema: Adjust the JSON fields to match your ATS schema.
- Add Notifications: Send a Slack or Email alert when parsing is done.
- Store in DB: Replace the Write node with a MySQL/Postgres connector.
JSON Schema
{
"basics": {
"name": "Your first and last name",
"label": "",
"picture": "",
"email": "Your email address",
"phone": "A phone number, with any formatting you like. E.g. (555) 555-5555.",
"degree": "",
"website": "Your website URL",
"summary": "A one-sentence to one-paragraph overview text. Do not include any line-breaks.",
"location": {
"address": "Your street address or mailing address",
"postalCode": "Your postal code (ZIP in the U.S.)",
"city": "Your city",
"countryCode": "Your country (e.g. USA)",
"region": "Your region (state in the U.S.)"
},
"profiles": [
{
"network": "A social media or other profile that you would like to include (e.g. LinkedIn, Twitter)",
"username": "Your username on this network",
"url": "A URL to your user profile page"
}
]
},
"work": [
{
"company": "Your employer name",
"position": "Your job title",
"website": "The URL for the employer's website",
"startDate": "Your start date, in YYYY-MM-DD format",
"endDate": "Your end date, in YYY-MM-DD format (leave blank for a current position)",
"summary": "A one-sentence to one-paragraph summary of this employer or position",
"highlights": [
"Bullet-point list items that you would like to include along with (or instead of) a summary paragraph."
]
}
],
"volunteer": [
{
"organization": "Your volunteer organization name",
"position": "Your job title",
"website": "The URL for the employer's website",
"startDate": "Your start date, in YYYY-MM-DD format",
"endDate": "Your end date, in YYY-MM-DD format (leave blank for a current position)",
"summary": "A one-sentence to one-paragraph summary of this employer or position",
"highlights": [
"Bullet-point list items that you would like to include along with (or instead of) a summary paragraph."
]
}
],
"education": [
{
"institution": "Your school name",
"area": "Your area of study or degree earned",
"studyType": "",
"startDate": "Your start date, in YYYY-MM-DD format",
"endDate": "Your completion date, in YYYY-MM-DD format",
"gpa": "",
"courses": [
""
]
}
],
"awards": [
{
"title": "Your award title",
"date": "Your date, in YYYY-MM-DD format you received the award",
"awarder": "Your award given by",
"summary": "A one-sentence to one-paragraph overview of this award"
}
],
"publications": [
{
"name": "Your publication title",
"publisher": "Publisher name",
"releaseDate": "Publication date, in YYYY-MM-DD format",
"website": "The website URL for this publisher or book",
"summary": "A one-sentence to one-paragraph overview of this publication"
}
],
"skills": [
{
"name": "A category of job skills (e.g. 'Programming Languages')",
"level": "",
"keywords": [
"Keywords under this category (e.g. 'Java', 'C++', etc)"
]
}
],
"languages": [
{
"language": "Language name",
"fluency": "Your language fluency"
}
],
"interests": [
{
"name": "A category of interests (e.g. 'Sports')",
"keywords": [
"Keywords under this category (e.g. 'Cricket', 'Football', 'Golf')"
]
}
]
}
Why n8n + Thordata + OpenAI = The Perfect Combo
Building a reliable, end-to-end resume parsing system isn’t just about using AI — it’s about orchestrating multiple technologies that work seamlessly together. That’s where this trio truly shines.
n8n acts as the automation backbone, connecting APIs, AI models, and databases into one smooth workflow. It gives you the flexibility to visually map out your process — from document upload to parsed output — without writing hundreds of lines of code.
Thordata Universal API serves as the intelligent data gateway
It performs the heavy lifting of text extraction ensuring that the content fed to the AI is clean and consistent.OpenAI GPT-4.1-mini brings the intelligence layer, transforming raw text into structured and meaningful resume data. Its natural language understanding allows it to infer roles, skills, timelines, and context — even when resumes are formatted inconsistently or written creatively.
When combined, these tools deliver a powerful, low-code AI pipeline that’s accurate, scalable, and easy to maintain. You don’t need to worry about regex patterns, inconsistent data formats, or complex infrastructure — just drag, connect, and automate.
Summary
With just a few nodes, you can automate the entire resume parsing and structuring workflow:
- No regex
- No manual review
- 100% customizable schema
This is more than automation — it’s intelligence in action.

Top comments (0)