Nicheloom visits: 58,301 all-time · 7,637 in the last 7 days

The opportunity tracker for new startups.

Today: 1,008 launches · Niche of the day: specialized calculation tools · See what launched today →

Librario, a book metadata API that aggregates G Books, ISBNDB, and more

Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.

Want to reach these readers? Sponsor an issue.

TLDR: Librario is a book metadata API that aggregates data from Google Books, ISBNDB, and Hardcover into a single response, solving the problem of no single source having complete book information. It's currently pre-alpha, AGPL-licensed, and available to try now[0].My wife and I have a personal library with around 1,800 books. I started working on a library management tool for us, but I quickly realized I needed a source of data for book information, and none of the solutions available provided all the data I needed. One might provide the series, the other might provide genres, and another might provide a good cover, but none provided everything.So I started working on Librario, a book metadata aggregation API written in Go. It fetches information about books from multiple sources (Google Books, ISBNDB, Hardcover. Working on Goodreads and Anna's Archive next.), merges everything, and saves it all to a PostgreSQL database for future lookups. The idea is that the database gets stronger over time as more books are queried.You can see an example response here[1], or try it yourself: curl -s -H 'Authorization: Bearer librario_ARbmrp1fjBpDywzhvrQcByA4sZ9pn7D5HEk0kmS34eqRcaujyt0enCZ' \ 'https://api.librario.dev/v1/book/9781328879943' | jq . This is pre-alpha and runs on a small VPS, so keep that in mind. I never hit the limits in the third-party services, so depending on how this post goes, I’ll or will not find out if the code handles that well.The merger is the heart of the service, and figuring out how to combine conflicting data from different sources was the hardest part. In the end I decided to use field-specific strategies which are quite naive, but work for now.Each extractor has a priority, and results are sorted by that priority before merging. But priority alone isn't enough, so different fields need different treatment.For example:- Titles use a scoring system. I penalize titles containing parentheses or brackets because sources sometimes shove subtitles into the main title field. Overly long titles (80+ chars) also get penalized since they often contain edition information or other metadata that belongs elsewhere.- Covers collect all candidate URLs, then a separate fetcher downloads and scores them by dimensions and quality. The best one gets stored locally and served from the server.For most other fields (publisher, language, page count), I just take the first non-empty value by priority. Simple, but it works.Recently added a caching layer[2] which sped things up nicely. I considered migrating from net/http to fiber at some point[3], but decided against it. Going outside the standard library felt wrong, and the migration didn't provide much in the end.The database layer is being rewritten before v1.0[4]. I'll be honest: the original schema was written by AI, and while I tried to guide it in the right direction with SQLC[5] and good documentation, database design isn't my strong suit and I couldn't confidently vouch for the code. Rather than ship something I don't fully understand, I hired the developers from SourceHut[6] to rewrite it properly.I've got a 5-month-old and we're still adjusting to their schedule, so development is slow. I've mentioned this project in a few HN threads before[7], so I’m pretty happy to finally have something people can try.Code is AGPL and on SourceHut[8].Feedback and patches[9] are very welcome :)[0]: https://sr.ht/~pagina394/librario/[1]: https://paste.sr.ht/~jamesponddotco/a6c3b1130133f384cffd25b3...[2]: https://todo.sr.ht/~pagina394/librario/16[3]: https://todo.sr.ht/~pagina394/librario/13[4]: https://todo.sr.ht/~pagina394/librario/14[5]: https://sqlc.dev[6]: https://sourcehut.org/consultancy/[7]: https://news.ycombinator.com/item?id=45419234[8]: https://sr.ht/~pagina394/librario/[9]: https://git.sr.ht/~pagina394/librario/tree/trunk/item/CONTRI...

HN · launched Jan 10, 2026 · 140 upvotes (top 7%) · 0 views

Niche: data enrichment and lookup apis · 83 launches, 5 in the last 7 days ▼ -17% · Explore this niche →

Category and tags

  • Media & entertainment
  • Data infrastructure
  • Developer
  • Not AI
  • Commercial product

Source listing ↗

Could you build this?

Yes It is a straightforward API aggregation service that queries third-party book APIs, normalizes JSON responses, and returns unified metadata.

Discussion

20 comments analyzed.

Competitors mentioned: Wikidata (book metadata source), BookFeed.io (author tracking via RSS), OpenLibrary (book database), LibraryThing (book cataloging), Anna's Archive

Concerns raised: Search by ISBN doesn't work well in Wikidata currently, Scalability with thousands of books and naive field strategies, Database schema design complexity for tracking data provenance, PostgreSQL-specific implementation limits portability

Feature requests: Search by title or author (in addition to ISBN), Add OpenLibrary as data extractor, Add Wikidata as data extractor, Support SQLite as alternative to PostgreSQL, Database-agnostic implementation

Competitors

Other products that read as similar to this one : 86 launches clear the similarity bar, closest 8 shown.

Attention rank: #11 of 87 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).

Launched 68 days after the earliest competitor.

The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.