Reportia

Developer Documentation

JSON to PDF API

Generate professional PDFs, Excel spreadsheets, CSV files and HTML pages from JSON data with a single API call. No signup required.

Base URL: https://reportia.4l3.org

Quick Start

Generate your first PDF in under 30 seconds. No API key, no signup — just send a POST request:

curl -X POST https://reportia.4l3.org/v1/render \
  -H "Content-Type: application/json" \
  -d '{
    "template": "factura",
    "format": "pdf",
    "data": {
      "empresa": "Acme Corp",
      "cliente": "John Doe",
      "items": [
        {"concepto": "Consulting", "cantidad": 10, "precio": 150},
        {"concepto": "Development", "cantidad": 40, "precio": 120}
      ],
      "moneda": "USD"
    }
  }' \
  --output invoice.pdf

That's it. The API returns the PDF binary directly — save it to a file or stream it to your users.

Why Reportia?

Free to start

50 documents/month, no signup, no credit card. Start building in minutes.

10 output formats

PDF, Excel, CSV, HTML, JSON, Markdown, TXT, PNG, DOCX, ZIP — all from the same endpoint.

90% cheaper

$9/mo for 1,000 docs. Compare: DocRaptor $89/mo, APITemplate $49/mo, PDFMonkey $40/mo.

Endpoints

MethodPathDescription
POST/v1/renderGenerate document from JSON + template
GET/templatesList all available templates
GET/templates/{slug}/sample.pdfDownload sample PDF for a template
GET/templates/{slug}/sourceView template source (HTML/Jinja2)
GET/pricingPlans and pricing (JSON)
GET/statsPublic service statistics

POST /v1/render

The core endpoint. Send JSON data with a template name and receive the rendered document.

Request Body (JSON)

FieldTypeRequiredDescription
templatestringYesTemplate slug. Use /templates to list available options.
formatstringYesOutput format: pdf, xlsx, csv, html, json, md, txt, png, docx, zip
dataobjectYesYour data as a JSON object. Fields depend on the template.
custom_htmlstringNoYour own HTML/Jinja2 template. Overrides template.
optionsobjectNoRendering options: page_size, margin, landscape, header_html, footer_html

Response

Returns the generated document as binary data with the appropriate Content-Type header.

200 OK — Binary document (PDF, XLSX, etc.)

400 — Invalid request (missing fields, unknown template)

429 — Rate limit exceeded

500 — Rendering error

Generate Excel from JSON

Same endpoint, different format. Change format to xlsx to get an Excel file:

curl -X POST https://reportia.4l3.org/v1/render \
  -H "Content-Type: application/json" \
  -d '{
    "template": "ventas",
    "format": "xlsx",
    "data": {
      "title": "Q2 Sales Report",
      "rows": [
        {"product": "Pro Plan", "units": 45, "revenue": 405},
        {"product": "Scale Plan", "units": 12, "revenue": 348},
        {"product": "Lifetime", "units": 8, "revenue": 392}
      ]
    }
  }' \
  --output report.xlsx

Use Your Own HTML Template

Don't want to use built-in templates? Send your own HTML with Jinja2 variables:

curl -X POST https://reportia.4l3.org/v1/render \
  -H "Content-Type: application/json" \
  -d '{
    "format": "pdf",
    "custom_html": "<h1>Invoice #{{ invoice_number }}</h1><p>Total: ${{ total }}</p>",
    "data": {
      "invoice_number": "2026-0042",
      "total": "1,850.00"
    }
  }' \
  --output custom-invoice.pdf

Full Jinja2 syntax supported: loops, conditionals, filters, includes. CSS styling works as expected.

Authentication

Free tier: No authentication needed. Rate limits applied per IP address (50 docs/month).

Pro / Scale plans: Include your API key as a Bearer token:

Authorization: Bearer your-api-key

Get your API key from the client portal after subscribing.

Available Templates

Pre-built, professionally designed templates ready to use:

factura

Invoice (CFDI 4.0 compatible). PDF, HTML.

ventas

Sales report with charts. PDF, XLSX, CSV.

balance

Balance sheet. PDF, XLSX.

certificado

Certificate of completion. PDF, HTML.

cotizacion

Price quote / proposal. PDF, HTML.

nomina

Payroll receipt. PDF.

Run GET /templates for the full list with field schemas, or browse the gallery.

Pricing & Limits

PlanPriceDocuments/moFeatures
Free$050No signup. Subtle watermark on PDFs.
Pro$9/mo1,000No watermark. Custom templates. API key.
Scale$29/mo10,000Webhooks. Priority queue. Dedicated support.
Lifetime$49 oncePro-level foreverOne-time payment. Pro features for life.

FAQ

Is Reportia API free?

Yes. The free tier gives you 50 documents per month with no signup or credit card required. PDFs include a subtle watermark. Pro plan ($9/month) removes the watermark and increases the limit to 1,000 documents/month.

What output formats are supported?

PDF, XLSX (Excel), CSV, HTML, JSON, Markdown, TXT, PNG, DOCX, and ZIP. All from the same /v1/render endpoint — just change the format parameter.

Can I use my own HTML template?

Yes. Send your HTML in the custom_html field. Full Jinja2 template syntax is supported: variables, loops, conditionals, filters.

How does Reportia compare to DocRaptor, APITemplate, or PDFMonkey?

Reportia is 90% cheaper ($9/mo vs $89-149/mo), has a more generous free tier (50/mo vs 5), supports 10 output formats instead of just PDF, and includes pre-built templates. The trade-off: Reportia is newer and the template gallery is still growing.

Is there a rate limit?

Free tier: 50 documents/month per IP. Pro: 1,000/mo. Scale: 10,000/mo. If you exceed your limit, requests return HTTP 429.

Start building now

No signup, no API key, no credit card. Your first PDF is 30 seconds away.