Last week I wanted to add a "Today in History" section to a side project — you know, that little widget showing what happened on this date, random space facts, and recent earthquakes. The kind of thing that makes a boring homepage feel alive.
The problem? Every tutorial I found used a single API. I wanted something richer. So I combined three free APIs that nobody talks about together, and the result was surprisingly good.
Most "history on this day" pages are flat — just a list of events. I wanted: Historical events — what happened on this date Space facts — because who doesn't love random NASA trivia Recent earthquakes — real-time natural disaster data
Each of these serves a different purpose, and together they create a daily digest that's actually worth reading.
The on-this-day API returns events, births, deaths, and holidays for any date. No API key needed, no rate limit headaches.
The response includes events, births, deaths, and holidays. I usually grab 3-5 events and 2-3 births to keep the digest concise.
This one's my favorite. The space-science API gives you random space facts, NASA's picture of the day, and ISS location data. Perfect for that "did you know?" section.
The earthquake API pulls recent seismic activity from USGS data. It's not something you'd check every day, but when there's a significant event, users appreciate seeing it.
Filtering by minimum magnitude (4.0+) keeps the list manageable — nobody needs to know about every tiny tremor.
I use this wrapper for every API call. If one service is down, the digest still renders with the other two.
You don't want to hit these APIs on every page load. I cache the digest for 6 hours:
Three things surprised me: Combining APIs creates more value than any single one. The historical events alone are boring. Add a space fact and recent earthquakes, and suddenly it's a daily ritual. Free APIs have personality. The space facts API returns genuinely interesting tidbits. The earthquake data has a certain gravity (pun intended) that makes users check back. Error handling is the real product. The difference between a hacky demo and something people actually use is how gracefully it handles API failures.
All three APIs I used are free and require no registration: Historical events: GET /api/v1/on-this-day?month=9&day=1 Space facts: GET /api/v1/space-science/fact Earthquake data: GET /api/v1/earthquake/recent?limit=5
You can test them directly in your browser or with curl. No API key, no sign-up, no credit card.
I'm planning to add: Weather overlay — show the weather for each historical event's location News aggregation — pull today's top headlines for context Random name generator — for the "People Born Today" section (instead of just famous people)
If you build something with these APIs, I'd love to see it. Drop a comment below or open an issue on the repo.
Found this useful? I write about API integration and side project engineering. Follow for more tutorials that actually work in production, not just in demos.
