Automated PDF Reporting using JSON
Reportly helps you turn JSON data into beautiful, branded PDF reports instantly.
Define your template once, call our API anytime.
We care about your privacy. Your requests and completed reports are never stored.
No credit card required – try it risk-free.
How it Works
1. Design your report template using intuitive Razor (CSHTML) syntax.
2. Send your JSON data to our API endpoint.
3. Receive a downloadable, styled PDF in seconds.
View Documentation
Free Trial
Sign up and start generating reports right away. No credit card required.
Start Free TrialNeed a Custom Plan?
High-volume or custom use case? Email us and we’ll tailor a plan just for you.
Contact UsHelp with Templates
Having trouble creating a Razor template? We’ll help you for free.
Get Free HelpSimple, Transparent Pricing
$9.99/month
- 1,000 reports per month
- 20 custom templates
- Batch reporting (up to 25 simultaneous)
- Error support included
- Legacy template conversion
Start with a 10-day free trial
Questions? Email us at mysupport@goreportly.com
Examples
🧾 Simple report
Template (CSHTML)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Employee List</title>
</head>
<body>
<header>
<h1>@Model.CompanyName</h1>
<div class="meta">
Location: @Model.CompanyLocation
</div>
</header>
<table>
<thead>
<tr>
<th>Emp ID</th>
<th>Name</th>
<th>Branch</th>
<th>Date of Joining</th>
<th>Date of Leaving</th>
</tr>
</thead>
<tbody>
@foreach (var emp in Model.Employees)
{
<tr>
<td>@emp.EmployeeId</td>
<td>@emp.Name</td>
<td>@emp.Branch</td>
<td>@emp.DateOfJoining.ToString("dd-MM-yyyy")</td>
<td>@(emp.DateOfLeaving?.ToString("dd-MM-yyyy") ?? "—")</td>
</tr>
}
</tbody>
</table>
</body>
<style>
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
font-size: 12px;
color: #333;
background-color: #fff;
margin: 40px;
}
header, footer {
text-align: center;
margin-bottom: 30px;
}
header h1 {
font-size: 20px;
margin: 0;
}
header .meta {
margin-top: 5px;
font-size: 11px;
color: #666;
}
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
page-break-inside: avoid;
}
th, td {
border: 1px solid #ccc;
padding: 6px 8px;
text-align: left;
width: 20%;
word-wrap: break-word;
}
th {
background-color: #eee;
color: #333;
font-weight: 600;
}
</style>
</html>
JSON Data
{
"CompanyName": "Northbridge Solutions Inc.",
"CompanyLocation": "Chicago, IL, USA",
"Employees": [
{
"EmployeeId": 101,
"Name": "Alice Turner",
"Branch": "Chicago Headquarters",
"DateOfJoining": "2018-06-15",
"DateOfLeaving": null
},
{
"EmployeeId": 102,
"Name": "Michael O'Brien",
"Branch": "Chicago Headquarters",
"DateOfJoining": "2019-04-01",
"DateOfLeaving": "2024-05-25"
},
{
"EmployeeId": 103,
"Name": "Emily Chen",
"Branch": "Remote",
"DateOfJoining": "2020-01-20",
"DateOfLeaving": null
}
]
}
Generated PDF
View PDF🧾 Real life examples
Already have an account?
Login to Dashboard