Bom, existe muita intersecção entre os termos, mas no primeiro link que coloquei tem o seguinte: "API não é o serviço fornecido, é o método de acesso".
Esses serviços online que vc faz uma chamada HTTP pra pegar os dados, eu entendo que são API's cuja forma de acesso é a web.
Uma biblioteca é mais o conjunto de funções que vc pode usar para compor algum programa mais complexo. Claro que ela também disponibiliza uma API para que vc possa usá-la, por isso que uma forma de definir é considerar que a lib é a implementação das regras da API. Mas a lib pode ter partes internas que não são expostas publicamente (são detalhes de implementação que quem a usa não precisa saber), ou seja, essas partes não fazem parte da API que ela expõe a quem for chamá-la.
É o caso do sistema operacional, que tem a API (a interface que os programas usam para interagir com ele), e internamente tem uma ou mais bibliotecas que fazem o "serviço sujo".
Enfim, no final do link do Stack Overflow também tem a conclusão:
Na maior parte dos tempo os termos podem ser intercambiáveis sem causar grande problema. Todo mundo entende essas três coisas como um conjunto de códigos prontos para alcançar algum objetivo.