Eu já disse algo sobre isso aqui. E se fosse resumir o ponto mais importante que tem lá, seria:
API não é só WEB. Sei que hoje em dia "API" acabou virando quase que um sinônimo de "URL que retorna um JSON", mas o termo é bem mais amplo que isso (e a ideia geral, inclusive, antecede a web).
API é a sigla para "Application Programming Interface" (algo como "Interface de Programação de Aplicações"), que é basicamente "algo" que permite que dois programas/softwares/sistemas/aplicativos "conversem" entre si (a grosso modo, eles trocam informações de forma programática). O detalhe é que esses programas não precisam estar na web.
Enfim, sugiro que leia tudo lá para saber mais sobre o termo, e também para entender porque hoje em dia ficou tão difícil encontrar a definição correta (basicamente, porque "todo mundo" acha que é só Web, e 99% do material acaba focando só nisso).
Quanto à diferença entre API e lib/biblioteca, este link pode ajudar.
Obrigado pelos tópicos kht, li os dois.
Só para concluir, eu gostaria de saber sua opinião. No seu tópico aqui no Tabnews você diz que "Uma lib/biblioteca/pacote/módulo/crate/etc nada mais é que uma API que permite que seu programa tenha acesso à funções prontas que fazem algo que vc precisa"
Na pergunta do stackoverflow diz mais ou menos a mesma coisa.
Então, na sua opinião, os exemplos que dei acima seriam considerados bibliotecas? Mesmo que ninguém vá as chamar assim.