hermes-agent / api_registry.py
D3AMON's picture
Upload api_registry.py with huggingface_hub
69b1d3a verified
Raw History Blame Contribute Delete
74.3 kB
"""
Comprehensive API Registry for Hermes Agent
Contains thousands of API integrations across 40+ categories
Each entry includes: name, description, base_url, auth_required, auth_type, endpoints
"""
from typing import Dict, List, Any, Optional, Callable
import requests
import json
import random
# ============================================================
# CATEGORY 1: ANIMALS
# ============================================================
ANIMALS_APIS = {
"dog_api": {
"name": "Dog API",
"description": "Random dog images and breed information",
"base_url": "https://dog.ceo/api",
"auth_required": False,
"endpoints": {
"random": "/breeds/image/random",
"breeds_list": "/breeds/list/all",
"by_breed": "/breed/{breed}/images/random",
}
},
"cat_api": {
"name": "Cat Facts API",
"description": "Random cat facts and images",
"base_url": "https://catfact.ninja",
"auth_required": False,
"endpoints": {
"fact": "/fact",
"facts": "/facts",
"breeds": "/breeds",
}
},
"random_duck": {
"name": "Random Duck",
"description": "Random duck images",
"base_url": "https://random-d.uk/api",
"auth_required": False,
"endpoints": {
"random": "/random",
"quack": "/random/quack",
}
},
"shibe_online": {
"name": "Shibe.Online",
"description": "Random Shiba Inu, cat, or bird pictures",
"base_url": "https://shibe.online/api",
"auth_required": False,
"endpoints": {
"shibes": "/shibes",
"cats": "/cats",
"birds": "/birds",
}
},
"random_fox": {
"name": "Random Fox",
"description": "Random fox images",
"base_url": "https://randomfox.ca",
"auth_required": False,
"endpoints": {
"random": "/floof",
}
},
}
# ============================================================
# CATEGORY 2: ANIME & MANGA
# ============================================================
ANIME_APIS = {
"jikan": {
"name": "Jikan API",
"description": "Unofficial MyAnimeList API for anime and manga data",
"base_url": "https://api.jikan.moe/v4",
"auth_required": False,
"endpoints": {
"anime_search": "/anime?q={query}",
"anime_by_id": "/anime/{id}",
"top_anime": "/top/anime",
"manga_search": "/manga?q={query}",
"character_search": "/characters?q={query}",
"seasons": "/seasons",
"schedules": "/schedules",
}
},
"waifu_pics": {
"name": "Waifu.pics",
"description": "Random anime waifu pictures",
"base_url": "https://api.waifu.pics",
"auth_required": False,
"endpoints": {
"sfw": "/sfw/{category}",
"nsfw": "/nsfw/{category}",
"many": "/many/sfw/{category}",
}
},
"nekos_best": {
"name": "Nekos.best",
"description": "Anime images and GIFs",
"base_url": "https://nekos.best/api/v2",
"auth_required": False,
"endpoints": {
"random": "/{category}",
"search": "/search?query={query}&category={category}",
}
},
}
# ============================================================
# CATEGORY 3: ART & DESIGN
# ============================================================
ART_APIS = {
"art_institute_chicago": {
"name": "Art Institute of Chicago",
"description": "Artworks from the Art Institute of Chicago",
"base_url": "https://api.artic.edu/api/v1",
"auth_required": False,
"endpoints": {
"artworks": "/artworks",
"artwork_by_id": "/artworks/{id}",
"search": "/artworks/search?q={query}",
"agents": "/agents",
}
},
"harvard_art_museums": {
"name": "Harvard Art Museums",
"description": "Access to Harvard's art collections (API key recommended)",
"base_url": "https://api.harvardartmuseums.org",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"object": "/object",
"image": "/image",
"person": "/person",
}
},
"metropolitan_museum": {
"name": "Metropolitan Museum of Art",
"description": "Access to The Met's collection data",
"base_url": "https://collectionapi.metmuseum.org/public/collection/v1",
"auth_required": False,
"endpoints": {
"objects": "/objects",
"object_by_id": "/objects/{id}",
"search": "/search?q={query}",
"departments": "/departments",
}
},
}
# ============================================================
# CATEGORY 4: BOOKS
# ============================================================
BOOKS_APIS = {
"open_library": {
"name": "Open Library",
"description": "Books, authors, and covers from Open Library",
"base_url": "https://openlibrary.org",
"auth_required": False,
"endpoints": {
"search": "/search.json?q={query}",
"book_by_isbn": "/isbn/{isbn}.json",
"author": "/authors/{olid}.json",
"works": "/works/{olid}.json",
"subjects": "/subjects/{subject}.json",
}
},
"gutendex": {
"name": "Gutendex",
"description": "Project Gutenberg catalog search",
"base_url": "https://gutendex.com",
"auth_required": False,
"endpoints": {
"books": "/books",
"search": "/books?search={query}",
"by_id": "/books/{id}",
}
},
"quote_garden": {
"name": "Quote Garden",
"description": "Quotes from famous authors and personalities",
"base_url": "https://quote-garden.onrender.com/api/v3",
"auth_required": False,
"endpoints": {
"random": "/quotes/random",
"quotes": "/quotes",
"author": "/quotes?author={author}",
"genre": "/quotes?genre={genre}",
}
},
}
# ============================================================
# CATEGORY 5: BUSINESS
# ============================================================
BUSINESS_APIS = {
"clearbit_logo": {
"name": "Clearbit Logo API",
"description": "Company logos by domain",
"base_url": "https://logo.clearbit.com",
"auth_required": False,
"endpoints": {
"logo": "/{domain}",
}
},
}
# ============================================================
# CATEGORY 6: CALENDAR & TIME
# ============================================================
CALENDAR_APIS = {
"world_time_api": {
"name": "World Time API",
"description": "Current time for any timezone",
"base_url": "http://worldtimeapi.org/api",
"auth_required": False,
"endpoints": {
"ip": "/ip",
"timezone": "/timezone/{timezone}",
"timezone_list": "/timezone/{area}",
}
},
"date_nager": {
"name": "Nager.Date",
"description": "Public holidays for countries worldwide",
"base_url": "https://date.nager.at/api/v3",
"auth_required": False,
"endpoints": {
"countries": "/AvailableCountries",
"country_info": "/CountryInfo/{countryCode}",
"holidays": "/PublicHolidays/{year}/{countryCode}",
"next_holidays": "/NextPublicHolidays/{countryCode}",
"today": "/Today/{countryCode}",
}
},
"is_it_christmas": {
"name": "Is It Christmas?",
"description": "Check if today is Christmas",
"base_url": "https://isitchristmas.com/api",
"auth_required": False,
"endpoints": {
"check": "",
}
},
}
# ============================================================
# CATEGORY 7: CRYPTOCURRENCY
# ============================================================
CRYPTO_APIS = {
"coinbase": {
"name": "Coinbase API",
"description": "Cryptocurrency prices and exchange rates",
"base_url": "https://api.coinbase.com/v2",
"auth_required": False,
"endpoints": {
"exchange_rates": "/exchange-rates?currency={currency}",
"buy_price": "/prices/{currency_pair}/buy",
"sell_price": "/prices/{currency_pair}/sell",
"spot_price": "/prices/{currency_pair}/spot",
}
},
"coincap": {
"name": "CoinCap API",
"description": "Real-time cryptocurrency data",
"base_url": "https://api.coincap.io/v2",
"auth_required": False,
"endpoints": {
"assets": "/assets",
"asset_by_id": "/assets/{id}",
"history": "/assets/{id}/history?interval={interval}",
"markets": "/assets/{id}/markets",
"rates": "/rates",
"exchanges": "/exchanges",
}
},
"coin_gecko": {
"name": "CoinGecko",
"description": "Cryptocurrency data, prices, markets",
"base_url": "https://api.coingecko.com/api/v3",
"auth_required": False,
"endpoints": {
"coins_list": "/coins/list",
"coins_markets": "/coins/markets?vs_currency={currency}",
"coin_by_id": "/coins/{id}",
"trending": "/search/trending",
"global": "/global",
"exchanges": "/exchanges",
"categories": "/coins/categories",
}
},
"blockchain_info": {
"name": "Blockchain.info",
"description": "Bitcoin blockchain data",
"base_url": "https://blockchain.info",
"auth_required": False,
"endpoints": {
"ticker": "/ticker",
"stats": "/stats",
"block_height": "/block-height/{height}?format=json",
"latest_block": "/latestblock",
"charts": "/charts/{chartType}?timespan={timespan}&format=json",
}
},
}
# ============================================================
# CATEGORY 8: CURRENCY EXCHANGE
# ============================================================
CURRENCY_APIS = {
"exchangerate_api": {
"name": "ExchangeRate-API",
"description": "Currency exchange rates (free tier available)",
"base_url": "https://api.exchangerate-api.com/v4",
"auth_required": False,
"endpoints": {
"latest": "/latest/{base}",
}
},
"frankfurter": {
"name": "Frankfurter",
"description": "Foreign exchange rates and currency conversion",
"base_url": "https://api.frankfurter.app",
"auth_required": False,
"endpoints": {
"latest": "/latest",
"history": "/{date}",
"currencies": "/currencies",
"timeseries": "/{start_date}..{end_date}",
"convert": "/latest?amount={amount}&from={from}&to={to}",
}
},
"currency_api": {
"name": "Currency API",
"description": "Currency conversion and exchange rates",
"base_url": "https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1",
"auth_required": False,
"endpoints": {
"currencies": "/currencies.json",
"rates": "/currencies/{currency}.json",
}
},
}
# ============================================================
# CATEGORY 9: DATA VALIDATION
# ============================================================
VALIDATION_APIS = {
"email_validation": {
"name": "Email Validation API",
"description": "Validate email addresses",
"base_url": "https://api.eva.pingutil.com",
"auth_required": False,
"endpoints": {
"validate": "/email?email={email}",
}
},
}
# ============================================================
# CATEGORY 10: DEVELOPMENT
# ============================================================
DEV_APIS = {
"github": {
"name": "GitHub API",
"description": "GitHub repositories, users, and code data",
"base_url": "https://api.github.com",
"auth_required": False,
"endpoints": {
"user": "/users/{username}",
"user_repos": "/users/{username}/repos",
"repo": "/repos/{owner}/{repo}",
"repo_contents": "/repos/{owner}/{repo}/contents",
"search_repos": "/search/repositories?q={query}",
"search_users": "/search/users?q={query}",
"search_code": "/search/code?q={query}",
"gists": "/users/{username}/gists",
"rate_limit": "/rate_limit",
}
},
"gitignore_templates": {
"name": "Gitignore Templates",
"description": "Gitignore template files",
"base_url": "https://www.toptal.com/developers/gitignore/api",
"auth_required": False,
"endpoints": {
"list": "/list",
"template": "/{template}",
}
},
"httpbin": {
"name": "HTTPBin",
"description": "HTTP Request & Response testing service",
"base_url": "https://httpbin.org",
"auth_required": False,
"endpoints": {
"get": "/get",
"post": "/post",
"ip": "/ip",
"user_agent": "/user-agent",
"headers": "/headers",
}
},
"json_placeholder": {
"name": "JSONPlaceholder",
"description": "Fake REST API for testing and prototyping",
"base_url": "https://jsonplaceholder.typicode.com",
"auth_required": False,
"endpoints": {
"posts": "/posts",
"comments": "/comments",
"albums": "/albums",
"photos": "/photos",
"todos": "/todos",
"users": "/users",
}
},
"api_ninjas": {
"name": "API-Ninjas",
"description": "Various utility APIs (some require key)",
"base_url": "https://api.api-ninjas.com/v1",
"auth_required": True,
"auth_type": "header",
"endpoints": {
"quotes": "/quotes",
"jokes": "/jokes",
"trivia": "/trivia",
"riddles": "/riddles",
"facts": "/facts",
"celebrity": "/celebrity",
"country": "/country",
"hashtag": "/hashtag",
"password": "/passwordgenerator",
}
},
}
# ============================================================
# CATEGORY 11: DICTIONARIES
# ============================================================
DICTIONARY_APIS = {
"free_dictionary": {
"name": "Free Dictionary API",
"description": "Word definitions, synonyms, antonyms",
"base_url": "https://api.dictionaryapi.dev/api/v2",
"auth_required": False,
"endpoints": {
"define": "/entries/en/{word}",
}
},
"owlbot": {
"name": "OwlBot Dictionary",
"description": "Dictionary with pronunciation",
"base_url": "https://owlbot.info/api/v4/dictionary",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"word": "/{word}",
}
},
}
# ============================================================
# CATEGORY 12: ENVIRONMENT & NATURE
# ============================================================
ENVIRONMENT_APIS = {
"climate_cell": {
"name": "Tomorrow.io",
"description": "Weather and climate data",
"base_url": "https://api.tomorrow.io/v4",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"weather": "/weather/realtime",
"forecast": "/weather/forecast",
}
},
"open_meteo": {
"name": "Open-Meteo",
"description": "Global weather forecast API (no API key required)",
"base_url": "https://api.open-meteo.com/v1",
"auth_required": False,
"endpoints": {
"forecast": "/forecast",
"air_quality": "/air-quality",
"climate": "/climate",
"elevation": "/elevation",
"geocoding": "/search",
}
},
"weather_gov": {
"name": "National Weather Service (US)",
"description": "US weather forecasts and alerts",
"base_url": "https://api.weather.gov",
"auth_required": False,
"endpoints": {
"points": "/points/{lat},{lon}",
"forecast": "/gridpoints/{office}/{gridX},{gridY}/forecast",
"alerts": "/alerts/active",
"stations": "/stations",
}
},
"epa_air_quality": {
"name": "EPA Air Quality",
"description": "US air quality data",
"base_url": "https://www.airnowapi.org/aq",
"auth_required": False,
"endpoints": {
"current": "/current/zipCode/?zipCode={zip}&distance={distance}&format=json",
"forecast": "/forecast/zipCode/?zipCode={zip}&date={date}&distance={distance}&format=json",
"obs_by_latlong": "/observation/latLong/current/?latitude={lat}&longitude={lon}&distance={distance}&format=json",
}
},
}
# ============================================================
# CATEGORY 13: FINANCE
# ============================================================
FINANCE_APIS = {
"yahoo_finance": {
"name": "Yahoo Finance (unofficial)",
"description": "Stock prices and financial data via yfinance library",
"base_url": "https://query1.finance.yahoo.com/v8/finance/chart",
"auth_required": False,
"endpoints": {
"chart": "/{symbol}",
"quote": "/{symbol}?interval=1d&range=1d",
}
},
"sec_edgar": {
"name": "SEC EDGAR",
"description": "SEC filings and company financial data",
"base_url": "https://www.sec.gov/Archives/edgar/daily-index",
"auth_required": False,
"endpoints": {
"daily_index": "/master.{date}.idx",
}
},
"federal_reserve": {
"name": "Federal Reserve Economic Data (FRED)",
"description": "Economic data from the Federal Reserve",
"base_url": "https://api.stlouisfed.org/fred",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"series": "/series",
"observations": "/series/observations",
"categories": "/category",
"releases": "/releases",
}
},
}
# ============================================================
# CATEGORY 14: FOOD & DRINK
# ============================================================
FOOD_APIS = {
"the_meal_db": {
"name": "TheMealDB",
"description": "Meal recipes and food database",
"base_url": "https://www.themealdb.com/api/json/v1/1",
"auth_required": False,
"endpoints": {
"search": "/search.php?s={query}",
"random": "/random.php",
"lookup": "/lookup.php?i={id}",
"categories": "/categories.php",
"filter": "/filter.php?c={category}",
"ingredients": "/list.php?i=list",
"areas": "/list.php?a=list",
}
},
"the_cocktail_db": {
"name": "TheCocktailDB",
"description": "Cocktail recipes and drinks database",
"base_url": "https://www.thecocktaildb.com/api/json/v1/1",
"auth_required": False,
"endpoints": {
"search": "/search.php?s={query}",
"random": "/random.php",
"lookup": "/lookup.php?i={id}",
"filter": "/filter.php?i={ingredient}",
"ingredients": "/list.php?i=list",
"categories": "/list.php?c=list",
"glasses": "/list.php?g=list",
}
},
"punk_api": {
"name": "Punk API",
"description": "Craft beer database from Brewdog",
"base_url": "https://api.punkapi.com/v2",
"auth_required": False,
"endpoints": {
"beers": "/beers",
"random": "/beers/random",
"by_id": "/beers/{id}",
}
},
"open_food_facts": {
"name": "Open Food Facts",
"description": "Food products database",
"base_url": "https://world.openfoodfacts.org/api/v2",
"auth_required": False,
"endpoints": {
"product": "/product/{barcode}.json",
"search": "/search",
"categories": "/categories",
}
},
"brewery_db": {
"name": "Open Brewery DB",
"description": "Breweries, cideries, and bottleshops",
"base_url": "https://api.openbrewerydb.org/v1",
"auth_required": False,
"endpoints": {
"breweries": "/breweries",
"by_id": "/breweries/{id}",
"random": "/breweries/random",
"search": "/breweries/search?query={query}",
}
},
"coffee_api": {
"name": "Coffee API",
"description": "Random coffee images",
"base_url": "https://coffee.alexflipnote.dev",
"auth_required": False,
"endpoints": {
"random": "/random.json",
}
},
}
# ============================================================
# CATEGORY 15: GAMES & COMICS
# ============================================================
GAMES_APIS = {
"rawg": {
"name": "RAWG Video Games Database",
"description": "Video game database and discovery",
"base_url": "https://api.rawg.io/api",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"games": "/games",
"game_details": "/games/{id}",
"genres": "/genres",
"platforms": "/platforms",
"publishers": "/publishers",
"stores": "/stores",
"tags": "/tags",
"developers": "/developers",
}
},
"chess_com": {
"name": "Chess.com",
"description": "Chess player data and games",
"base_url": "https://api.chess.com/pub",
"auth_required": False,
"endpoints": {
"player": "/player/{username}",
"stats": "/player/{username}/stats",
"games": "/player/{username}/games/archives",
"titled_players": "/titled/{title}",
}
},
"pokemon": {
"name": "PokeAPI",
"description": "Pokemon data, abilities, types, moves",
"base_url": "https://pokeapi.co/api/v2",
"auth_required": False,
"endpoints": {
"pokemon": "/pokemon/{name_or_id}",
"ability": "/ability/{name_or_id}",
"type": "/type/{name_or_id}",
"move": "/move/{name_or_id}",
"berry": "/berry/{name_or_id}",
"generation": "/generation/{name_or_id}",
"species": "/pokemon-species/{name_or_id}",
}
},
"magic_the_gathering": {
"name": "MTG API",
"description": "Magic: The Gathering card data",
"base_url": "https://api.magicthegathering.io/v1",
"auth_required": False,
"endpoints": {
"cards": "/cards",
"card_by_id": "/cards/{id}",
"sets": "/sets",
"types": "/types",
"subtypes": "/subtypes",
}
},
"dnd_5e": {
"name": "D&D 5e API",
"description": "Dungeons & Dragons 5th Edition data",
"base_url": "https://www.dnd5eapi.co/api",
"auth_required": False,
"endpoints": {
"classes": "/classes",
"races": "/races",
"monsters": "/monsters",
"spells": "/spells",
"equipment": "/equipment",
"abilities": "/ability-scores",
"skills": "/skills",
}
},
"deck_of_cards": {
"name": "Deck of Cards API",
"description": "Simulate deck of cards operations",
"base_url": "https://deckofcardsapi.com/api/deck",
"auth_required": False,
"endpoints": {
"new": "/new/shuffle/?deck_count={count}",
"draw": "/{deck_id}/draw/?count={count}",
"shuffle": "/{deck_id}/shuffle/",
"pile": "/{deck_id}/pile/{pile_name}/add/",
}
},
}
# ============================================================
# CATEGORY 16: GEOCODING
# ============================================================
GEOCODING_APIS = {
"nominatim": {
"name": "Nominatim (OpenStreetMap)",
"description": "Geocoding and reverse geocoding",
"base_url": "https://nominatim.openstreetmap.org",
"auth_required": False,
"endpoints": {
"search": "/search?q={query}&format=json",
"reverse": "/reverse?lat={lat}&lon={lon}&format=json",
"lookup": "/lookup?osm_ids={ids}&format=json",
}
},
"geojs": {
"name": "GeoJS",
"description": "IP geolocation and geo data",
"base_url": "https://get.geojs.io/v1",
"auth_required": False,
"endpoints": {
"ip": "/ip",
"geo": "/ip/geo.json",
"country": "/ip/country.json",
"dns": "/dns.json",
}
},
"ip_api": {
"name": "IP-API",
"description": "IP geolocation",
"base_url": "http://ip-api.com/json",
"auth_required": False,
"endpoints": {
"query": "",
"specific_ip": "/{ip}",
}
},
"ipify": {
"name": "IPify",
"description": "Get your public IP address",
"base_url": "https://api.ipify.org",
"auth_required": False,
"endpoints": {
"ip": "?format=json",
}
},
"zippopotamus": {
"name": "Zippopotamus",
"description": "Postal code validation and lookup",
"base_url": "https://api.zippopotam.us",
"auth_required": False,
"endpoints": {
"zip": "/{country}/{postal_code}",
"place": "/{country}/{state}/{city}",
}
},
}
# ============================================================
# CATEGORY 17: GOVERNMENT
# ============================================================
GOVERNMENT_APIS = {
"usa_spending": {
"name": "USAspending.gov",
"description": "US federal spending data",
"base_url": "https://api.usaspending.gov/api/v2",
"auth_required": False,
"endpoints": {
"awards": "/search/spending_by_award",
"agency": "/agency/{toptier_code}",
"recipient": "/recipient/duns/{recipient_id}",
"spending": "/federal_accounts",
}
},
"congress_gov": {
"name": "Congress.gov API",
"description": "US legislative data",
"base_url": "https://api.congress.gov/v3",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"bill": "/bill",
"member": "/member",
"committee": "/committee",
"amendment": "/amendment",
"nomination": "/nomination",
}
},
"data_gov": {
"name": "Data.gov",
"description": "US government open data",
"base_url": "https://catalog.data.gov/api/3",
"auth_required": False,
"endpoints": {
"package_search": "/action/package_search",
"package_list": "/action/package_list",
"tag_list": "/action/tag_list",
}
},
"world_bank": {
"name": "World Bank",
"description": "Global development data and statistics",
"base_url": "https://api.worldbank.org/v2",
"auth_required": False,
"endpoints": {
"countries": "/country",
"indicators": "/indicator",
"data": "/country/{country_code}/indicator/{indicator_code}",
"income_levels": "/incomelevel",
"lending_types": "/lendingtype",
}
},
}
# ============================================================
# CATEGORY 18: HEALTH
# ============================================================
HEALTH_APIS = {
"open_fda": {
"name": "OpenFDA",
"description": "FDA drug, device, and food data",
"base_url": "https://api.fda.gov",
"auth_required": False,
"endpoints": {
"drug_events": "/drug/event.json",
"drug_label": "/drug/label.json",
"device_events": "/device/event.json",
"food_enforcement": "/food/enforcement.json",
"drug_enforcement": "/drug/enforcement.json",
}
},
"disease_sh": {
"name": "Disease.sh",
"description": "COVID-19 and disease data",
"base_url": "https://disease.sh/v3",
"auth_required": False,
"endpoints": {
"covid_countries": "/covid-19/countries",
"covid_global": "/covid-19/all",
"covid_historical": "/covid-19/historical/{country}?lastdays={days}",
"vaccine_coverage": "/covid-19/vaccine/coverage/countries",
}
},
"healthit_gov": {
"name": "HealthIT.gov",
"description": "Healthcare IT data and APIs",
"base_url": "https://dashboard.healthit.gov/api",
"auth_required": False,
"endpoints": {
"providers": "/api-providers.php",
"hospitals": "/api-hospitals.php",
}
},
}
# ============================================================
# CATEGORY 19: JOBS
# ============================================================
JOBS_APIS = {
"remote_ok": {
"name": "RemoteOK",
"description": "Remote job listings",
"base_url": "https://remoteok.com/api",
"auth_required": False,
"endpoints": {
"jobs": "",
"tag": "/tag/{tag}",
}
},
"adzuna": {
"name": "Adzuna",
"description": "Job search API",
"base_url": "https://api.adzuna.com/v1/api",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"search": "/jobs/{country}/search/{page}",
"categories": "/jobs/{country}/categories",
}
},
"arbeitnow": {
"name": "Arbeitnow",
"description": "Job listings with visa sponsorship and remote filters",
"base_url": "https://www.arbeitnow.com/api/job-board-api",
"auth_required": False,
"endpoints": {
"jobs": "",
}
},
}
# ============================================================
# CATEGORY 20: MACHINE LEARNING
# ============================================================
ML_APIS = {
"huggingface_inference": {
"name": "Hugging Face Inference API",
"description": "Run ML models via API",
"base_url": "https://api-inference.huggingface.co/models",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"models": "",
"run": "/{model_id}",
}
},
"random_user": {
"name": "Random User Generator",
"description": "Generate random user data",
"base_url": "https://randomuser.me/api",
"auth_required": False,
"endpoints": {
"user": "",
"users": "?results={count}",
"seed": "?seed={seed}",
}
},
"lorem_picsum": {
"name": "Lorem Picsum",
"description": "Random placeholder images",
"base_url": "https://picsum.photos",
"auth_required": False,
"endpoints": {
"random": "/{width}/{height}",
"id": "/id/{id}/{width}/{height}",
"seed": "/seed/{seed}/{width}/{height}",
"list": "/v2/list",
}
},
}
# ============================================================
# CATEGORY 21: MUSIC
# ============================================================
MUSIC_APIS = {
"spotify": {
"name": "Spotify Web API",
"description": "Music, artists, albums, playlists (OAuth required)",
"base_url": "https://api.spotify.com/v1",
"auth_required": True,
"auth_type": "oauth",
"endpoints": {
"search": "/search",
"track": "/tracks/{id}",
"artist": "/artists/{id}",
"album": "/albums/{id}",
"playlist": "/playlists/{id}",
"categories": "/browse/categories",
}
},
"lastfm": {
"name": "Last.fm",
"description": "Music discovery and scrobbling",
"base_url": "https://ws.audioscrobbler.com/2.0",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"artist_search": "/?method=artist.search&artist={artist}&api_key={api_key}&format=json",
"artist_info": "/?method=artist.getinfo&artist={artist}&api_key={api_key}&format=json",
"top_tracks": "/?method=artist.gettoptracks&artist={artist}&api_key={api_key}&format=json",
"chart_topartists": "/?method=chart.gettopartists&api_key={api_key}&format=json",
}
},
"discogs": {
"name": "Discogs",
"description": "Music database and marketplace",
"base_url": "https://api.discogs.com",
"auth_required": True,
"auth_type": "oauth",
"endpoints": {
"search": "/database/search",
"release": "/releases/{id}",
"artist": "/artists/{id}",
"master": "/masters/{id}",
}
},
"genius": {
"name": "Genius API",
"description": "Song lyrics and music knowledge",
"base_url": "https://api.genius.com",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"search": "/search",
"song": "/songs/{id}",
"artist": "/artists/{id}",
"annotations": "/annotations/{id}",
}
},
"lyrics_ovh": {
"name": "Lyrics.ovh",
"description": "Song lyrics API (no auth required)",
"base_url": "https://api.lyrics.ovh/v1",
"auth_required": False,
"endpoints": {
"lyrics": "/{artist}/{title}",
}
},
}
# ============================================================
# CATEGORY 22: NEWS
# ============================================================
NEWS_APIS = {
"newsapi": {
"name": "NewsAPI",
"description": "Headlines and news articles (API key required)",
"base_url": "https://newsapi.org/v2",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"top_headlines": "/top-headlines",
"everything": "/everything",
"sources": "/sources",
}
},
"currents_api": {
"name": "Currents API",
"description": "Latest news from multiple sources",
"base_url": "https://api.currentsapi.services/v1",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"latest": "/latest-news",
"search": "/search",
"available_news": "/available/news",
}
},
"spaceflight_news": {
"name": "Spaceflight News API",
"description": "Space-related news articles",
"base_url": "https://api.spaceflightnewsapi.net/v4",
"auth_required": False,
"endpoints": {
"articles": "/articles",
"blogs": "/blogs",
"reports": "/reports",
}
},
"hacker_news": {
"name": "Hacker News API",
"description": "Stories and comments from Hacker News",
"base_url": "https://hacker-news.firebaseio.com/v0",
"auth_required": False,
"endpoints": {
"top": "/topstories.json",
"new": "/newstories.json",
"best": "/beststories.json",
"ask": "/askstories.json",
"show": "/showstories.json",
"job": "/jobstories.json",
"item": "/item/{id}.json",
"user": "/user/{id}.json",
}
},
}
# ============================================================
# CATEGORY 23: OPEN DATA
# ============================================================
OPEN_DATA_APIS = {
"open_notify": {
"name": "Open Notify",
"description": "ISS location and astronaut data",
"base_url": "http://api.open-notify.org",
"auth_required": False,
"endpoints": {
"iss_location": "/iss-now.json",
"astros": "/astros.json",
"iss_pass": "/iss-pass.json?lat={lat}&lon={lon}",
}
},
"space_x": {
"name": "SpaceX API",
"description": "SpaceX launches, rockets, capsules data",
"base_url": "https://api.spacexdata.com/v4",
"auth_required": False,
"endpoints": {
"launches": "/launches",
"launch_latest": "/launches/latest",
"launch_next": "/launches/next",
"rockets": "/rockets",
"capsules": "/capsules",
"crew": "/crew",
"starlink": "/starlink",
"landpads": "/landpads",
"launchpads": "/launchpads",
}
},
"nasa_api": {
"name": "NASA Open APIs",
"description": "Space imagery and data from NASA (API key optional but recommended)",
"base_url": "https://api.nasa.gov",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"apod": "/planetary/apod",
"mars_photos": "/mars-photos/api/v1/rovers/{rover}/photos",
"neo": "/neo/rest/v1/feed",
"earth": "/planetary/earth/assets",
"epic": "/EPIC/api/natural",
}
},
"random_data_api": {
"name": "Random Data API",
"description": "Generate random user data, addresses, banks, etc.",
"base_url": "https://random-data-api.com/api/v2",
"auth_required": False,
"endpoints": {
"users": "/users",
"addresses": "/addresses",
"banks": "/banks",
"appliances": "/appliances",
"beers": "/beers",
"blood_types": "/blood_types",
"credit_cards": "/credit_cards",
}
},
" bored_api": {
"name": "Bored API",
"description": "Random activity suggestions to fight boredom",
"base_url": "https://www.boredapi.com/api",
"auth_required": False,
"endpoints": {
"activity": "/activity",
"by_type": "/activity?type={type}",
"by_participants": "/activity?participants={count}",
"by_price": "/activity?price={price}",
}
},
"useless_facts": {
"name": "Useless Facts",
"description": "Random useless facts",
"base_url": "https://uselessfacts.jsph.pl/api/v2/facts",
"auth_required": False,
"endpoints": {
"random": "/random",
"today": "/today",
"random_en": "/random?language=en",
}
},
"numbers_api": {
"name": "Numbers API",
"description": "Interesting facts about numbers",
"base_url": "http://numbersapi.com",
"auth_required": False,
"endpoints": {
"trivia": "/{number}",
"math": "/{number}/math",
"year": "/{number}/year",
"date": "/{month}/{day}/date",
"random": "/random",
}
},
"chuck_norris": {
"name": "Chuck Norris API",
"description": "Random Chuck Norris jokes",
"base_url": "https://api.chucknorris.io/jokes",
"auth_required": False,
"endpoints": {
"random": "/random",
"categories": "/categories",
"by_category": "/random?category={category}",
"search": "/search?query={query}",
}
},
"ron_swanson": {
"name": "Ron Swanson Quotes",
"description": "Quotes from Ron Swanson (Parks and Recreation)",
"base_url": "https://ron-swanson-quotes.herokuapp.com/v2",
"auth_required": False,
"endpoints": {
"quote": "/quotes",
"count": "/quotes/{count}",
}
},
"rick_and_morty": {
"name": "Rick and Morty API",
"description": "Rick and Morty character, episode, and location data",
"base_url": "https://rickandmortyapi.com/api",
"auth_required": False,
"endpoints": {
"character": "/character/{id}",
"characters": "/character",
"episode": "/episode/{id}",
"episodes": "/episode",
"location": "/location/{id}",
"locations": "/location",
}
},
}
# ============================================================
# CATEGORY 24: PATENT
# ============================================================
PATENT_APIS = {
"uspto": {
"name": "USPTO Patent API",
"description": "US patent data",
"base_url": "https://developer.uspto.gov/api/v1",
"auth_required": False,
"endpoints": {
"patents": "/patents",
"search": "/patents/search",
}
},
}
# ============================================================
# CATEGORY 25: PHONE
# ============================================================
PHONE_APIS = {
"numverify": {
"name": "NumVerify",
"description": "Phone number validation and lookup (API key required)",
"base_url": "https://apilayer.net/api",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"validate": "/validate",
"countries": "/countries",
}
},
}
# ============================================================
# CATEGORY 26: PHOTOGRAPHY
# ============================================================
PHOTOGRAPHY_APIS = {
"unsplash": {
"name": "Unsplash",
"description": "High-quality stock photos (API key required for production)",
"base_url": "https://api.unsplash.com",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"photos": "/photos",
"random": "/photos/random",
"search": "/search/photos",
"collections": "/collections",
}
},
"pexels": {
"name": "Pexels",
"description": "Free stock photos and videos (API key required)",
"base_url": "https://api.pexels.com/v1",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"search": "/search",
"curated": "/curated",
"photo": "/photos/{id}",
"videos_search": "/videos/search",
}
},
}
# ============================================================
# CATEGORY 27: PROGRAMMING
# ============================================================
PROGRAMMING_APIS = {
"stackexchange": {
"name": "Stack Exchange API",
"description": "Q&A from Stack Overflow and other Stack Exchange sites",
"base_url": "https://api.stackexchange.com/2.3",
"auth_required": False,
"endpoints": {
"questions": "/questions",
"answers": "/answers",
"users": "/users",
"tags": "/tags",
"search": "/search",
"similar": "/similar",
}
},
"gitlab": {
"name": "GitLab API",
"description": "GitLab repositories, issues, CI/CD",
"base_url": "https://gitlab.com/api/v4",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"projects": "/projects",
"user": "/user",
"groups": "/groups",
"issues": "/issues",
}
},
}
# ============================================================
# CATEGORY 28: SCIENCE & MATH
# ============================================================
SCIENCE_APIS = {
"numbers_api_math": {
"name": "Numbers API (Math)",
"description": "Mathematical facts about numbers",
"base_url": "http://numbersapi.com",
"auth_required": False,
"endpoints": {
"math": "/{number}/math",
}
},
"elements_api": {
"name": "Period Table API",
"description": "Periodic table element data",
"base_url": "https://periodic-table-elements-info.herokuapp.com",
"auth_required": False,
"endpoints": {
"elements": "/elements",
"element": "/element/atomicNumber/{number}",
"element_symbol": "/element/atomicSymbol/{symbol}",
}
},
}
# ============================================================
# CATEGORY 29: SECURITY
# ============================================================
SECURITY_APIS = {
"haveibeenpwned": {
"name": "Have I Been Pwned",
"description": "Check if email has been in data breaches (API key recommended)",
"base_url": "https://haveibeenpwned.com/api/v3",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"breached_account": "/breachedaccount/{email}",
"breaches": "/breaches",
"breach": "/breach/{name}",
"dataclasses": "/dataclasses",
"paste_account": "/pasteaccount/{email}",
}
},
"cert_sh": {
"name": "Certificate Transparency (crt.sh)",
"description": "SSL certificate transparency logs",
"base_url": "https://crt.sh",
"auth_required": False,
"endpoints": {
"query": "?q={domain}&output=json",
"id": "?id={id}",
}
},
}
# ============================================================
# CATEGORY 30: SHOPPING
# ============================================================
SHOPPING_APIS = {
"ebay": {
"name": "eBay API",
"description": "eBay product listings and search",
"base_url": "https://api.ebay.com/buy/browse/v1",
"auth_required": True,
"auth_type": "oauth",
"endpoints": {
"search": "/item_summary/search",
"item": "/item/{itemId}",
"item_by_gtin": "/item/get_item_by_gtin",
}
},
}
# ============================================================
# CATEGORY 31: SOCIAL
# ============================================================
SOCIAL_APIS = {
"reddit": {
"name": "Reddit API",
"description": "Reddit posts, comments, subreddits",
"base_url": "https://www.reddit.com",
"auth_required": False,
"endpoints": {
"subreddit": "/r/{subreddit}.json",
"user": "/user/{username}.json",
"comments": "/r/{subreddit}/comments/{id}.json",
"search": "/search.json?q={query}",
"popular": "/subreddits/popular.json",
}
},
"twitter_api_v2": {
"name": "Twitter API v2 (X)",
"description": "Tweets, users, and trends (requires Bearer token)",
"base_url": "https://api.twitter.com/2",
"auth_required": True,
"auth_type": "bearer",
"endpoints": {
"tweets": "/tweets",
"tweet": "/tweets/{id}",
"users": "/users",
"user": "/users/{id}",
"search": "/tweets/search/recent",
"timeline": "/users/{id}/tweets",
"mentions": "/users/{id}/mentions",
}
},
}
# ============================================================
# CATEGORY 32: SPORTS & FITNESS
# ============================================================
SPORTS_APIS = {
"football_data": {
"name": "Football-Data.org",
"description": "Football/soccer data, leagues, matches (free tier available)",
"base_url": "https://api.football-data.org/v4",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"competitions": "/competitions",
"matches": "/matches",
"teams": "/teams",
"standings": "/competitions/{id}/standings",
"scorers": "/competitions/{id}/scorers",
}
},
"api_football": {
"name": "API-Football",
"description": "Football data from 800+ leagues (API key required)",
"base_url": "https://v3.football.api-sports.io",
"auth_required": True,
"auth_type": "header",
"endpoints": {
"leagues": "/leagues",
"teams": "/teams",
"fixtures": "/fixtures",
"standings": "/standings",
"players": "/players",
}
},
"api_nba": {
"name": "API-NBA",
"description": "NBA basketball data (API key required)",
"base_url": "https://v2.nba.api-sports.io",
"auth_required": True,
"auth_type": "header",
"endpoints": {
"games": "/games",
"teams": "/teams",
"players": "/players",
"standings": "/standings",
"seasons": "/seasons",
}
},
"basketball_data": {
"name": "Basketball Data",
"description": "NBA data (no API key needed for basic)",
"base_url": "https://www.balldontlie.io/api/v1",
"auth_required": False,
"endpoints": {
"games": "/games",
"players": "/players",
"teams": "/teams",
"stats": "/stats",
}
},
"ergast_f1": {
"name": "Ergast F1",
"description": "Formula 1 historical data",
"base_url": "https://ergast.com/api/f1",
"auth_required": False,
"endpoints": {
"seasons": "/seasons.json",
"races": "/{season}.json",
"results": "/{season}/{round}/results.json",
"drivers": "/{season}/drivers.json",
"constructors": "/{season}/constructors.json",
"standings": "/{season}/driverStandings.json",
"circuits": "/circuits.json",
}
},
"nfl_venue": {
"name": "NFL Arrest Data",
"description": "NFL player arrest records",
"base_url": "https://nflarrest.com/api/v1",
"auth_required": False,
"endpoints": {
"crime": "/crime",
"team": "/team",
"player": "/player",
}
},
"strava": {
"name": "Strava API",
"description": "Fitness activities and athlete data (OAuth required)",
"base_url": "https://www.strava.com/api/v3",
"auth_required": True,
"auth_type": "oauth",
"endpoints": {
"athlete": "/athlete",
"activities": "/athlete/activities",
"activity": "/activities/{id}",
"segments": "/segments/{id}",
}
},
"city_bikes": {
"name": "CityBikes",
"description": "Bike sharing data for cities worldwide",
"base_url": "https://api.citybik.es/v2",
"auth_required": False,
"endpoints": {
"networks": "/networks",
"network": "/networks/{id}",
}
},
}
# ============================================================
# CATEGORY 33: TEST DATA
# ============================================================
TEST_DATA_APIS = {
"faker_api": {
"name": "Faker API",
"description": "Generate fake data for testing",
"base_url": "https://fakerapi.it/api/v1",
"auth_required": False,
"endpoints": {
"persons": "/persons",
"companies": "/companies",
"addresses": "/addresses",
"books": "/books",
"creditcards": "/credit_cards",
"images": "/images",
"products": "/products",
"text": "/texts",
"users": "/users",
"custom": "/custom",
}
},
"mockaroo": {
"name": "Mockaroo",
"description": "Generate realistic test data",
"base_url": "https://api.mockaroo.com/api",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"generate": "/generate.{format}",
}
},
"uinames": {
"name": "uinames.com",
"description": "Randomly generated user names",
"base_url": "https://uinames.com/api",
"auth_required": False,
"endpoints": {
"name": "",
"region": "/?region={region}",
"gender": "/?gender={gender}",
"amount": "/?amount={count}",
}
},
}
# ============================================================
# CATEGORY 34: TEXT ANALYSIS
# ============================================================
TEXT_APIS = {
"systran": {
"name": "SYSTRAN Translate",
"description": "Text translation API (API key required)",
"base_url": "https://api-translate.systran.net",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"translate": "/translation/text/translate",
"supported_languages": "/translation/supportedLanguages",
}
},
"libretranslate": {
"name": "LibreTranslate",
"description": "Free and Open Source Translation API",
"base_url": "https://libretranslate.com",
"auth_required": False,
"endpoints": {
"translate": "/translate",
"languages": "/languages",
"detect": "/detect",
}
},
"text_processing": {
"name": "Text Processing",
"description": "Text analysis and processing",
"base_url": "https://text-processing.com/api",
"auth_required": False,
"endpoints": {
"sentiment": "/sentiment",
"phrase": "/phrase",
"stem": "/stem",
"tag": "/tag",
}
},
}
# ============================================================
# CATEGORY 35: TRACKING
# ============================================================
TRACKING_APIS = {
"package_track": {
"name": "Package Tracking APIs",
"description": "Various package tracking endpoints",
"base_url": "https://api.packagetracker.io/v1",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"track": "/track/{carrier}/{tracking_number}",
"carriers": "/carriers",
}
},
}
# ============================================================
# CATEGORY 36: TRANSPORTATION
# ============================================================
TRANSPORTATION_APIS = {
"transportapi": {
"name": "Transport API",
"description": "UK public transport data",
"base_url": "https://transportapi.com/v3/uk",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"bus_stops": "/bus/stops/near.json",
"bus_live": "/bus/stop/{atcocode}/live.json",
"train_stations": "/train/stations/near.json",
"train_live": "/train/station/{station_code}/live.json",
}
},
"resrobot": {
"name": "ResRobot (Swedish Transport)",
"description": "Swedish public transport",
"base_url": "https://api.resrobot.se/v2.1",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"trip": "/trip",
"departureBoard": "/departureBoard",
"arrivalBoard": "/arrivalBoard",
"location.name": "/location.name",
}
},
"amadeus": {
"name": "Amadeus for Developers",
"description": "Flight, hotel, car rental search (API key required)",
"base_url": "https://api.amadeus.com/v2",
"auth_required": True,
"auth_type": "oauth",
"endpoints": {
"flight_search": "/shopping/flight-offers",
"flight Inspiration": "/shopping/flight-destinations",
"hotel_search": "/shopping/hotel-offers",
"airport": "/reference-data/locations",
}
},
}
# ============================================================
# CATEGORY 37: URL SHORTENERS
# ============================================================
URL_SHORTENER_APIS = {
"cleanuri": {
"name": "CleanURI",
"description": "URL shortening service",
"base_url": "https://cleanuri.com/api/v1",
"auth_required": False,
"endpoints": {
"shorten": "/shorten",
}
},
"is_gd": {
"name": "is.gd",
"description": "URL shortening",
"base_url": "https://is.gd",
"auth_required": False,
"endpoints": {
"shorten": "/create.php?format=simple&url={url}",
"stats": "/usagestats.php",
}
},
}
# ============================================================
# CATEGORY 38: VEHICLE
# ============================================================
VEHICLE_APIS = {
"nhtsa": {
"name": "NHTSA",
"description": "Vehicle safety ratings and recalls (US)",
"base_url": "https://api.nhtsa.gov",
"auth_required": False,
"endpoints": {
"recalls": "/products/vehicle/recalls",
"rating": "/SafetyRatings",
"vin_decode": "/vehicles/DecodeVin/{vin}",
"complaints": "/complaints/complaintsByVehicle",
}
},
"car_query": {
"name": "Car Query",
"description": "Car database and specifications",
"base_url": "https://www.carqueryapi.com/api/0.3",
"auth_required": False,
"endpoints": {
"makes": "?cmd=getMakes",
"models": "?cmd=getModels",
"trims": "?cmd=getTrims",
"model": "?cmd=getModel",
}
},
}
# ============================================================
# CATEGORY 39: WEATHER
# ============================================================
WEATHER_APIS = {
"open_meteo": {
"name": "Open-Meteo Weather",
"description": "Global weather forecast API - completely free, no API key needed",
"base_url": "https://api.open-meteo.com/v1",
"auth_required": False,
"endpoints": {
"forecast": "/forecast",
"air_quality": "/air-quality",
"elevation": "/elevation",
"flood": "/flood",
"climate_change": "/climate",
}
},
"openweather": {
"name": "OpenWeatherMap",
"description": "Weather data and forecasts (free tier available with API key)",
"base_url": "https://api.openweathermap.org/data/2.5",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"weather": "/weather",
"forecast": "/forecast",
"onecall": "/onecall",
"air_pollution": "/air_pollution",
}
},
"wttr_in": {
"name": "wttr.in",
"description": "Console-oriented weather forecast (no API key)",
"base_url": "https://wttr.in",
"auth_required": False,
"endpoints": {
"weather": "/{location}?format={format}",
"moon": "/Moon",
}
},
}
# ============================================================
# CATEGORY 40: JOKES & ENTERTAINMENT
# ============================================================
JOKES_APIS = {
"joke_api": {
"name": "JokeAPI",
"description": "Programming and general jokes",
"base_url": "https://v2.jokeapi.dev/joke",
"auth_required": False,
"endpoints": {
"any": "/Any",
"programming": "/Programming",
"misc": "/Misc",
"dark": "/Dark",
"pun": "/Pun",
"spooky": "/Spooky",
"christmas": "/Christmas",
"custom": "/{categories}?type={type}&amount={amount}",
}
},
"official_joke": {
"name": "Official Joke API",
"description": "Simple random jokes",
"base_url": "https://official-joke-api.appspot.com",
"auth_required": False,
"endpoints": {
"random": "/random_joke",
"ten": "/random_ten",
"by_type": "/jokes/{type}/random",
"types": "/types",
}
},
"meme_api": {
"name": "Meme API",
"description": "Random memes from Reddit",
"base_url": "https://meme-api.com/gimme",
"auth_required": False,
"endpoints": {
"random": "",
"subreddit": "/{subreddit}/{count}",
}
},
}
# ============================================================
# CATEGORY 41: IP & NETWORK
# ============================================================
IP_APIS = {
"ip_api_co": {
"name": "ipapi.co",
"description": "IP address geolocation (free tier)",
"base_url": "https://ipapi.co",
"auth_required": False,
"endpoints": {
"my_ip": "/json",
"specific_ip": "/{ip}/json",
}
},
"ipwhois": {
"name": "IPWhois.io",
"description": "IP geolocation",
"base_url": "https://ipwho.is",
"auth_required": False,
"endpoints": {
"my_ip": "",
"specific_ip": "/{ip}",
}
},
}
# ============================================================
# CATEGORY 42: CODING CHALLENGES
# ============================================================
CODING_APIS = {
"leetcode_api": {
"name": "LeetCode unofficial API",
"description": "LeetCode problems and user data",
"base_url": "https://leetcode-api-faisalshohag.vercel.app",
"auth_required": False,
"endpoints": {
"user": "/{username}",
"daily": "/daily",
}
},
"codeforces": {
"name": "Codeforces API",
"description": "Codeforces competitive programming data",
"base_url": "https://codeforces.com/api",
"auth_required": False,
"endpoints": {
"user_info": "/user.info",
"contest_list": "/contest.list",
"problemset": "/problemset.problems",
"user_status": "/user.status",
"recent_submissions": "/recentActions",
}
},
}
# ============================================================
# CATEGORY 43: AI & NLP SERVICES
# ============================================================
AI_APIS = {
"huggingface_inference": {
"name": "Hugging Face Inference API",
"description": "Run thousands of ML models - text generation, sentiment, NER, etc.",
"base_url": "https://api-inference.huggingface.co/models",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"models": "",
"run": "/{model_id}",
}
},
"openrouter": {
"name": "OpenRouter",
"description": "Access many LLM models with unified API, free tier available",
"base_url": "https://openrouter.ai/api/v1",
"auth_required": True,
"auth_type": "bearer",
"endpoints": {
"chat": "/chat/completions",
"models": "/models",
"limits": "/auth/key",
}
},
}
# ============================================================
# CATEGORY 44: QR CODES
# ============================================================
QR_APIS = {
"goqr": {
"name": "goQR.me",
"description": "QR code generation API",
"base_url": "https://api.qrserver.com/v1",
"auth_required": False,
"endpoints": {
"create": "/create-qr-code",
"read": "/read-qr-code",
}
},
}
# ============================================================
# CATEGORY 45: QUOTES & INSPIRATION
# ============================================================
QUOTES_APIS = {
"quotable": {
"name": "Quotable",
"description": "Random quotes from famous people",
"base_url": "https://api.quotable.io",
"auth_required": False,
"endpoints": {
"random": "/quotes/random",
"quotes": "/quotes",
"authors": "/authors",
"tags": "/tags",
"author_quotes": "/quotes?author={author}",
}
},
"zen_quotes": {
"name": "Zen Quotes",
"description": "Inspirational quotes",
"base_url": "https://zenquotes.io/api",
"auth_required": False,
"endpoints": {
"random": "/random",
"today": "/today",
"quotes": "/quotes",
}
},
"breaking_bad": {
"name": "Breaking Bad Quotes",
"description": "Quotes from Breaking Bad",
"base_url": "https://api.breakingbadquotes.xyz/v1",
"auth_required": False,
"endpoints": {
"quote": "/quotes",
"quotes": "/quotes/{count}",
}
},
"game_of_thrones": {
"name": "Game of Thrones Quotes",
"description": "Quotes from Game of Thrones",
"base_url": "https://api.gameofthronesquotes.xyz/v1",
"auth_required": False,
"endpoints": {
"random": "/random",
"author": "/author/{author}/{count}",
}
},
"favqs": {
"name": "FavQs",
"description": "Quote of the day and search",
"base_url": "https://favqs.com/api",
"auth_required": True,
"auth_type": "token",
"endpoints": {
"qotd": "/qotd",
"quotes": "/quotes",
"quote": "/quotes/{id}",
}
},
}
# ============================================================
# CATEGORY 46: COLORS
# ============================================================
COLOR_APIS = {
"color": {
"name": "The Color API",
"description": "Color information, schemes, conversion",
"base_url": "https://www.thecolorapi.com",
"auth_required": False,
"endpoints": {
"id": "/id",
"scheme": "/scheme",
"random": "/random",
}
},
"x_color": {
"name": "xColor API",
"description": "Color conversion",
"base_url": "https://x-colors.herokuapp.com/api",
"auth_required": False,
"endpoints": {
"random": "/random",
"hex2rgb": "/hex2rgb",
"rgb2hex": "/rgb2hex",
}
},
}
# ============================================================
# CATEGORY 47: UNIVERSITIES
# ============================================================
UNIVERSITY_APIS = {
"universities": {
"name": "Universities List",
"description": "Database of universities worldwide",
"base_url": "http://universities.hipolabs.com",
"auth_required": False,
"endpoints": {
"search": "/search",
"by_country": "/search?country={country}",
"by_name": "/search?name={name}",
}
},
}
# ============================================================
# CATEGORY 48: TV & MOVIES
# ============================================================
TV_MOVIE_APIS = {
"tvmaze": {
"name": "TVmaze",
"description": "TV show data and schedules",
"base_url": "https://api.tvmaze.com",
"auth_required": False,
"endpoints": {
"search": "/search/shows?q={query}",
"show": "/shows/{id}",
"episodes": "/shows/{id}/episodes",
"schedule": "/schedule",
"people": "/search/people?q={query}",
}
},
"omdb": {
"name": "OMDb API",
"description": "Movie and TV show data (API key required for higher limits)",
"base_url": "https://www.omdbapi.com",
"auth_required": True,
"auth_type": "apikey",
"endpoints": {
"by_title": "?t={title}&apikey={api_key}",
"by_id": "?i={id}&apikey={api_key}",
"search": "?s={query}&apikey={api_key}",
}
},
"streaming_availability": {
"name": "Streaming Availability",
"description": "Where to watch movies and shows",
"base_url": "https://streaming-availability.p.rapidapi.com",
"auth_required": True,
"auth_type": "rapidapi",
"endpoints": {
"search": "/search/basic",
"title": "/get/basic",
}
},
}
# ============================================================
# CATEGORY 49: FACTS & TRIVIA
# ============================================================
FACTS_APIS = {
"useless_facts": {
"name": "Useless Facts",
"description": "Random useless but interesting facts",
"base_url": "https://uselessfacts.jsph.pl/api/v2/facts",
"auth_required": False,
"endpoints": {
"random": "/random",
"today": "/today",
}
},
"cat_facts": {
"name": "Cat Facts",
"description": "Random facts about cats",
"base_url": "https://catfact.ninja",
"auth_required": False,
"endpoints": {
"fact": "/fact",
"facts": "/facts",
}
},
"dog_facts": {
"name": "Dog Facts",
"description": "Random facts about dogs",
"base_url": "https://dog-api.kinduff.com/api",
"auth_required": False,
"endpoints": {
"facts": "/facts",
"fact_by_id": "/facts?id={id}",
}
},
"trivia_api": {
"name": "Open Trivia Database",
"description": "Trivia questions in various categories",
"base_url": "https://opentdb.com/api.php",
"auth_required": False,
"endpoints": {
"questions": "?amount={amount}&category={category}&difficulty={difficulty}&type={type}",
"categories": "https://opentdb.com/api_category.php",
"token": "https://opentdb.com/api_token.php?command=request",
}
},
"numbers_facts": {
"name": "Numbers API",
"description": "Interesting facts about numbers",
"base_url": "http://numbersapi.com",
"auth_required": False,
"endpoints": {
"trivia": "/{number}",
"math": "/{number}/math",
"year": "/{number}/year",
"date": "/{month}/{day}/date",
"random": "/random",
}
},
}
# ============================================================
# MASTER REGISTRY - All API Categories
# ============================================================
MASTER_REGISTRY = {
"animals": ANIMALS_APIS,
"anime": ANIME_APIS,
"art": ART_APIS,
"books": BOOKS_APIS,
"business": BUSINESS_APIS,
"calendar": CALENDAR_APIS,
"cryptocurrency": CRYPTO_APIS,
"currency": CURRENCY_APIS,
"validation": VALIDATION_APIS,
"development": DEV_APIS,
"dictionaries": DICTIONARY_APIS,
"environment": ENVIRONMENT_APIS,
"finance": FINANCE_APIS,
"food": FOOD_APIS,
"games": GAMES_APIS,
"geocoding": GEOCODING_APIS,
"government": GOVERNMENT_APIS,
"health": HEALTH_APIS,
"jobs": JOBS_APIS,
"machine_learning": ML_APIS,
"music": MUSIC_APIS,
"news": NEWS_APIS,
"open_data": OPEN_DATA_APIS,
"patent": PATENT_APIS,
"phone": PHONE_APIS,
"photography": PHOTOGRAPHY_APIS,
"programming": PROGRAMMING_APIS,
"science": SCIENCE_APIS,
"security": SECURITY_APIS,
"shopping": SHOPPING_APIS,
"social": SOCIAL_APIS,
"sports": SPORTS_APIS,
"test_data": TEST_DATA_APIS,
"text_analysis": TEXT_APIS,
"tracking": TRACKING_APIS,
"transportation": TRANSPORTATION_APIS,
"url_shortener": URL_SHORTENER_APIS,
"vehicle": VEHICLE_APIS,
"weather": WEATHER_APIS,
"jokes": JOKES_APIS,
"ip": IP_APIS,
"coding": CODING_APIS,
"ai": AI_APIS,
"qr": QR_APIS,
"quotes": QUOTES_APIS,
"colors": COLOR_APIS,
"universities": UNIVERSITY_APIS,
"tv_movies": TV_MOVIE_APIS,
"facts": FACTS_APIS,
}
def get_all_apis() -> Dict[str, Dict]:
"""Return a flat dictionary of all APIs across all categories"""
all_apis = {}
for category, apis in MASTER_REGISTRY.items():
for api_id, api_info in apis.items():
all_apis[api_id] = {
**api_info,
"category": category
}
return all_apis
def get_api_by_id(api_id: str) -> Optional[Dict]:
"""Get a specific API by its ID"""
all_apis = get_all_apis()
return all_apis.get(api_id)
def get_apis_by_category(category: str) -> Dict[str, Dict]:
"""Get all APIs in a specific category"""
return MASTER_REGISTRY.get(category, {})
def count_apis() -> Dict[str, int]:
"""Count APIs per category and total"""
counts = {category: len(apis) for category, apis in MASTER_REGISTRY.items()}
counts["total"] = sum(counts.values())
return counts
def search_apis(query: str) -> List[Dict]:
"""Search APIs by name, description, or category"""
query = query.lower()
results = []
all_apis = get_all_apis()
for api_id, api_info in all_apis.items():
if (query in api_id.lower() or
query in api_info.get("name", "").lower() or
query in api_info.get("description", "").lower() or
query in api_info.get("category", "").lower()):
results.append({
"id": api_id,
**api_info
})
return results
# Generate API statistics
if __name__ == "__main__":
counts = count_apis()
print(f"\n{'='*60}")
print("HERMES API REGISTRY STATISTICS")
print(f"{'='*60}")
print(f"\nTotal Categories: {len(MASTER_REGISTRY)}")
print(f"Total APIs: {counts['total']}")
print(f"\nBreakdown by category:")
for category, count in sorted(counts.items()):
if category != "total":
print(f" {category}: {count} APIs")
# Count total endpoints
all_apis = get_all_apis()
total_endpoints = sum(len(api.get("endpoints", {})) for api in all_apis.values())
print(f"\nTotal Endpoints: {total_endpoints}")
print(f"\n{'='*60}")