Embedding examples
Adding a 20px high badge to a web page as an <img> element
Same thing but now we set the width instead of the height
Fitting the badge inside its parent element

All badges have embedded Javascript code that will poll supershields.io regularly for fresh data and update badge contents when necessary - without new page loads.
To enable the auto-update functionality, a badge has to be embedded on a page using an <object> tag (<embed> and <iframe> will also work). This allows its Javascript code to run.
Embedding a badge as an <object> element enables its JS code to run
This badge gets updated every ~30 seconds (*)
Using an <img> tag results in a static badge (JS code is not executed)
This badge is only updated on page load
(*) Note that only Premium users can set their refresh rate as low as 30s. Free users get a 300s refresh rate

Developer documentation
Badge logic is programmable using Lua. The Lua code is written by you but runs on our servers and it determines exactly how a badge will look and what its contents will be.
You use the built-in code editor to write and test the Lua code for your badges
For more info, please visit the developer wiki

Is it free?
Yes. And the free version currently has all features. Upgrading to Premium means:
Badges are cached on a CDN (Cloudflare), which means that a client will not get new badge data more often than the cache lifetime. Default cache lifetime is 300 seconds (5 minutes) but Premium users can lower the cache lifetime for their badges down to 30 seconds if they want.

If you like the service, please consider upgrading to premium as it helps keep the servers on and motivation high to work on improvements!