Esports Events
Get the latest information about esports matches. 50+ supported games: Counter-Strike, Valorant, League of Legends, Rocket League, ...
📅 Esports Calendar - Sync Esports Matches to Your Calendar using iCS / iCAL
Automatically sync esports matches to your calendar with customizable filters for competitions and teams. Works with Google Calendar, Apple Calendar, Outlook, and any calendar application that supports iCal/ICS feeds.
Consider giving it a ⭐️ if you like it to show your support!
📚 Table of Contents
- Features
- What does this do?
- Quick Start
- Option 1: Use the Web Interface
- Option 2: Direct API Usage
- Option 3: Use Presets
- What you get
- Additional iCal tags
- API Documentation
- Additional iCal tags
- Base Endpoint
- Query Parameters
- Multiple URL Support
- Preset Endpoint
- Supported Games
- Troubleshooting
- Common Issues
- Getting Help
- Contributing
- Prerequisites
- Setup
- Testing
- Custom Presets
Features
What does this do?
- 50+ Supported Games: Rocket League, League of Legends, CS2, Valorant, Dota 2, Overwatch, and many more
- Universal Compatibility: Works with Google Calendar, Apple Calendar, Outlook, iOS, Android
- Custom Filters: Filter by competition names, team names, or both
- Real-time Updates: Calendar automatically updates when new matches are scheduled
- Preset Configurations: Pre-built filters for popular tournaments (RLCS, Worlds, Majors)
- Advanced Options: Regex support, team name matching, past match inclusion
- Web Interface: User-friendly URL builder with live preview
- MCP Server: Plug our MCP to your AI Chatbot and get realtime information!
Quick Start
Option 1: Use the Web Interface (For non-devs)
- Visit ics.snwfdhmp.com
- Select your game and customize filters
- Click "📅 Add to Calendar" or copy the generated URL
- Import into your calendar application
Option 2: Direct API Usage (Recommended)
Generate calendar URLs using this format:
https://ics.snwfdhmp.com/matches.ics?url=LIQUIPEDIA_URL&[OPTIONS]
Example: Rocket League RLCS matches from the RLCS series
https://ics.snwfdhmp.com/matches.ics?url=https%3A%2F%2Fliquipedia.net%2Frocketleague%2FLiquipedia%3AMatches&competition_regex=RLCS
Option 3: Use Presets
Access pre-configured tournament feeds:
https://ics.snwfdhmp.com/preset/PRESET_NAME
Available presets:
rlcs- All RLCS matchesrlcs-worlds- RLCS World Championshipsrlcs-major- RLCS Major tournamentsrocket-league- All Rocket League matches
If you want to add your preset, feel free to update the preset file
Option 4: Use the MCP
Import this server into ChatGPT or any other MCP client: https://esports-calendar-mcp.snwfdhmp.com/
What you get
- Event summary contains:
- teams short names (eg: VIT vs KC)
- competition name
- type of match (eg: Bo3) if available
- score if the match already started
- Event details contains:
- team full names (eg: Vitality vs Karmine Corp)
- competition name
- type of match (eg: Bo3) if available
- score if the match already started
Additional iCal tags
The event ICS also contains some useful custom iCal tags for scripting or custom integrations.
| name | example |
|---|---|
| X-LIQUIPEDIATOICAL-COMPETITION | RLCS Worlds 2025 |
| X-LIQUIPEDIATOICAL-TEAMLEFT | KC |
| X-LIQUIPEDIATOICAL-TEAMLEFTFULLNAME | Karmine Corp |
| X-LIQUIPEDIATOICAL-TEAMLEFTURL | https://liquipedia.net/rocketleague/Karmine\_Corp |
| X-LIQUIPEDIATOICAL-TEAMLEFTLOGO | https://liquipedia.net/commons/images/thumb/1/1e/Karmine\_Corp\_2020\_lightmode.png/600px-Karmine\_Corp\_2020\_lightmode.png |
| X-LIQUIPEDIATOICAL-TEAMRIGHT | G2 |
| X-LIQUIPEDIATOICAL-TEAMRIGHTFULLNAME | G2 Esports |
| X-LIQUIPEDIATOICAL-TEAMRIGHTURL | https://liquipedia.net/rocketleague/G2\_Esports |
| X-LIQUIPEDIATOICAL-TEAMRIGHTLOGO | https://liquipedia.net/commons/images/thumb/d/da/G2\_Esports\_2020\_lightmode.png/600px-G2\_Esports\_2020\_lightmode.png |
| X-LIQUIPEDIATOICAL-WINNERSIDE | left |
| X-LIQUIPEDIATOICAL-DESCRIPTOR | Grand Final |
| X-LIQUIPEDIATOICAL-DESCRIPTORMOREINFO | ... |
API Documentation
Base Endpoint
GET /matches.ics[?opts]
Query Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
| url | string | Required. Liquipedia matches page URL | https://liquipedia.net/rocketleague/Liquipedia:Matches |
| competition_regex | string | Filter competitions by regex pattern | RLCS.*World |
| teams_regex | string | Filter teams by regex pattern | KC|G2 |
| teams_regex_use_fullnames | boolean | Use full team names instead of abbreviations | true |
| match_both_teams | boolean | Require both teams to match the filter | true |
| condition_is_or | boolean | Use OR logic between competition and team filters | true |
| ignore_tbd | boolean | Skip matches with undefined teams | true |
| past_match_allow_seconds | number | Include past matches within X seconds | 86400 |
Multiple URL Support
Combine multiple Liquipedia pages in one calendar:
/matches.ics
?1_url=URL1
&2_url=URL2
&2_competition_regex=PATTERN_FOR_2
&3_url=URL3
&3_teams_regex=PATTERN_FOR_3
It will merge events from the 3 configurations
Preset Endpoint
GET /preset/:name
Supported Games
The service supports 50+ esports titles including:
Popular Games:
- Rocket League
- League of Legends
- Counter-Strike 2
- Valorant
- Dota 2
- Overwatch
- Starcraft II
- Trackmania
- And many more...
View complete list of supported games
Troubleshooting
Common Issues
No matches found?
- Verify the Liquipedia URL is correct
- Check if the game has upcoming matches
- Try broader filter criteria
- For Battle Royale and games whose events do not advertise as "Team A vs Team B", use
allow_missing_teams=true - Open an issue if a supported game isn't working
Calendar not updating?
- Check if your calendar app supports automatic refresh
- Try removing and re-adding the calendar subscription
Getting Help
- 📝 Open an issue on GitHub
- 💬 Contact on Discord:
mjo___ - 🌐 Test your URL at ics.snwfdhmp.com
Contributing
Prerequisites
- Node.js
- pnpm
Setup
Clone the repository
git clone https://github.com/snwfdhmp/liquipedia-to-ical.git cd liquipedia-cal
Install dependencies
pnpm install
Start development server
pnpm run dev
Run tests
pnpm run test
Testing
How to run the tests
The project includes comprehensive testing for all supported games:
Run all tests
pnpm run test
Run tests and only show failing tests
pnpm run test -o
Run tests for Rocket League
pnpm run test "Rocket League"
Run tests for Rocket League and verbose output
pnpm run test -v "Rocket League"
Custom Presets
Add new presets in src/presets.ts:
export const presets: Record<string, string[]> = { "my-preset": [ "https://ics.snwfdhmp.com/matches.ics?url=...", ], }
Made with ❤️ for the esports community
Star ⭐ this repository if you find it useful!
❤️ Sponsoring helps me spending time on this and paying for the servers!
Servidores relacionados
GeoRanker
Access GeoRanker's SEO and keyword research tools for advanced search engine optimization analysis.
regmd-mcp
Medical device regulatory intelligence. Classify devices, query alerts, find pathways across 15 jurisdictions (FDA, EU MDR, HSA, TGA, PMDA, NMPA +9 more). REST API + MCP.
Knowledge Raven
Make your knowledge agent-ready. Connect docs from Confluence, Notion, GitHub, Dropbox, or Google Drive — any AI agent searches them via MCP.
Scout Intel MCP
Business & market intelligence for AI agents — 7 tools, 8 data sources, structured JSON
Langflow Document Q&A Server
A document question-and-answer server powered by Langflow.
Google Search
Perform Google searches and view web content with advanced bot detection avoidance.
signalfuse-mcp
Crypto trading signals, sentiment, macro regime, web search & code execution via x402 micropayments on Base
MarineTraffic MCP Server
Provides access to MarineTraffic vessel tracking data.
secEdgarMCP
An MCP server that allows a client to fetch data from the SEC EDGAR API and pull documents into terminal rendering
TMDB MCP Server
Access movie information, search, and recommendations from The Movie Database (TMDB) API.