ResumeTex API Documentation

Anish Sahoo
July 21, 2025

JSON Schema

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.

Complete Example

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
}
      

Field Descriptions

Basic Information

Links

links (optional): Array of link objects with:

Education

education (optional): Array of education objects with:

Experience

experience (optional): Array of company objects with:

Projects

projects (optional): Array of project objects with:

Skills

skills (optional): Array of skill category objects with:

Interests

interests (optional): Array of strings representing your interests/hobbies

Page Break

page_break (optional): Boolean to force a page break in the resume

Usage Examples

cURL Example

        
# 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
      

Python Example

        
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)
      

Back to Home