The Detection Library manages how Teamarr classifies and identifies streams. It contains keywords, patterns, and team aliases that help the stream matcher understand what sport, league, and event a stream belongs to.
The library has four tabs, each handling a different aspect of stream classification.
Team Aliases
Event Type Detection
League Hints
Sport Hints
Team aliases
Map alternate team names to their official names. IPTV providers often use shortened or unofficial team names — for example, “Niners” instead of “San Francisco 49ers”. Aliases tell Teamarr to treat them as the same team.Table columns
| Column | Description |
|---|
| Alias | The alternate name that appears in stream names |
| Maps To | The official team name it resolves to |
| League | Which league the alias applies to |
| Actions | Delete button |
Adding an alias
Open the add form
Click Add Alias in the top-right corner of the Team Aliases tab.
Enter the alias text
Type the name your IPTV provider uses — exactly as it appears in stream names.
Select a league
Choose the league to filter the team list. This narrows down which teams are available to map to.
Select the team
Pick the official team the alias maps to from the filtered team list.
Create the alias
Click Create. The alias is immediately active for future matching runs.
To change an alias, delete it and create a new one. Aliases cannot be edited in place.
Team aliases don’t have an enable/disable toggle — they’re always active until deleted.Event type detection
Keywords that identify what type of event a stream represents. These help Teamarr distinguish between regular games, fight cards, tournaments, and other event formats.Table columns
| Column | Description |
|---|
| Keyword/Pattern | The keyword or regex pattern to match |
| Type | Text (literal match) or Regex (pattern match) |
| Priority | Higher numbers are checked first |
| Status | On/Off — disabled keywords are skipped during classification |
| Actions | Toggle, Edit, Delete |
Keyword vs. regex
- Text (literal) — Matches the exact string anywhere in the stream name. Case-insensitive by default.
- Regex — Matches using a regular expression pattern. Useful for matching multiple variations with a single rule (e.g.,
\bMMA\b to avoid matching “Emma”).
League hints
Keywords that identify which league a stream belongs to. When a stream name contains a league hint keyword, Teamarr narrows its event search to that specific league — improving match accuracy and speed.Table columns
| Column | Description |
|---|
| Keyword/Pattern | The keyword or regex pattern to match in stream names |
| Target | The league code the keyword maps to |
| Type | Text or Regex |
| Priority | Higher numbers are checked first |
| Status | On/Off |
| Actions | Toggle, Edit, Delete |
Examples
| Keyword | Target | Effect |
|---|
UCL | uefa.champions | Streams containing “UCL” match Champions League events |
La Liga | esp.1 | Streams containing “La Liga” match Spanish Primera Division events |
CFL | cfl | Streams containing “CFL” match Canadian Football League events |
Sport hints
Keywords that identify which sport a stream belongs to. Sport hints are checked when no league hint is found, providing a broader classification that narrows the event search to a single sport.Table columns
| Column | Description |
|---|
| Keyword/Pattern | The keyword or regex pattern to match in stream names |
| Target | Sport name(s) displayed as badges |
| Type | Text or Regex |
| Priority | Higher numbers are checked first |
| Status | On/Off |
| Actions | Toggle, Edit, Delete |
Multi-sport hints
Some keywords are ambiguous across sports. For example, “football” could mean American Football or Soccer depending on context. Sport hints support comma-separated targets to map one keyword to multiple sports:| Keyword | Target | Effect |
|---|
football | Soccer, Football | Tries matching against both Soccer and Football events |
footy | Soccer | Only matches Soccer events |
hoops | Basketball | Only matches Basketball events |
When entering multiple sports, separate them with commas. They display as individual badges in the table.
Keyword fields
All keyword tabs (Event Type Detection, League Hints, and Sport Hints) share the same create/edit form:
| Field | Description |
|---|
| Keyword/Pattern | The text or regex to match in stream names |
| Regular expression | Toggle between literal text matching and regex |
| Enabled | Whether this keyword is active |
| Target Value | What the keyword maps to (league code or sport name). Not used for Event Type Detection. |
| Priority | Numeric priority — higher values are checked first |
| Description | Optional notes about the keyword |
Enable and disable keywords
Click the toggle icon in the Actions column to enable or disable a keyword without deleting it. Disabled keywords appear dimmed in the table and are skipped during stream classification.
Import and export
All tabs support exporting and importing data as JSON files. This is useful for sharing configurations between instances or backing up your detection rules before making changes.
Export — Click Export to download the current tab’s data as a JSON file.
Import — Click Import and select a JSON file. The import results show how many items were created, updated, or skipped.
Export your detection library before making major changes. If stream matching breaks after editing keywords, you can re-import the backup to restore the previous state.