Before integrating any API into a product, you need a clear picture of what it will actually cost at scale. This guide breaks down exactly how Live Football API's credit system works, what counts against your balance, and how to estimate costs before you build.
The Basic Model: Credits, Not Requests
Instead of a flat monthly request limit, Live Football API uses a credit system. Every account starts with 100 free credits, no credit card required. Credits never expire, so unused credits from a quiet month simply carry over.
What Costs 1 Credit
Nearly every data-returning endpoint costs exactly 1 credit per call, regardless of how much data comes back:
/matches,/live_match_details/lineups,/h2h,/injuries,/officials/leagues,/league,/league_standings/team_matches,/team_squad,/team_standings/player,/player_matches/team_search,/player_search
This flat pricing means fetching a full match with lineups, stats, and h2h data costs the same 1 credit per call whether the match has 2 events or 20 — there's no per-record or per-KB charge.
What's Completely Free
Webhook management doesn't cost anything to set up or maintain:
POST /webhook/register— registering a new webhook: freeGET /webhook/register— listing your webhooks: freeDELETE /webhook/register— removing a webhook: free
You're only charged when a notification is actually delivered — 1 credit per goal notification sent to your endpoint. If no goals happen, you pay nothing beyond the free registration.
Estimating Your Monthly Usage
A rough framework for estimating cost:
// Example: a live scores app checking 5 leagues, updated every 60 seconds,
// active 12 hours/day
const checksPerDay = (12 * 60); // 1 call per minute per league
const leagues = 5;
const callsPerDay = checksPerDay * leagues; // 3,600 calls/day
const callsPerMonth = callsPerDay * 30; // ~108,000 credits/month
This is exactly the kind of calculation where webhooks (free registration, pay-per-delivery) often work out cheaper than polling — see our webhooks guide for the real-time alternative.
Reducing Credit Usage Without Losing Functionality
- Cache league lists locally —
/leaguesdata changes infrequently; refresh daily rather than per request - Use webhooks for live updates — replace per-minute polling of
/live_match_detailswith free webhook registration plus pay-per-goal delivery - Batch by session, not by user — fetch shared data (like standings) once and serve it to all users from your own cache, rather than calling the API per user request
- Only fetch what you display — skip calling
/h2hor/injuriesfor matches your UI doesn't currently show
What Happens When You Run Out of Credits
Once your balance is exhausted, requests return a 429 error rather than silently failing:
{
"success": false,
"message": "Access denied. Possible reasons: Invalid key, insufficient credits, daily limit exceeded, or inactive account.",
"timestamp": "2026-08-27 14:22:01"
}
This makes it straightforward to catch and handle in code — check for a 429 or a success: false response and trigger a top-up or user-facing message rather than letting requests fail silently.
Frequently Asked Questions
Do credits expire?
No, credits never expire — unused credits carry over indefinitely.
Is there a free tier suitable for production use?
The 100 free credits are enough to build and test an integration, but any app with regular live traffic will need a paid credit balance once free credits are used.
Does registering a webhook count against my credits?
No, registering, listing, and deleting webhooks is always free. Only delivered goal notifications cost 1 credit each.
Is there a difference in cost between live and historical data?
No, endpoints like /live_match_details and /team_matches cost the same 1 credit per call whether the match is live, upcoming, or from a past season.