search_players
Find players by name, team, or position.
When to use it
You need a player's ID to look up their stats, or you want to search a roster by position. For example, "find all active centers on the Sabres" or "look up Tage Thompson's player ID."
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| query | string | yes | Search string (e.g. "Tage Thompson") |
| team | string | no | Filter by team abbreviation |
| position | string | no | G, D, C, LW, or RW |
| active | boolean | no | Active players only (default true) |
| limit | integer | no | Max results (1-50, default 10) |
Request
curl -X POST https://mcp.puckapi.com/v1/search_players \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"query": "Thompson",
"team": "BUF"
}'Over MCP, ask for it in plain English and the client calls search_players itself. Point any MCP client at https://mcp.puckapi.com/mcp?key=YOUR_API_KEY.
Response
{
"players": [
{
"id": 8480208,
"name": "Tage Thompson",
"team": "BUF",
"teamName": "Buffalo Sabres",
"position": "C",
"jerseyNumber": 72,
"active": true
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
| players[].id | integer | Player ID (use in get_player_stats) |
| players[].name | string | Full name |
| players[].firstName | string | First name |
| players[].lastName | string | Last name |
| players[].team | string | Team abbreviation |
| players[].teamName | string | Full team name |
| players[].position | string | Position code |
| players[].positionType | string | Position type (F, D, or G) |
| players[].jerseyNumber | integer | Jersey number |
| players[].birthCountry | string | Birth country |
| players[].active | boolean | Currently active |
Related endpoints
Takes the player_id this one returns.
Player bio and goalie stats (if goalie). For skaters, returns bio info and team context.
Returns the team this one takes.
All 32 active NHL teams with divisions, conferences, and arenas.
Returns the team this one takes.
Current standings with points, point pace, goal differential, and 5v5 possession: Corsi%, Fenwick% and expected goals.
Takes the player_id this one returns.
Play-by-play events with rink coordinates, strength state, and the players involved.
Try it
500 credits free on signup — 250 calls to search_players — and no card.