I recently found myself working with Altmetric badges again, and I realized how cumbersome it can be to work with scripts. The Altmetric badges can only be added by using their JavaScript library, while it would be a lot more user friendly to have a simple URL that embeds the badge, preferably even an image. I may be a bit spoiled by the badge ecosystem of the open source community, including Shields.io. There, badges are dynamically generated on the server side.
Badges in open source JavaScript projects
Unfortunately, Shields doesn’t support Altmetric. It does, however, support dynamic badges, and Altmetric does have an API. The endpoint is api.altmetric.com/v1/doi/
for DOI-based access (which is what we want in this case). So the parameters needed for the badge are:
- Data type: JSON (the output format of the API)
-
label
: Altmetric -
url
:https://api.altmetric.com/v1/doi/<DOI>
-
query
:$.score
-
style
:social
The logo
would be https://www.altmetric.com/wp-content/themes/altmetric/favicon.ico
, but I can’t get that to work. The resulting URL is
https://img.shields.io/badge/dynamic/json.svg?url=https://api.altmetric.com/v1/doi/DOI&label=Altmetric&query=$.score&style=social
Note, however, that the use of the Altmetric API is limited:
Free, rate-limited API
- No key required.
- Includes research object metadata and metrics only.
- Available only for one-time, limited term research projects.
- Best for small projects.
- Rate limited to 1 call per second.
Top comments (0)