Certificate API
for Developers

Generate professional PDF certificates with QR verification via REST API

โšก Quick Start

1. Get an API key

curl -X POST https://buildcertificates.com/api/v1/register \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'

2. Generate a certificate

curl -X POST https://buildcertificates.com/api/v1/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: bcrt_YOUR_KEY" \
  -d '{
    "recipient": { "name": "Jane Smith" },
    "certificate": {
      "title": "Certificate of Completion",
      "course": "Advanced Web Development",
      "date": "2026-04-16",
      "issuer": "Acme Academy",
      "issuer_title": "Director of Education"
    },
    "options": {
      "template": "elegant",
      "verification": true
    }
  }'

๐Ÿ“ก Endpoints

POST /api/v1/generate

Generate a single PDF certificate with optional QR verification.

Request Body

{
  "recipient": {
    "name": "Jane Smith"         // Required
  },
  "certificate": {
    "title": "Certificate of Completion",
    "course": "Web Development",
    "date": "2026-04-16",
    "issuer": "Acme Academy",
    "issuer_title": "Director"
  },
  "options": {
    "template": "elegant",       // elegant | modern | formal
    "color": "#C5A55A",          // Accent color (hex)
    "verification": true,        // Enable QR code
    "pageSize": "letter"         // letter | A4
  }
}

Response

{
  "success": true,
  "pdf": "JVBERi0xLjQ...",      // Base64 PDF
  "pages": 1,
  "sizeBytes": 45231,
  "verification": {
    "id": "a1B2c3D4e5F6",
    "url": "https://buildcertificates.com/verify.html?id=a1B2c3D4e5F6"
  },
  "template": "elegant",
  "usage": { "used": 1, "limit": 25, "remaining": 24 }
}
POST /api/v1/bulk

Generate certificates for multiple recipients in one request. Starter plan and above.

Request Body

{
  "recipients": [
    { "name": "Jane Smith" },
    { "name": "John Doe" },
    { "name": "Alice Johnson" }
  ],
  "certificate": {
    "title": "Certificate of Completion",
    "course": "Team Leadership Workshop",
    "issuer": "Acme Corp"
  },
  "options": { "template": "elegant" }
}

Response

{
  "success": true,
  "generated": 3,
  "certificates": [
    { "recipient": "Jane Smith", "pdf": "...", "verification": { "id": "...", "url": "..." } },
    { "recipient": "John Doe", "pdf": "...", "verification": { "id": "...", "url": "..." } },
    ...
  ]
}
GET /api/v1/verify/{id}

Public endpoint โ€” no API key required. Verify a certificate's authenticity by its ID.

{
  "success": true,
  "verified": true,
  "certificate": {
    "recipient": "Jane Smith",
    "title": "Certificate of Completion",
    "course": "Advanced Web Development",
    "issuer": "Acme Academy",
    "dateIssued": "2026-04-16"
  }
}
POST /api/v1/register

Register for a free API key. Keys use the bcrt_ prefix.

// Request
{ "email": "you@example.com" }

// Response
{
  "success": true,
  "api_key": "bcrt_aBcDeFgHiJkL...",
  "tier": "Free",
  "limits": { "certsPerMonth": 25, "ratePerMinute": 5 }
}
GET /api/v1/usage

Check your current quota and usage.

GET /api/v1/health

Service health check. No authentication required.

๐ŸŽจ Templates

TemplateStyleBest For
elegant (default)Gold & navy, ornamental bordersCourses, workshops, training
modernClean, accent bar, left-alignedTech, bootcamps, conferences
formalAcademic diploma, double border, sealUniversities, certifications

๐Ÿ’Ž Pricing

FeatureFreeStarterProBusiness
Certs/month255005,00025,000
TemplatesElegant onlyAll 3All 3All 3
WatermarkYesNoNoNo
Bulk APIโ€”50/batch100/batch500/batch
QR Verificationโœ…โœ…โœ…โœ…
Rate limit5/min30/min150/min500/min