Pay-per-call football/soccer data API — matches, leagues, teams, lineups, stats — settled via x402 on Base and Solana.
What it does
Goal402 is a pay-per-call football (soccer) data API that uses the x402 protocol for micropayments. It provides comprehensive coverage of leagues, teams, matches, standings, player rosters, match events, lineups, statistics, predictions, odds, and head-to-head records. Payments settle on Base (EVM, chain 8453) or Solana, facilitated through x402.dexter.cash.
The specific endpoint `/matches/egdcbej` returns full match detail for a single match, including events (goals, cards, substitutions, VAR decisions), match statistics (possession, shots, etc.), and confirmed lineups with pitch coordinates. The price for a single match detail call is $0.01. Other endpoints in the API range from $0.001 for league-level and aggregate queries (live matches, today's schedule, standings, predictions, h2h) up to $0.01 for detailed team and match lookups.
The API exposes a well-structured JSON manifest at its root describing all endpoints, pricing, and response schemas. Free endpoints include health checks, league listings, and an LLM-readable documentation file at `/llms.txt`. There is no OpenAPI spec, but the root manifest provides detailed response shapes for every paid endpoint. The API is live and returns a 402 challenge on paid routes as expected by the x402 protocol.
Capabilities
Use cases
- —Building a football dashboard that fetches live scores and match events on demand
- —AI agent retrieving real-time match statistics and lineups for sports analysis
- —Programmatic access to league standings and team rosters for fantasy football apps
- —Fetching head-to-head records and predictions/odds for betting research
- —Embedding football data into chatbots or LLM-powered sports assistants
Fit
Best for
- —Agents or apps needing granular per-call football data without subscriptions
- —Developers who want crypto-settled micropayments (Base or Solana) for sports data
- —Low-volume or bursty access patterns where pay-per-call is cheaper than a flat subscription
Not for
- —High-volume bulk data ingestion where a flat-rate subscription API would be cheaper
- —Non-football sports data (this API covers only football/soccer)
- —Users without crypto wallets on Base or Solana
Quick start
# Fetch match detail (requires x402 payment of $0.01)
curl -X GET https://goal402-x402.percha.workers.dev/matches/egdcbej
# Returns 402 with x402 challenge; pay via x402 client to receive full match JSON.
# Free endpoint — list all leagues:
curl https://goal402-x402.percha.workers.dev/leaguesExample
Response
{
"id": "egdcbej",
"round": "Round 21",
"events": [
{
"team": "home",
"type": "goal",
"stage": "First Half",
"jersey": 7,
"minute": "23",
"player": "B. Saka",
"player2": "M. Odegaard"
}
],
"league": {
"id": "abc123",
"name": "Premier League"
},
"status": "finished",
"winner": "home",
"lineups": {
"away": {
"status": "Confirmed",
"starters": [],
"formation": "3-4-3",
"substitutes": []
},
"home": {
"status": "Confirmed",
"starters": [],
"formation": "4-3-3",
"substitutes": []
}
},
"referee": "M. Oliver",
"stadium": "Emirates Stadium",
"away_team": {
"id": "t2",
"name": "Chelsea",
"color": "#034694",
"short_name": "CHE"
},
"game_time": null,
"home_team": {
"id": "t1",
"name": "Arsenal",
"color": "#EF0107",
"short_name": "ARS"
},
"away_score": 1,
"home_score": 2,
"statistics": [
{
"name": "Possession",
"away_pct": "42",
"home_pct": "58",
"away_value": "42%",
"home_value": "58%"
}
],
"tv_networks": "Sky Sports",
"start_time_utc": "2025-01-15T15:00:00Z"
}Endpoint
Quality
The root manifest provides detailed endpoint descriptions, response schemas, and pricing for every route, and the 402 challenge confirms the endpoint is live. However, there is no formal OpenAPI spec, no real example responses, and no dedicated documentation page — the manifest is the sole source of truth.
Warnings
- —No OpenAPI specification available; response schemas are inferred from the root JSON manifest only
- —Example response is illustrative and not captured from a real API call
- —The specific match ID 'egdcbej' may refer to a past or non-existent match — actual data depends on the API's coverage
Citations
- —Goal402 is described as a pay-per-call football data API powered by x402, version 1.1.0https://goal402-x402.percha.workers.dev
- —GET /matches/:id costs $0.01 and returns full match detail with events, stats, and lineupshttps://goal402-x402.percha.workers.dev
- —Payments settle on Base (eip155:8453) or Solana, facilitated by https://x402.dexter.cashhttps://goal402-x402.percha.workers.dev
- —Base wallet: 0x22A2e19BDBe9f3FfEf652FcbC3cdD0F67147Ef38; Solana wallet: FpsvkK2xpyhy759V5vXRQP4cjDmU9SdmdpSjNkYv5WJYhttps://goal402-x402.percha.workers.dev
- —Free endpoints include /leagues, /health, /llms.txt, and /.well-known/x402https://goal402-x402.percha.workers.dev