Got an API? The website is on us!

Convert raw API data into beautiful websites

API2HTML allows you to design websites thinking only in the view. Define in a configuration.json all the URLs that you want to show and what API call it is going to do. All API interaction will be handled by API2HTML leaving you all the data in the {{ Data }} variable.

Benefits and features

Design static and dynamic websites by just writing the templates.
Interact with your API data without coding a single line.
100% open source

important_devices

MVP builder

If you have a set of data origins and have an idea you'd like to build, make your Minimum Viable Product in no time and quickly prove your hypothesis.

translate

Multi-language

API2HTML allows you to reuse the same templates for different languages. Need to have the site in 33 different languages? No problem! Write the translations and you are good to go.

code

Static and dynamic content

Serve static text-based content, semi-dynamic pages that have no interaction with APIs or rich dynamic content that feeds from your backend.

language

Multi-site

Build multiple sites with all kinds of customizations using a single base code in milliseconds thanks to the generator

pregnant_woman

Configuration inheritance

Let children sites carry with all the configuration of its parent. Redefine only the differences and inherit all the attributes

cached

Caching

The API2HTML honores the Cache-Control header, so after contacting your API it will automatically cache the responses in memory for the duration specified in that header.

motorcycle

Blazing fast

API2HTML is well coded in Go offering an incredible performance. But if that wasn't enough, when you start the server all your templates are internally pre-compiled so it won't be necessary to process them ever again.

memory

Small footprint

Recover that old machine or server that you were about to throw it away. API2HTML uses under 15MB of RAM to host a page and the CPU is almost inactive.

reorder

Multiple APIs? Verbosity?

Putting a KrakenD API Gateway behind your API2HTML and using it to mix multiple APIs in a single response extends even more its power.