# Resume Generation API: JSON to PDF and Resume Builder Backend

The UseResume API Platform lets applications generate professional resume and cover letter PDFs from structured JSON. “Resume generation API,” “resume builder API,” and “JSON to resume PDF API” refer to this generation workflow.

UseResume handles schema validation, templates, rendering, PDF storage, and optional AI tailoring. The integrating product controls its user interface and candidate data.

## Best suited for

- Job boards adding candidate resume creation
- Career platforms exporting user profiles as resumes
- Education and bootcamp career portals
- Applicant tracking and recruitment products
- Bulk generation from a database or spreadsheet
- Automation through direct HTTP requests, an SDK, n8n, a CLI, or MCP

## Capabilities

| Capability                       | Endpoint                                    | Credits |
| -------------------------------- | ------------------------------------------- | ------: |
| JSON to resume PDF               | `POST /api/v3/resume/create`                |       1 |
| AI-tailored resume PDF           | `POST /api/v3/resume/create-tailored`       |       5 |
| JSON to cover letter PDF         | `POST /api/v3/cover-letter/create`          |       1 |
| AI-tailored cover letter PDF     | `POST /api/v3/cover-letter/create-tailored` |       5 |
| Resume file to JSON or Markdown  | `POST /api/v3/resume/parse`                 |       4 |
| Cover letter to JSON or Markdown | `POST /api/v3/cover-letter/parse`           |       4 |
| Retrieve a run                   | `GET /api/v3/run/get/{run_id}`              |       0 |
| Test credentials                 | `GET /api/v3/credentials/test`              |       0 |

## Authentication

Every request uses a server-side Bearer API key:

```http
Authorization: Bearer USERESUME_API_KEY
```

API keys are created in the UseResume API Platform dashboard. The account limit is 10 requests per second across all endpoints. Do not expose an API key in browser JavaScript, mobile bundles, or public repositories.

## Generate a resume PDF

```bash
curl -X POST "https://useresume.ai/api/v3/resume/create" \
  -H "Authorization: Bearer $USERESUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": {
      "name": "Jane Doe",
      "role": "Software Engineer",
      "email": "jane@example.com",
      "summary": "Software engineer building reliable web products.",
      "employment": [
        {
          "title": "Senior Engineer",
          "company": "Example Company",
          "start_date": "2022-01-01",
          "present": true,
          "responsibilities": [
            { "text": "Built reliable customer-facing applications." }
          ]
        }
      ],
      "skills": [
        {
          "name": "TypeScript",
          "proficiency": "Expert",
          "display_proficiency": true
        }
      ]
    },
    "style": {
      "template": "default",
      "template_color": "blue",
      "font": "inter",
      "page_format": "a4",
      "background_color": "white"
    }
  }'
```

The `content` object supports contact details, summary, employment, education, skills, projects, certifications, languages, references, and optional sections. The `style` object controls the template, colors, font, page format, spacing, background, profile image presentation, and localized section names.

## Response

```json
{
  "success": true,
  "data": {
    "file_url": "https://...",
    "file_url_expires_at": 1780000000000,
    "file_expires_at": 1781000000000,
    "file_size_bytes": 245000
  },
  "meta": {
    "run_id": "run_123",
    "credits_used": 1,
    "credits_remaining": 999
  }
}
```

Download the PDF promptly. Generated files are stored for 14 days, while signed download URLs expire earlier. Use `GET /api/v3/run/get/{run_id}` to obtain a fresh signed URL while the file remains available.

Standard resume and cover letter generation costs 1 credit. Use the tailored endpoint when content should be rewritten for a specific job description; a tailored document costs 5 credits. Paid API plans generate documents without UseResume branding.

## Embedded builder model

UseResume supplies the backend API and developer tooling rather than a drop-in iframe or prebuilt frontend widget. Applications build or reuse their own resume form, map its data to the UseResume schema, call the API from their server, and return or proxy the generated PDF.

## Developer tooling

- REST API with JavaScript, Python, cURL, and fetch examples
- Official TypeScript SDK: `@useresume/sdk`
- n8n community node: `@useresume/n8n-nodes-useresume`
- MCP server: `@useresume/mcp-server`
- CLI: `@useresume/cli`

## Related resources

- [Complete API documentation](https://useresume.ai/resume-generation-api/docs)
- [Resume Parsing API guide](https://useresume.ai/resume-generation-api/resume-parsing-api.md)
- [Embedded Resume Builder architecture](https://useresume.ai/resume-generation-api/embedded-resume-builder.md)
- [API pricing](https://useresume.ai/resume-generation-api/pricing.md)
- [API Platform dashboard](https://useresume.ai/account/api-platform)
