The ResumeTex API accepts JSON data in the following format. All fields are optional except for the name
field.
You can customize the font and font size, and include any combination of sections like education, experience, projects, skills, and interests.
Here is a complete example of a valid resume JSON:
{
"name": "Anish Sahoo",
"phone": "123-456-7890",
"email": "anish@email.email",
"font": "fira",
"font_size": 12,
"links": [
{
"url": "https://www.linkedin.com/in/anish-sahoo",
"text": "linkedin.com/in/anish-sahoo"
},
{
"url": "https://asahoo.dev",
"text": "asahoo.dev"
}
],
"education": [
{
"school": "Northeastern University",
"time": "Expected Graduation: December 2026",
"degree": "Bachelor of Science in Computer Science",
"location": "Boston, MA",
"details": [
"Major GPA: 3.95",
"Coursework: Machine Learning, Artificial Intelligence"
]
}
],
"experience": [
{
"company": "Tech Solutions Inc.",
"jobs": [
{
"time": "June 2021 - August 2021",
"title": "Software Engineer Intern",
"location": "Boston, MA",
"details": [
"Developed a web application to manage data",
"Implemented a feature to allow users to upload files"
]
}
]
}
],
"projects": [
{
"title": "Personal Portfolio",
"subtitle": "A personal website to showcase my projects and skills",
"time": "January 2021 - Present",
"details": [
"Built using HTML, CSS, and JavaScript",
"Includes a blog section where I write about my learning experiences"
]
}
],
"interests": [
"Reading",
"Traveling",
"Photography",
"Coding"
],
"skills": [
{
"title": "Programming Languages",
"items": [
"Python",
"Java",
"C++"
]
},
{
"title": "Web Development",
"items": [
"HTML",
"CSS",
"JavaScript"
]
}
],
"page_break": true
}
name
(required): Your full namephone
(optional): Phone numberemail
(optional): Email addressfont
(optional): LaTeX font family (e.g., "fira", "charter")font_size
(optional): Font size in points (default: 11)links
(optional): Array of link objects with:
url
: The full URLtext
: Display text for the linkeducation
(optional): Array of education objects with:
school
: School/University nametime
: Time period or graduation datedegree
: Degree namelocation
: Location of the schooldetails
: Array of additional details (GPA, coursework, honors)experience
(optional): Array of company objects with:
company
: Company namejobs
: Array of job objects containing:
time
: Employment periodtitle
: Job titlelocation
: Job locationdetails
: Array of job responsibilities/achievementsprojects
(optional): Array of project objects with:
title
: Project namesubtitle
: Brief project descriptiontime
: Project timelinedetails
: Array of project details/technologies usedskills
(optional): Array of skill category objects with:
title
: Category name (e.g., "Programming Languages")items
: Array of skills in this categoryinterests
(optional): Array of strings representing your interests/hobbies
page_break
(optional): Boolean to force a page break in the resume
# Generate PDF
curl -X POST -H "Content-Type: application/json" \
-d @resume.json \
https://resumetex.asahoo.dev/api/v1/pdf \
--output resume.pdf
# Generate LaTeX file
curl -X POST -H "Content-Type: application/json" \
-d @resume.json \
https://resumetex.asahoo.dev/api/v1/tex \
--output resume.tex
# Get LaTeX as text
curl -X POST -H "Content-Type: application/json" \
-d @resume.json \
https://resumetex.asahoo.dev/api/v1/text
import requests
import json
# Your resume data
resume_data = {
"name": "Your Name",
"email": "your.email@example.com",
# ... rest of your resume data
}
# Generate PDF
response = requests.post(
'https://resumetex.asahoo.dev/api/v1/pdf',
json=resume_data
)
with open('resume.pdf', 'wb') as f:
f.write(response.content)