Themes

List available themes for PDF generation.

Themes

List all available themes for Markdown to PDF conversion. Themes control the visual styling of your generated PDFs.

GET /v1/themes

Code Examples

curl https://api.pdfapi.dev/v1/themes \
  -H "Authorization: Bearer sk_live_xxx"
const response = await fetch('https://api.pdfapi.dev/v1/themes', {
  headers: {
    'Authorization': `Bearer ${process.env.PDFAPI_KEY}`,
  },
});

const { data } = await response.json();
console.log('Available themes:', data.map(t => t.id));
import requests
import os

response = requests.get(
    'https://api.pdfapi.dev/v1/themes',
    headers={
        'Authorization': f'Bearer {os.environ["PDFAPI_KEY"]}',
    }
)

themes = response.json()['data']
for theme in themes:
    print(f"{theme['id']}: {theme['name']} ({theme['plan']})")
req, _ := http.NewRequest("GET", "https://api.pdfapi.dev/v1/themes", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("PDFAPI_KEY"))

client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()

var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)

Response

{
  "data": [
    {
      "id": "default",
      "name": "Default",
      "description": "Clean, modern styling with good readability",
      "plan": "free",
      "preview_url": "https://pdfapi.dev/themes/default-preview.png"
    },
    {
      "id": "minimal",
      "name": "Minimal",
      "description": "Simple, minimal design with maximum content focus",
      "plan": "free",
      "preview_url": "https://pdfapi.dev/themes/minimal-preview.png"
    },
    {
      "id": "corporate",
      "name": "Corporate",
      "description": "Professional business style with branded headers",
      "plan": "free",
      "preview_url": "https://pdfapi.dev/themes/corporate-preview.png"
    },
    {
      "id": "invoice",
      "name": "Invoice",
      "description": "Optimized for financial documents and invoices",
      "plan": "pro",
      "preview_url": "https://pdfapi.dev/themes/invoice-preview.png"
    },
    {
      "id": "academic",
      "name": "Academic",
      "description": "Academic paper formatting with proper citations",
      "plan": "pro",
      "preview_url": "https://pdfapi.dev/themes/academic-preview.png"
    },
    {
      "id": "resume",
      "name": "Resume",
      "description": "Professional resume/CV formatting",
      "plan": "pro",
      "preview_url": "https://pdfapi.dev/themes/resume-preview.png"
    },
    {
      "id": "newsletter",
      "name": "Newsletter",
      "description": "Multi-column newsletter layout",
      "plan": "business",
      "preview_url": "https://pdfapi.dev/themes/newsletter-preview.png"
    },
    {
      "id": "presentation",
      "name": "Presentation",
      "description": "Slide-style presentation format",
      "plan": "business",
      "preview_url": "https://pdfapi.dev/themes/presentation-preview.png"
    }
  ]
}

Theme Fields

FieldTypeDescription
idstringTheme identifier (use this in API requests)
namestringHuman-readable theme name
descriptionstringTheme description
planstringMinimum plan required (free, pro, business)
preview_urlstringURL to theme preview image

Available Themes

Free Plan

ThemeDescriptionBest For
defaultClean, modern stylingGeneral documents
minimalSimple, minimal designContent-focused docs
corporateProfessional business styleBusiness reports

Pro Plan

ThemeDescriptionBest For
invoiceFinancial document stylingInvoices, receipts
academicAcademic paper formatResearch papers
resumeResume/CV formattingResumes, CVs

Business Plan

ThemeDescriptionBest For
newsletterMulti-column layoutNewsletters
presentationSlide-style formatPresentations

Usage

Use a theme with the Markdown to PDF endpoint:

{
  "markdown": "# My Document\n\nContent here...",
  "theme": "corporate"
}

Attempting to use a theme not available on your plan will return a THEME_NOT_AVAILABLE error.