HockeyTech serves Canadian and US junior/minor hockey leagues via an undocumented API discovered from official league websites. It is registered at priority 50.
API details
| |
|---|
| Base URL | https://lscluster.hockeytech.com/feed/ |
| Auth | Public client keys (embedded in league websites) |
| Priority | 50 |
| Rate limit | None observed (caching used to be respectful) |
Supported leagues
CHL & member leagues
| League | Code | Client key |
|---|
| Canadian Hockey League | chl | f1aa699db3d81487 |
| Ontario Hockey League | ohl | f1aa699db3d81487 |
| Western Hockey League | whl | f1aa699db3d81487 |
| Quebec Major Junior Hockey League | qmjhl | f1aa699db3d81487 |
Professional
| League | Code | Client key |
|---|
| American Hockey League | ahl | 50c2cd9b5e18e390 |
| East Coast Hockey League | echl | 2c2b89ea7345cae8 |
| Professional Women’s Hockey League | pwhl | 446521baf8c38984 |
US Junior
| League | Code | Client key |
|---|
| United States Hockey League | ushl | e828f89b243dc43f |
Canadian Junior A
| League | Code | Client key |
|---|
| Ontario Junior Hockey League | ojhl | 77a0bd73d9d363d3 |
| British Columbia Hockey League | bchl | ca4e9e599d4dae55 |
| Saskatchewan Junior Hockey League | sjhl | 2fb5c2e84bf3e4a8 |
| Alberta Junior Hockey League | ajhl | cbe60a1d91c44ade |
| Manitoba Junior Hockey League | mjhl | f894c324fe5fd8f0 |
| Maritime Junior Hockey League | mhl | 4a948e7faf5ee58d |
All requests use the same base parameters:
feed=modulekit&key={client_key}&view={view}&client_code={league_code}&fmt=json&lang=en
| View | Description |
|---|
schedule | Full season schedule |
scorebar | Live scores |
teamsbyseason | Teams in league |
The provider_league_id in schema.sql is the client_code value (e.g., ohl, ahl, lhjmq for QMJHL).
The QMJHL client code is lhjmq — the French abbreviation for Ligue de hockey junior majeur du Québec.
Cache TTLs
The provider fetches the full season schedule once and caches it, then filters by date for individual queries. This significantly reduces API calls.
| Data | TTL |
|---|
| Full season schedule | 30 minutes |
| Teams | 24 hours |
| Past games | 7 days |
| Today’s games | 30 minutes |
| Tomorrow’s games | 4 hours |
| 3–7 days out | 8 hours |
| 8+ days out | 24 hours |
Special behaviors
- Full schedule caching —
get_team_schedule() fetches the entire season once, then filters locally.
- Lookback — Scans 7 days back to resolve
.last template variables.
- Thread-safe — Connection pooling with configurable limits.
File locations
| File | Purpose |
|---|
teamarr/providers/hockeytech/provider.py | HockeyTechProvider class |
teamarr/providers/hockeytech/client.py | HTTP client with client key management |