#API Source Catalog
Complete reference of external data APIs for news ingestion, evergreen fact generation, and curated seeding pipelines. Each entry includes a suggested env var name following the project convention (SCREAMING_SNAKE_CASE + _API_KEY).
Integration status key: active = in production, stub = enum exists but not implemented, planned = recommended for integration, optional = nice-to-have enrichment.
#News Ingestion APIs
General-purpose news aggregators feeding the INGEST_NEWS pipeline via worker-ingest.
| # | Provider | URL | Free Tier | Env Var | Eko Categories | Status |
|---|
| 1 | NewsAPI.org | https://newsapi.org | 100 req/day (localhost only; prod $449/mo) | NEWS_API_KEY | All (via category mapping) | active |
| 2 | GNews | https://gnews.io | 100 req/day, 12h delay | GOOGLE_NEWS_API_KEY | All (via topic param) | active |
| 3 | TheNewsAPI | https://www.thenewsapi.com | 100 req/day, 3 articles/req | THENEWS_API_KEY | All (via category param) | active |
| 4 | NewsData.io | https://newsdata.io | 200 credits/day; 89 languages, local news, sentiment | NEWSDATA_API_KEY | All + regional/local | planned |
| 5 | World News API | https://worldnewsapi.com | 1,500 req/month; semantic tagging, sentiment, entities | WORLD_NEWS_API_KEY | All (210 countries) | planned |
| 6 | Mediastack | https://mediastack.com | 500 calls/month; 7,500+ sources | MEDIASTACK_API_KEY | All | planned |
| 7 | NewsAPI.ai (Event Registry) | https://newsapi.ai | Limited free; 150K sources, event clustering, 90+ languages | EVENT_REGISTRY_API_KEY | All | planned |
| 8 | Currents API | https://currentsapi.services | 600 req/day; category filtering | CURRENTS_API_KEY | All | optional |
| 9 | Google News | (via SerpApi or RSS) | Varies by method | GOOGLE_NEWS_SERP_API_KEY | All | stub |
| 10 | Bing News | https://www.microsoft.com/en-us/bing/apis/bing-news-search-api | 1,000 calls/month (S1 free) | BING_NEWS_API_KEY | All | stub |
#Evergreen & Knowledge Base APIs
Structured knowledge sources for the evergreen-boost pipeline and daily fact generation.
| # | Provider | URL | Free Tier | Env Var | Eko Categories | Status |
|---|
| 11 | Wikidata REST API | https://www.wikidata.org/wiki/Wikidata:REST_API | Free, unlimited; 120M+ entities | WIKIDATA_API_KEY (none required) | All 31 categories | planned |
| 12 | Wikidata SPARQL | https://query.wikidata.org | Free, unlimited; structured queries | (none required) | All 31 categories | planned |
| 13 | Wikipedia API | https://api.wikimedia.org | Free, unlimited; "On This Day" | WIKIMEDIA_ACCESS_TOKEN (optional) | history, science, people, culture | planned |
| 14 | Open Trivia DB | https://opentdb.com | Free, no key; pre-structured Q&A | (none required) | All (categorized trivia) | planned |
| 15 | The Trivia API | https://the-trivia-api.com | Free (CC BY-NC 4.0); difficulty-tagged | (none required) | All (categorized trivia) | optional |
| 16 | Numbers API | http://numbersapi.com | Free, no key; math/date facts | (none required) | math, history | planned |
| 17 | DBpedia | https://www.dbpedia.org/resources/sparql/ | Free, unlimited; structured Wikipedia extracts | (none required) | All 31 categories | optional |
| 18 | Google Knowledge Graph | https://developers.google.com/knowledge-graph | 100K calls/day; entity validation | GOOGLE_KG_API_KEY | All (entity verification) | optional |
#Category-Specific APIs
#Sports
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 19 | BALLDONTLIE | https://www.balldontlie.io | Free tier; NBA, NFL, MLB, NHL, EPL, MMA | BALLDONTLIE_API_KEY | basketball, soccer, football, baseball | planned |
| 20 | API-Sports | https://api-sports.io | 100 req/day; 2,000+ competitions, 15yr history | API_SPORTS_API_KEY | All sports subcategories | planned |
| 21 | TheSportsDB | https://www.thesportsdb.com | V1 free (key=1); V2 $9/mo via X-API-KEY header | THESPORTSDB_API_KEY (V1 uses hardcoded 1; V2 needs paid key) | All sports subcategories | optional |
| 22 | Football-Data.org | https://www.football-data.org | Free; European football leagues | FOOTBALL_DATA_API_KEY | soccer | optional |
#Science
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 23 | NASA APIs | https://api.nasa.gov | 1,000 req/hr; APOD, Mars Rover, NEO, exoplanets | NASA_API_KEY | space, physics-space | planned |
| 24 | PubMed / NCBI | https://www.ncbi.nlm.nih.gov/home/develop/api/ | Free, unlimited; biomedical literature | NCBI_API_KEY (optional, increases rate) | biology-medicine | planned |
| 25 | arXiv API | https://arxiv.org/help/api | Free, no key; physics/CS/math preprints | (none required) | physics-space, chemistry-materials | optional |
| 26 | OpenAlex | https://openalex.org | Free, unlimited; 250M+ scholarly works | OPENALEX_API_KEY (optional, polite pool) | All science subcategories | planned |
| 27 | Springer Nature | https://dev.springernature.com | Free tier; scholarly articles metadata | SPRINGER_API_KEY | All science subcategories | optional |
| 28 | Nobel Prize API | https://www.nobelprize.org/about/developer-zone-2/ | Free; all laureates, prizes, motivations | (none required) | nobel-prize, people | planned |
#Finance & Business
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 29 | Alpha Vantage | https://www.alphavantage.co | 25 req/day; stocks, forex, crypto, 60+ indicators | ALPHA_VANTAGE_API_KEY | finance | planned |
| 30 | Financial Modeling Prep | https://site.financialmodelingprep.com | 250 req/day; fundamentals, earnings, economic calendar | FMP_API_KEY | finance, business | planned |
| 31 | Finnhub | https://finnhub.io | 60 req/min; stock, forex, crypto, company news | FINNHUB_API_KEY | finance, business | optional |
| 32 | FRED (St. Louis Fed) | https://fred.stlouisfed.org/docs/api/ | Free, unlimited; 800K+ economic time series | FRED_API_KEY | finance, business, governments | planned |
| 33 | World Bank API | https://datahelpdesk.worldbank.org/knowledgebase/topics/125589 | Free, unlimited; global development indicators | (none required) | business, governments | optional |
#Entertainment, TV & Culture
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 34 | TMDb | https://developer.themoviedb.org | Free (non-commercial); 9M+ titles, 11M+ people | TMDB_API_KEY | entertainment, tv, people | planned |
| 35 | OMDb | https://www.omdbapi.com | 1,000 req/day; IMDb/RT/Metacritic ratings | OMDB_API_KEY | entertainment, tv | optional |
| 36 | MusicBrainz | https://musicbrainz.org/doc/MusicBrainz_API | Free, unlimited; artists, albums, relationships | (none required; User-Agent header) | culture (music) | planned |
| 37 | Spotify Web API | https://developer.spotify.com/documentation/web-api | Free with OAuth; artist metadata, genres, popularity | SPOTIFY_CLIENT_ID / SPOTIFY_CLIENT_SECRET | culture (music) | optional |
| 38 | Open Library | https://openlibrary.org/developers/api | Free, unlimited; 20M+ books, authors | (none required) | publishing, culture | planned |
#History
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 39 | Day in History API | https://dayinhistory.dev | Free (10 req/hr); curated events | (none required) | All history subcategories | planned |
| 40 | OnThisDay (ZenQuotes) | https://today.zenquotes.io | Free; events by date | (none required) | All history subcategories | planned |
| 41 | Historical Events (API Ninjas) | https://api-ninjas.com/api/historicalevents | 10K req/month; antiquity to modern | API_NINJAS_API_KEY | All history subcategories | optional |
| 42 | Wikipedia "On This Day" | https://api.wikimedia.org | Free, unlimited; daily notable events | WIKIMEDIA_ACCESS_TOKEN (optional) | All history subcategories | planned |
#Geography, Places & Travel
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 43 | REST Countries | https://restcountries.com | Free, no key, 2K req/hr; 250 countries | (none required) | countries, geography | planned |
| 44 | Country State City | https://countrystatecity.in | Free tier; 250 countries, 5K states, 151K cities | CSC_API_KEY | places, geography, travel | optional |
| 45 | GeoNames | https://www.geonames.org/export/web-services.html | 30K credits/day; 11M+ place names | GEONAMES_USERNAME | geography, places, travel | planned |
| 46 | OpenWeatherMap | https://openweathermap.org/api | 1,000 req/day; weather + forecasts | OPENWEATHER_API_KEY | weather-climate | planned |
| 47 | Open-Meteo | https://open-meteo.com | Free, no key; weather + historical climate | (none required) | weather-climate | optional |
#Technology
#Animals
#Art, Architecture & Design
#Food & Beverage / Cooking
#Games
#Governments
#Math & How Things Work
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| 66 | Wolfram Alpha API | https://products.wolframalpha.com/api | 2,000 req/month; computed answers | WOLFRAM_APP_ID | math, how-things-work, science | optional |
#People (cross-category)
| # | Provider | URL | Free Tier | Env Var | Subcategories | Status |
|---|
| — | Wikidata SPARQL | (see #12) | (see #12) | (see #12) | people, historic-figures | planned |
| — | Nobel Prize API | (see #28) | (see #28) | (see #28) | people, nobel-prize | planned |
| — | TMDb | (see #34) | (see #34) | (see #34) | people | planned |
#Geology
#Summary Statistics
| Metric | Count |
|---|
| Total APIs cataloged | 67 |
| Currently active | 3 |
| Stubs (enum exists) | 2 |
| Planned (recommended) | 30 |
| Optional (nice-to-have) | 32 |
| Require API key | 33 |
| No key required | 34 |
| Eko categories covered | 31/31 |
#Env Var Quick Reference
All keys to add to .env.example when integrating. Grouped by pipeline.
#News Ingestion (existing)
NEWS_API_KEY=
GOOGLE_NEWS_API_KEY=
THENEWS_API_KEY=
#News Ingestion (new)
NEWSDATA_API_KEY=
WORLD_NEWS_API_KEY=
MEDIASTACK_API_KEY=
EVENT_REGISTRY_API_KEY=
CURRENTS_API_KEY=
GOOGLE_NEWS_SERP_API_KEY=
BING_NEWS_API_KEY=
#Knowledge Base / Evergreen
WIKIMEDIA_ACCESS_TOKEN=
GOOGLE_KG_API_KEY=
#Sports
BALLDONTLIE_API_KEY=
API_SPORTS_API_KEY=
THESPORTSDB_API_KEY=
FOOTBALL_DATA_API_KEY=
#Science
NASA_API_KEY=
NCBI_API_KEY=
OPENALEX_API_KEY=
SPRINGER_API_KEY=
#Finance & Business
ALPHA_VANTAGE_API_KEY=
FMP_API_KEY=
FINNHUB_API_KEY=
FRED_API_KEY=
#Entertainment & Culture
TMDB_API_KEY=
OMDB_API_KEY=
SPOTIFY_CLIENT_ID=
SPOTIFY_CLIENT_SECRET=
#Geography & Weather
CSC_API_KEY=
GEONAMES_USERNAME=
OPENWEATHER_API_KEY=
#Technology
GITHUB_API_TOKEN=
PRODUCTHUNT_ACCESS_TOKEN=
#Art & Museums
RIJKSMUSEUM_API_KEY=
HARVARD_ART_API_KEY=
#Food & Cooking
SPOONACULAR_API_KEY=
#Games
RAWG_API_KEY=
TWITCH_CLIENT_ID=
TWITCH_CLIENT_SECRET=
#Governments
PROPUBLICA_API_KEY=
OPEN_STATES_API_KEY=
#Math & Knowledge
WOLFRAM_APP_ID=
API_NINJAS_API_KEY=
#Integration Priority
#Tier 1 — Highest ROI (integrate first)
| # | API | Why | Cost Impact |
|---|
| 11-12 | Wikidata REST + SPARQL | Replaces AI entity generation for all 31 categories | Saves ~$1/500 entities |
| 34 | TMDb | 9M+ titles, structured, free — covers entertainment/tv/people | Reduces extraction cost |
| 23 | NASA APIs | High-engagement science content with images | Free + image enrichment |
| 43 | REST Countries | Fully structured, zero extraction needed for geography | $0 total |
| 39-42 | History APIs | Daily evergreen pipeline feed — "On This Day" | $0 total |
| 4 | NewsData.io | Best free-tier news API to add (200/day, regional) | $0 free tier |
| 5 | World News API | Semantic tagging reduces downstream AI costs | $0 free tier |
#Tier 2 — Deep category coverage
| # | API | Why |
|---|
| 19-20 | Sports APIs | Structured scores/stats map directly to sports schema keys |
| 29, 32 | Alpha Vantage + FRED | Market data + economic indicators for finance/business |
| 53-54 | Museum APIs | Free artworks with images for art/architecture |
| 36 | MusicBrainz | Relationship-rich music data for culture seeding |
| 57-58 | Food APIs | 3M+ products + recipes, zero cost |
| 26 | OpenAlex | 250M+ scholarly works for deep science seeding |
#Tier 3 — Niche enrichment
| # | API | Categories |
|---|
| 61-63 | Game APIs | games |
| 51-52 | Wildlife APIs | animals |
| 48-50 | Tech APIs | technology |
| 66 | Wolfram Alpha | math, how-things-work |
| 67 | USGS Earthquakes | geology |
| 46-47 | Weather APIs | weather-climate |