Premier League API
"Live Premier League Data, Instantly" by John Rippy | johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
Clean Access to Premier League Statistics
The Football-Data.org API has rate limits and complex responses. Free tier is limited to 10 requests/minute and data structures are inconsistent. What if you could get clean Premier League data with one API call?The Premier League API actor wraps Football-Data.org and returns clean, structured data:
- Current Premier League standings
- Fixtures by matchday or date range
- All 20 Premier League teams
- Team rosters with player details
- Top scorers with goals and assists
- Match data with lineups and events
- Head-to-head historical results
---
Why Use This Instead of Direct API Access
1. Clean Data Structure
Raw Football-Data.org API returns verbose, nested JSON. We simplify everything.
Raw API:{
"standings": [{
"table": [{
"position": 1,
"team": {
"id": 64,
"name": "Liverpool FC",
"shortName": "Liverpool"
},
"playedGames": 17,
"form": "W,W,D,W,W"
}]
}]
}
Our API:
{
"position": 1,
"team": "Liverpool",
"teamId": 64,
"gamesPlayed": 17,
"wins": 13,
"points": 42,
"form": ["W", "W", "D", "W", "W"]
}
2. No Rate Limit Hassle
We handle API rate limits and caching. You just make requests.
3. Webhook Support
Get data delivered to your endpoint automatically when ready.
4. BYOK (Bring Your Own Key)
Use your own Football-Data.org API key for higher limits, or use demo mode.
---
Available Tasks
---
Quick Start Examples
Example 1: Get Current Standings
{
"task": "standings"
}
Example 2: Get Fixtures for Matchday 20
{
"task": "fixtures",
"matchday": 20
}
Example 3: Get Top Scorers
{
"task": "scorers"
}
Example 4: Get Team Details with Squad
{
"task": "team_details",
"teamId": 64
}
---
Team IDs Reference
Note: Team IDs may change with promotions/relegations each season---
Output Examples
Standings Response
{
"task": "standings",
"success": true,
"data": {
"season": "2024/25",
"standings": [
{
"position": 1,
"team": "Liverpool",
"teamId": 64,
"playedGames": 17,
"won": 13,
"draw": 3,
"lost": 1,
"points": 42,
"goalsFor": 40,
"goalsAgainst": 17,
"goalDifference": 23,
"form": ["W", "W", "D", "W", "L"]
}
]
}
}
Top Scorers Response
{
"task": "scorers",
"success": true,
"data": {
"season": "2024/25",
"scorers": [
{
"rank": 1,
"player": "Mohamed Salah",
"team": "Liverpool",
"goals": 17,
"assists": 13,
"playedMatches": 17,
"nationality": "Egypt",
"position": "Right Winger"
},
{
"rank": 2,
"player": "Erling Haaland",
"team": "Manchester City",
"goals": 16,
"assists": 2,
"playedMatches": 16,
"nationality": "Norway",
"position": "Centre-Forward"
}
]
}
}
---
Pay-Per-Event Pricing
You only pay for what you use. No monthly fees. No minimums.Cost Examples
Demo mode available for testing without API key.---
API Key (Optional)
This actor can use the Football-Data.org API.
- Without API key: Demo mode with sample data
- Free tier: 10 requests/minute, Premier League only
- Paid plans: Higher limits, more competitions
Get your free API key at: https://www.football-data.org/client/register
---
Use Cases
Fantasy Football
- Player tracking: Monitor form for your FPL team
- Fixture difficulty: Analyze upcoming matchups
- Top performers: Track goal scorers and assist leaders
Sports Analytics
- Team comparisons: Compare stats across teams
- Form analysis: Track winning/losing streaks
- Historical data: Head-to-head records
Apps & Websites
- Live standings: Display current table
- Fixture lists: Show upcoming matches
- Stats widgets: Build player/team cards
Media & Content
- Article research: Get accurate stats
- Social content: Stats for posts and graphics
- Match previews: Build from fixture data
---
API Integration
Using the Apify API (JavaScript)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('localhowl/premier-league-api').call({
task: 'standings',
apiKey: 'YOUR_FOOTBALL_DATA_API_KEY' // Optional
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].data.standings);
Using cURL
curl -X POST "https://api.apify.com/v2/acts/localhowl~premier-league-api/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"task": "standings"
}'
---
Webhook Integration
Webhook Payload Format
{
"event": "task_completed",
"timestamp": "2025-12-23T12:00:00.000Z",
"actor": "premier-league-api",
"task": "standings",
"success": true,
"data": { ... }
}
Automation Ideas
- Weekly standings: Update database every week
- Match alerts: Notify when matches are scheduled
- FPL updates: Track player stats for fantasy leagues
- Discord bot: Post standings to your server
---
Limitations
- Rate limits: Football-Data.org free tier limits apply
- Data freshness: Not real-time during matches (updates every few minutes)
- Historical data: Limited to current season on free tier
- Competition: Premier League only (paid plans include more)
---
Support
- Email: john@johnrippy.link
🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
- GitHub: Report issues on the repository
---
Built by John Rippy | johnrippy.link🏆 2025 Zapier Automation Hero of the Year — Project Phoenix: A 95-step AI sales pipeline cutting development time by 50%. Read more →
---
Keywords
premier league api, football api, soccer api, epl api, premier league standings, premier league scores, football data, premier league player stats, fantasy premier league api, sports data api, premier league schedule, football scraper, premier league fixtures, fpl api