Открытый бесплатный API для поиска метаданных книг по ISBN или названию — без регистрации, без ключа. Объединяет Open Library, Google Books, FantLab и другие источники в одну карточку, автоматически обогащая базу при первом запросе по книге, которой ещё нет.
Публичный инстанс: bookmetadata.ru · документация API · Swagger
Нужны только два файла — не нужно клонировать репозиторий и ставить Java/Gradle:
curl -O https://raw.githubusercontent.com/malexple/book-metadata-service/main/docker-compose.hub.yml curl -O https://raw.githubusercontent.com/malexple/book-metadata-service/main/.env.example cp .env.example .env # открыть и поправить DB_PASSWORD docker compose -f docker-compose.hub.yml up -d curl http://localhost:8080/api/v1/search?q=Дорога
Образ: malexple/book-metadata-service на Docker Hub.
git clone https://github.com/malexple/book-metadata-service.git cd book-metadata-service cp .env.example .env docker compose up -d --build
Три публичных метода, ограничение 60 запросов/мин с одного IP:
curl "https://bookmetadata.ru/api/v1/search/isbn/9785389143852" curl "https://bookmetadata.ru/api/v1/search/title?q=Мастер+и+Маргарита" curl "https://bookmetadata.ru/api/v1/search?q=9785389143852"
Выбор полей: ?fields=Title,AuthorName,ISBN. Полное описание — на странице документации и в Swagger UI.
Некоторые источники обогащения выключены "из коробки" и требуют осознанного включения — см. .env.example:
LIBGEN_ENABLED) — юридически серая зона.SIGLA_ENABLED) — неофициальный скрапинг сайта библиотеки МГУ, не предназначенного для автоматических обращений.LLM_FALLBACK_ENABLED) — требует отдельно поднятые SearXNG и Ollama; результаты идут не напрямую в базу, а в очередь на ручную модерацию.EAV/pivot-модель метаданных (mtobjects/mtfields/mtdata) в духе white paper Force.com Multitenant Architecture — гибкая схема без ALTER TABLE при добавлении новых полей. PostgreSQL + Flyway, Spring Boot 3.4 / Java 21.
build-and-push.sh / build-and-push.ps1 — сборка и публикация образа в Docker Hub под тегами :latest и :<git-sha>.docker-compose.yml — сборка из исходников (для разработки).docker-compose.hub.yml — готовый образ с Docker Hub (для конечных пользователей, без клонирования репозитория).Apache 2.0