Agent skill · writing content · machina-sports
metadata
Sports metadata via TheSportsDB free API (key=3). Team logos and badges, player photos, stadium info, league info, and biographical data across 100+ leagues. No API key required, zero config. Use when: user asks for a team logo, crest, badge, banner, jersey, kit, player photo or headshot, stadium info, club description, or wants to search for teams or players by name across sports. Good for enriching responses from other skills with images and visual identifiers. Don't use when: user asks for scores, standings, fixtures, stats, or odds — use the sport-specific skill instead: football-data (soccer), nfl-data (NFL), nba-data (NBA), wnba-data (WNBA), nhl-data (NHL), mlb-data (MLB), tennis-data (tennis), golf-data (golf), cricket-data (cricket), cfb-data (college football), cbb-data (college basketball), fastf1 (F1), volleyball-data (Dutch volleyball), xctf-data (NCAA XC/TF). Don't use for prediction markets — use polymarket or kalshi.
Why this skill is useful
Provides access to sports metadata including team logos and player photos that the AI wouldn't reliably generate on its own.
What it needs
About 3k tokens when loaded. Last updated 2026-08-06. 201 stars on the source repository.
What this skill does
Sports Metadata Wraps the free TheSportsDB API for team logos, player photos, and stadium info. No API key, no signup. Quick Start Python SDK: CRITICAL: Before Any Query CRITICAL: Before calling any metadata command, verify: Team names use the full official name — especially for NBA (e.g., "Los Angeles Lakers", not "Lakers"). For getteamlogo, the sport parameter defaults to "Soccer". Pass sport="Basketball", "American Football", "Baseball", "Ice Hockey", "Motorsport", or "Cricket" when the team is not a soccer team — otherwise the lookup falls back to "first result regardless of sport," which may return the wrong team. Player searches use just the player name (e.g., "Messi", "LeBron James", "Tiger Woods"). Coverage Teams (logos, banners, stadium info): Soccer: 100+ leagues worldwide (Premier League, La Liga, Bundesliga, Serie A, MLS, and many more) NFL (American Football) NBA (Basketball) — requires full team names MLB (Baseball) NHL (Ice Hockey) F1 (Motorsport) Cricket (IPL, international) Players (photos, bios): All team sports above Tennis (ATP/WTA players) Golf (PGA/LPGA players) Not covered: MMA/UFC, Rugby, Esports, Boxing. Commands Command Required Optional Description --- --- --- --- getteamlogo teamname sport Team logo / badge URL getteaminfo teamname Full team info: stadium, description, social links, banner getplayerphoto playername Player photo URL searchteams query Fuzzy search for teams across sports searchplayers query Fuzzy search for players across sports Workflows Enrich a Standings Response 1. Call the sport-specific skill (e.g., football getseasonstandings) for the standings table. 2. For each team in the standings, call getteamlogo --teamname=<name> to attach a badge URL. 3. Render the standings with logos alongside team names. Build a Team Profile Page 1. Call getteaminfo --teamname="<name>" for stadium, description, founding year, social links. 2. The same response includes badge and banner URLs — no second call needed. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills machina-sports/metadata