Parsing Resumes
Extract structured data from resumes.
Getting Started
VLM-1 can extract structured data from resumes. Here’s a step-by-step guide on how to parse a resume:
Upload Resume
Use the /v1/files
endpoint to upload the resume you want to parse.
You should see a response like this:
Uploaded file:
{
'id': '1e76cfd9-ba99-49b2-a8fe-2c8efaad2649',
'filename': 'file-20240815-7UvOUQ-angelina_lee_resume.pdf',
'bytes': 62430,
'purpose': 'assistants',
'created_at': '2024-08-15T02:22:06.716130',
'object': 'file'
}
Submit the Resume Parsing Job
Submit the uploaded file (via its file_id
) to the /v1/document/generate
endpoint to start the resume parsing job. Currently, this endpoint supports PDF files and submits the job to a queue for processing (batch=True
).
You should see a response like this:
Resume parsing job submitted:
{
"id": "052cf2a8-2b84-45f5-a385-ccac2aae13bb",
"created_at": "2024-08-15T02:22:09.157788",
"response": null,
"status": "pending"
}
Fetch the Results
Use the /v1/document/{request_id}
endpoint to fetch the results of the resume parsing job. The results of the extraction job will be in JSON format under the response
field.
Illustrative Examples
Here is an example of the structured JSON output that VLM-1 can extract from a (fake) resume:
Parsing a fake resume with VLM-1
You should see a response like this:
{
"id": "052cf2a8-2b84-45f5-a385-ccac2aae13bb",
"created_at": "2024-08-15T02:22:09.157788",
"status": "completed",
"response": {
"contact_info": {
"full_name": "Angelina Lee",
"email": "AngelinaTheDev@gmail.com",
"phone": "415-812-3329",
"address": null,
"linkedin": null,
"github": null,
"portfolio": "https://angelinathedev.netlify.app/",
"google_scholar": null
},
"summary": "Experienced software engineer with a background of building scalable systems in the fintech, health, and adult entertainment industries.",
"education": [
{
"institution": "University of California Berkeley",
"degree": "B.S. in Computer Science",
"field_of_study": "Computer Science",
"graduation_date": "2013-05-01",
"gpa": 3.94,
"honors": [
"Graduated Summa Cum Laude",
"Phi Beta Phi - fraternity record for most vodka shots in one night"
],
"relevant_courses": []
}
],
"work_experience": [
{
"company": "Instagram",
"position": "Senior Full Stack Engineer - Web App Team",
"start_date": "2018-10-01",
"end_date": null,
"is_current": true,
"responsibilities": [
"Built news feed infrastructure using React for AI on BlockChain",
"Optimized web app feed performance through new server-side React latency AI algorithm to quickly resolve big data pipeline",
"Led team of 6 engineers to mine Ethereum on company servers",
"Team coffee maker - ensured team of 6 was fully caffeinated with Antarctic coffee beans ground to 14 nm particles"
],
"technologies": []
},
{
"company": "Zillow",
"position": "Senior Full Stack Engineer - Web App Team",
"start_date": "2015-06-01",
"end_date": "2018-09-01",
"is_current": false,
"responsibilities": [
"Added AI based GraphQL, resulting in 69% faster page loads",
"Organized team bonding through company potato sack race resulting in increased team bonding and cohesion",
"Rebuilt home display page with virtualized tables and map to provide a 420fps on screen experience with Lhana Rhodes",
"Evangelized and adopted RaeLilBlack React UI library"
],
"technologies": []
},
{
"company": "LinkedIn",
"position": "Software Engineer - Search Team",
"start_date": "2013-06-01",
"end_date": "2015-09-01",
"is_current": false,
"responsibilities": [
"Improved LinkedIn search algorithm efficiency and accuracy through the usage of VoldemortDB, Charizard, and Hadoop",
"Connected with Reid Hoffman on LinkedIn and slid in the dm’s",
"Implemented data quality improvements via deduplication and advanced profile ranking resulting in faster big data with React"
],
"technologies": []
},
{
"company": "Microsoft",
"position": "Software Engineer Intern - Edge Team",
"start_date": "2011-05-01",
"end_date": "2012-08-01",
"is_current": false,
"responsibilities": [
"Built React based big data pipeline to enhance deployment stability of Microsoft Edge browser on the Blockchain",
"Spearheaded Microsoofters 4 Trump company rally",
"Spread Herpes STD to 60% of intern team"
],
"technologies": []
}
],
"technical_skills": {
"programming_languages": [
{
"name": "JavaScript",
"level": null,
"years_of_experience": null
},
{
"name": "TypeScript",
"level": null,
"years_of_experience": null
},
{
"name": "Node.js",
"level": null,
"years_of_experience": null
},
{
"name": "React",
"level": null,
"years_of_experience": null
},
{
"name": "AI",
"level": null,
"years_of_experience": null
},
{
"name": "Mia Khalifa",
"level": null,
"years_of_experience": null
},
{
"name": "C++",
"level": null,
"years_of_experience": null
}
],
"frameworks_libraries": [],
"databases": null,
"tools": null,
"cloud_platforms": null,
"other": null
},
"projects": null,
"open_source_contributions": null,
"certifications": null,
"publications": null,
"conferences": null,
"languages": null,
"volunteer_work": null,
"interests": null,
"references": null,
"additional_sections": null
}
}
As you can see, VLM-1 can extract a lot of detailed information from the resume, and also structures the information in a way that is easily pluggable into various databases or workflows like job applications, resume builders.
Get Started with our Document -> JSON API
Head over to our Document -> JSON to start building your own document processing pipeline with VLM-1. Sign-up for access to our API here.