← BirdieAPICONTENT HISTORY
WHAT CHANGED
Update to BirdieAPI
Snapshot Oct 30, 2026 · 00:06 UTC · version 1.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save BirdieAPI and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Default data source for the BirdieAPI skills. Routes every call to the 14 BirdieAPI tools for PGA Tour, LPGA, LIV, DP World Tour and Korn Ferry Tour tournaments, leaderboards, scorecards, courses, player results, ratings and the winner prices of the four men's majors. Use when any other skill needs golf data, or when the user asks which tool to call, what a call costs, or how to connect.",
"included_files": [],
"name": "birdieapi-tool",
"skill_md_contents": "---\nname: birdieapi-tool\ndescription: \"Default data source for the BirdieAPI skills. Routes every call to the 14 BirdieAPI tools for PGA Tour, LPGA, LIV, DP World Tour and Korn Ferry Tour tournaments, leaderboards, scorecards, courses, player results, ratings and the winner prices of the four men's majors. Use when any other skill needs golf data, or when the user asks which tool to call, what a call costs, or how to connect.\"\nmetadata:\n version: 1.0.0\n author: BirdieAPI\n user-invocable: false\n---\n\n# BirdieAPI Tool\n\n> Connection: this plugin reaches the data through its MCP server, which the user connects with a normal OAuth sign-in. Never ask the user for an API key, token or password, and never put one in a tool argument.\n\n\nEvery other skill delegates data retrieval here. This skill owns the 14 tools, the credit costs, the league switch and the response envelope.\n\n**Coverage (from birdieapi.com/data and the league pages, check them before quoting a number):**\n\n| Dataset | What is there |\n|---------|---------------|\n| PGA Tour leaderboards and results | Every player in every field since 2001 |\n| PGA Tour hole-by-hole scores | About 99% of PGA Tour rounds since 2001, with par and yards per hole |\n| PGA Tour tournament stat lines | Driving distance and accuracy, greens in regulation, putts per green, sand saves, from 2011 |\n| Major winner odds | The four men's majors, weekly snapshots from 2021 (plus the 2020 U.S. Open) |\n| LPGA, LIV, DP World Tour | Leaderboards, round scores and the rating. No hole-by-hole, no odds |\n| Korn Ferry Tour | Leaderboards, round scores and hole-by-hole from 2007. No odds |\n\nData is public ESPN data loaded and checked by BirdieAPI. It is historical and next-morning, not a live feed.\n\n## Connecting\n\n- **Response envelope:** every REST response is wrapped as `{\"data\": {...}}`. Unwrap `data` before reading fields.\n\n## When to Use Each Tool\n\n| Task | Tool | Credits |\n|------|------|---------|\n| Find tournament ids for a season, winners, courses, majors | `list_tournaments` | 1 |\n| What is on this week and next, defending champion | `get_schedule` | 1 |\n| Find a player id from a name | `search_players` | 1 |\n| Full results of one tournament | `get_leaderboard` | 2 |\n| How each hole of a course played | `get_course` | 2 |\n| One player's hole-by-hole card | `get_scorecard` | 2 |\n| Who is playing best, on one rating | `get_ratings` | 2 |\n| Player overview, career totals, last ten results | `get_player` | 5 |\n| Player's tournament-by-tournament rounds and strokes vs field | `get_player_results` | 5 |\n| Player's season: par 3/4/5 splits, birdies, driving, greens | `get_player_stats` | 5 |\n| Player's record at one event or course across years | `get_course_history` | 5 |\n| Two players in every tournament both played | `get_head_to_head` | 5 |\n| Season leaders in one stat | `get_leaders` | 5 |\n| Major winner prices by sportsbook, opening and latest | `get_winner_odds` | 5 |\n\n## The league switch\n\nMost tools take `league`: `golf` (the default, the PGA Tour), `lpga`, `liv`, `dpwt`, `kornferry`.\n\n- `get_scorecard` takes only `golf` or `kornferry`.\n- `get_winner_odds` has no `league` argument. It holds the four men's majors only.\n- The `sg_par3`, `sg_par4`, `sg_par5` stats exist for the PGA Tour and Korn Ferry Tour only. Other tours return null.\n- Ratings are measured within one tour. A 2.0 on the LPGA and a 2.0 on the PGA Tour are not on one scale.\n- Player ids are ESPN's and are shared across tours, so a player's results on two tours join on one id.\n\n## Identifiers and seasons\n\n- `tournament_id`, `player_id` and `course_id` are strings. Never guess one: get it from `list_tournaments`, `get_schedule`, `search_players` or `get_leaderboard`.\n- `season` is a calendar year (a September 2025 event is season 2025). Exceptions from the site: the 2020 U.S. Open and the November 2020 Masters are season 2021; Korn Ferry 2020 and 2021 are one combined season stored as 2020.\n- Paged tools (`list_tournaments`, `get_player_results`) return `next_offset`. Pass it as `offset` for the next page.\n\n## Tool Selection Guide\n\n| You Need | Use This | Not This |\n|----------|----------|----------|\n| \"What is on this week?\" | `get_schedule` | `list_tournaments` (a whole season) |\n| \"Who won the 2024 PGA Championship?\" | `list_tournaments` with `season` and `major` | `get_leaderboard` (2 credits for a winner you can read in a row) |\n| \"Full results of the Masters\" | `get_leaderboard` | `get_player_results` per player |\n| \"Find Rory McIlroy's id\" | `search_players` | `get_player` (needs the id) |\n| \"How has Scheffler played this year?\" | `get_player_stats` with `season` | `get_player` (career overview) |\n| \"Best par-5 scorers of 2025\" | `get_leaders` with `stat` `sg_par5` | `get_player_stats` per golfer |\n| \"Which holes at Augusta were hardest?\" | `get_course` | `get_scorecard` |\n| \"Scheffler's round 1 hole by hole\" | `get_scorecard` | `get_course` |\n| \"How does he do at Pebble Beach?\" | `get_course_history` | `get_player_results` filtered by hand |\n| \"Scheffler versus McIlroy\" | `get_head_to_head` | two `get_player_results` calls |\n| \"Who is best right now?\" | `get_ratings` | `get_leaders` (a season stat) |\n| \"What was he priced at for the Masters?\" | `get_winner_odds` | nothing else has prices |\n\n## Calling Patterns\n\nExample calls in the skills are written as the tool name followed by its JSON arguments. Over MCP pass the arguments object. Over REST send it as the body:\n\n```\nsearch_players {\"query\": \"scheffler\"}\nget_ratings {\"limit\": 5}\nget_winner_odds {\"tournament_id\": \"401580344\", \"limit\": 5}\n```\n\n\n\nReal response, unwrapped from `{\"data\": ...}` and trimmed:\n\n```\nplayers[0]: player_id \"9478\", name \"Scottie Scheffler\", country \"USA\", tournaments 167, wins 23, first_season 2014, last_season 2026\n```\n\nChain the ids: `search_players` gives `player_id`, `list_tournaments` gives `tournament_id`, and the 2-credit and 5-credit tools take those.\n\n## Errors and empty results\n\n- A spent credit balance or a lapsed sign-in returns an error rather than data. Tell the user which.\n- An empty list for a season usually means the league has no data there (for example the LPGA between 2013 and 2019). Check the league page before assuming a bug.\n- A null `sg_par3`, `sg_par4` or `sg_par5` means the tour is not the PGA Tour or Korn Ferry Tour.\n- Do not retry a failed call in a loop. Each attempt can spend credits.\n\n## Credit Usage\n\n| Operation | Credits | Notes |\n|-----------|---------|-------|\n| Resolve a name to an id | 1 | `search_players` |\n| One tournament leaderboard | 2 | whole field unless `limit` is set |\n| One player card | 2 | `get_scorecard` |\n| One player's season | 5 | `get_player_stats` |\n| One major's winner market, 200 golfers | 5 | `limit` does not change the price |\n| A full 10-year course-history table for 40 golfers | 200 | 5 per golfer; warn first |\n\nA 500-credit month is about 100 five-credit calls a month. Tell the user the running total on any multi-call plan.\n\n## Commands That Do NOT Exist\n\n| Not Available | Use Instead |\n|--------------|-------------|\n| `get_strokes_gained`, `get_sg_categories` | `get_ratings`, `get_player_results` (`vs_field`, `adj_vs_field`) and `get_leaders` with `sg_par3/4/5`. There is no shot-level data, so no off-the-tee, approach or putting split |\n| `get_live_scores`, `get_live_leaderboard` | Not available. Data is next-morning; Data is next-morning, so check `status` from `list_tournaments` (scheduled, live, final) before reading a leaderboard as final |\n| `get_odds`, `get_matchup_odds`, `get_top_10_odds` | Only `get_winner_odds`, and only for the four men's majors |\n| `get_world_ranking` | Not available. Use `get_ratings` (our own rating) |\n| `get_team_standings` | Not available. LIV has individual results only |\n| `get_weather`, `get_tee_times`, `get_pairings` | Not available |\n| `get_field` | A field is the `players` list of `get_leaderboard` once a tournament has results |\n\n## Anti-patterns\n\n| What the Model Might Do | Why It's Wrong | Do This Instead |\n|---------------------|---------------|-----------------|\n| Call it \"strokes gained\" | The rating is the site's own strokes-versus-field number built from scores, not the official shot-level stat | Say \"strokes versus the field\"; see `strokes-vs-field` |\n| Pass a name as `player_id` | IDs are numeric strings | `search_players` first |\n| Pull `get_course_history` for a whole field | 5 credits each | Shortlist with `get_ratings` first |\n| Quote the latest winner price as the closing line | For past majors it can be up to a week before the first tee | Call it the latest pregame snapshot |\n| Compare an LPGA rating to a PGA Tour rating | Each is relative to its own tour | Compare within a tour |\n\n## BYOD\n\nIf the user brings their own round scores or odds, skip the tools and spend no credits. Minimum columns: rounds need `player`, `tournament`, `round`, `strokes`, `course`, `date`; odds need `player`, `book`, `american_price`, `timestamp`. Say when a column had to be inferred.\n\n## What to Do Next\n\n| What You Retrieved | Next Action | Skill |\n|--------------------|-------------|-------|\n| Tournament list or leaderboard | Read the result, find the course | `tournament-lookup` |\n| Player id | Scout the player | `player-scouting` |\n| Ratings or round-level strokes vs field | Interpret and compare | `strokes-vs-field` |\n| Hole data | Par-type and hole analysis | `hole-scoring` |\n| Winner prices | Compare books, movement | `odds-explorer` |\n"
}SHA-256 of public snapshot: 512c82f3b5615f42bafd0db71defe8a5d63187c429f7b60656a2d4a189086281