The SofaScore API Alternative: How to Get the Data When There's No Official API
Searching for a SofaScore API? There isn't an official public one. Here's a legitimate, documented alternative for live scores, stats, lineups and events.
GOAL API

If you've searched for a "SofaScore API," you've probably come up empty — a few GitHub scrapers, a Stack Overflow thread, and no official documentation anywhere. There's a reason for that, and it's worth knowing before you build anything on top of it.
The short version: SofaScore doesn't publish a public developer API. This post explains what that actually means for your project, and shows a legitimate, documented alternative — GOAL API — for the live scores, stats, lineups and events you were trying to get in the first place.
Does SofaScore Have a Public API? The Honest Answer
No — not a public, documented one. SofaScore is an excellent consumer product: a live-score site and app with rich match pages, player ratings, heatmaps and momentum graphics that millions of fans use. But it's built to be consumed in the app and the browser, not called by your code.
The endpoints people pass around in forums are SofaScore's own internal, undocumented ones — the ones its website calls behind the scenes. They were never published for developers, carry no documentation, no versioning promise and no support, and using them programmatically falls outside SofaScore's terms. That's a very different thing from an API you can build a product on.
Why Scraping SofaScore Breaks in Production
Plenty of weekend projects start by scraping an internal feed. It works on your laptop, so it feels fine. Then it ships, and the problems arrive on a schedule:
- It gets blocked. Automated traffic to endpoints meant for the app triggers rate-blocks, IP bans and bot checks. Your "live" feature goes dark exactly when traffic is highest — match day.
- The shape changes without warning. Undocumented responses can be restructured any time the product team ships. There's no changelog and no deprecation window, so a silent change becomes your 2 a.m. outage.
- There's no support and no SLA. When it breaks, there's no one to ask and nothing to rely on. You're reverse-engineering someone else's private feed every time it shifts.
- It's a licensing and terms risk. Pulling data from a product's internal endpoints and redistributing it in your own app is a legal grey area at best. For anything commercial, that risk sits on you.
The core problem isn't technical skill — it's that you're depending on an interface nobody promised to keep stable or let you use. That's not a foundation for a product.
What You Actually Need: The Data Behind the Dashboard
Strip away the branding and what you want from SofaScore is a set of standard football data objects:
- Live scores and in-play state
- Fixtures, results and league standings
- Lineups and formations
- Match events — goals, cards, substitutions
- Player and team statistics
- Head-to-head records and recent form
All of that is exactly what a dedicated football data API exists to serve. One honest caveat: SofaScore's player ratings, heatmaps and attack-momentum graphics are its own proprietary product layer — a particular way of scoring and drawing the underlying events. No data API hands you a carbon copy of those, and you wouldn't want to copy them anyway. What a real API gives you is the raw material — the events, stats and lineups — so you can build your own ratings, your own visuals, your own product.

GOAL API: A Real, Documented Alternative
GOAL API (see the documentation) is a football data API built for exactly this — getting the data programmatically, under terms that let you ship:
- 1,000+ competitions. Top divisions, lower leagues, cups and internationals. The coverage page lists every competition and what's held for it, so you confirm before you build.
- Documented and supported. A real REST API with versioned endpoints, a published response shape, and auth that's a single Bearer token — not a private feed you reverse-engineer.
- Real-time, pushed to you. Live scores over WebSocket and webhooks, so in-play updates arrive in under a second — no polling loop fighting a bot-detection wall.
- Free to start. A free tier with no credit card exposes the same endpoints as paid, so you can test the exact data you need before committing.
Side-by-Side: Scraping SofaScore vs GOAL API
| Scraping SofaScore | GOAL API | |
|---|---|---|
| Official API | None (internal endpoints) | Documented REST API |
| Documentation | None | Full docs + examples |
| Stability | Changes without notice | Versioned, published shape |
| Live data | Poll + risk blocks | WebSocket + webhooks |
| Support / SLA | None | Supported |
| Terms / licensing | Grey area / your risk | Licensed for developer use |
| Coverage | What the site shows | 1,000+ competitions |
| Free access | "Free" but fragile | Free tier, no credit card |
SofaScore remains a great product to use as a fan. The table above is about building software on it — which it was never designed for.
Quick Start: The Data You Came For
Every request authenticates with a Bearer token against base https://api.goal-api.com/v1. Responses are JSON wrapped in { success: true, data: ... }, with a pagination object on lists. Full paths and fields are in the documentation.
Live scores and fixtures
The in-play feed is one call — and for a true live product you'd subscribe over live scores over WebSocket rather than poll it:
curl "https://api.goal-api.com/v1/fixtures/live" \
-H "Authorization: Bearer YOUR_API_KEY"
# Fixtures for a competition
GET /leagues/{leagueId}/fixtures
# Standings
GET /standings/{leagueId}Lineups, events and player stats
The data behind a match page — the lineups, the goal-and-card timeline, the per-player numbers — comes from the match endpoints. The match page with lineups guide builds a full one; the Football Stats API post covers the stats side in depth.
# Lineups & formations for a fixture
GET /fixtures/{fixtureId}/lineups
# Match events — goals, cards, subs
GET /fixtures/{fixtureId}/events
# Head-to-head between two teams
GET /h2h/{team1Id}/{team2Id}Endpoint paths above are illustrative — check the documentation for the exact routes and response fields, and read the fields the response returns rather than assuming a fixed shape.
Mapping SofaScore Concepts to GOAL API Endpoints
If you were planning your build around SofaScore's screens, here's where each one comes from instead:
| What you wanted from SofaScore | GOAL API endpoint |
|---|---|
| Live scores screen | GET /fixtures/live (or WebSocket) |
| League fixtures & results | GET /leagues/:id/fixtures |
| League table | GET /standings/:leagueId |
| Match lineups & formation | GET /fixtures/:id/lineups |
| Goals, cards, subs timeline | GET /fixtures/:id/events |
| Head-to-head / form | GET /h2h/:t1/:t2 |
| Team & player stats | Stats endpoints (see docs) |
Who This Is For (and a Fair Word on SofaScore)
To be clear: if you just want to check scores as a fan, SofaScore is excellent — keep using the app. This post is for the developer who needs that data inside their own product, legitimately and reliably, and discovered there's no official API to do it with.
If that's you — building a live-score app, a stats dashboard, a fantasy tool, a bot — a documented API you're licensed to use beats a private feed you're fighting to keep alive. See how GOAL API stacks up in the best football API comparison, and where the plans sit on the pricing page.
FAQ
Does SofaScore have a public API? No. SofaScore does not publish an official, documented, public developer API. The endpoints developers call are internal and undocumented, with no support or stability guarantee. For a programmatic, licensed source of the same data, you need a dedicated football data API.
What's the best SofaScore API alternative? A documented football data API that gives you the underlying data legitimately. GOAL API covers live scores, fixtures, standings, lineups, events, player and team stats and head-to-head across 1,000+ competitions, over REST plus WebSocket and webhooks, with a free tier and no credit card.
Can I get SofaScore-style player ratings and heatmaps from an API? Player ratings, heatmaps and momentum graphics are SofaScore's own proprietary features, not a standard data feed. A data API gives you the underlying facts — scores, lineups, events and stats — so you build your own analytics on top.
Is there a free alternative? Yes. GOAL API has a free tier with no credit card that exposes the same endpoints as paid, including live scores, standings, lineups, events and player stats.
Get the data the legit way → goal-api.com/signup — no credit card, documented, real-time, 1,000+ competitions.


