I always wanted to build a universal history search app, but it is so hard to do when most galleries and archives are either not connected, don’t have a public API, or do have an API but pick a horrible data format. Most of them must truly hate developers by choosing XML as data format with nearly all of its sub-standards and mixed character encodings, and don’t allow others like JSON in UTF-8 which is much lighter and easier to implement. Imagine the relieve I felt when I stumbled upon Europeana today! They are perfect. Simple interface, JSON data, lots and lots of content with Creative Commons Public Domain (CC0) license, no charge for 10000 queries per day, connected to many archives, all with metadata.
npm i europeana --save
var europeana = require ('europeana'); europeana.apikey = 'abc123'; europeana.search ('et in arcadia ego', console.log);