Polymarket Football Odds
Overview
Use this skill to turn a Polymarket football URL into a football fixture lookup and a probability summary. The bundled TypeScript script extracts the Polymarket slug, fetches Gamma event/market metadata, infers the two teams, matches the fixture in API-Football, calls API-Football predictions, and prints home/draw/away probabilities.
Quick Start
Require an API-Football/API-SPORTS key in the environment. Do not hardcode the key in files or messages.
API_FOOTBALL_KEY="..." node --experimental-strip-types scripts/analyze-polymarket-football.ts "https://polymarket.com/event/..."
Use --json when the caller wants machine-readable output:
API_FOOTBALL_KEY="..." node --experimental-strip-types scripts/analyze-polymarket-football.ts "https://polymarket.com/event/..." --json
Workflow
- Run the script with the Polymarket URL. It accepts
/event/{slug}URLs,/market/{slug}URLs, and raw slugs. - Check the extracted Polymarket title, teams, and fixture. If the script reports multiple possible fixtures or low confidence, ask the user to confirm the fixture or rerun with
--fixture-id. - Report the API-Football 1X2 probabilities as:
- home team win probability
- draw probability
- away team win probability
- target-team win probability when the Polymarket market asks about a single team
- Include caveats: API-Football predictions are model outputs, fixture matching can be ambiguous, and Polymarket prices are market-implied prices rather than true probabilities.
Options
--json: print structured JSON instead of a human summary.--fixture-id <id>: bypass fixture matching and call API-Football predictions for a known fixture ID.--date YYYY-MM-DD: override the date used for fixture search.--days <n>: search plus/minusndays around the Polymarket date or--date; default is1.--self-test: run local parser tests without network calls or API keys.
API Notes
Read references/api-football-polymarket.md before changing endpoint behavior. Use official endpoints only:
- Polymarket Gamma is public and used only for market discovery.
- API-Football requires the
x-apisports-keyrequest header. - API-Football predictions require a fixture ID, so the script must identify the fixture before calling
/predictions.
Failure Handling
If the script cannot confidently identify two teams, do not invent team names. Explain which Polymarket title/outcomes were found and ask the user for the teams or fixture ID.
If API-Football returns no prediction for a fixture, report the fixture match and say prediction coverage is unavailable for that match. Do not substitute bookmaker odds as model probabilities unless the user explicitly asks for an odds-implied calculation.
Scan to join WeChat group