Stewardship is what turns one-time sponsors into multi-year partners, and nothing impresses a sponsor like a polished report that shows exactly what their dollars produced. Instead of assembling it by hand each year, pull the data programmatically from The Blue Alliance (TBA).
Step 1 — Get a Read API key. Log in at thebluealliance.com, open your Account Dashboard, and generate a key under the Read API Keys section. Every request to the base URL https://www.thebluealliance.com/api/v3 must include the header X-TBA-Auth-Key.
Step 2 — Hit the right endpoints. For team key frc254, useful endpoints are:
/team/frc254/events/2026/simple— events attended this season/team/frc254/awards/2026— awards won this season/team/frc254/events/2026/statuses— ranking and playoff status per event
Step 3 — A working script.
import requests
TBA_KEY = "YOUR_READ_API_KEY"
TEAM = "frc254"
YEAR = 2026
BASE = "https://www.thebluealliance.com/api/v3"
HEADERS = {"X-TBA-Auth-Key": TBA_KEY}
def get(path):
r = requests.get(BASE + path, headers=HEADERS, timeout=15)
r.raise_for_status()
return r.json()
events = get(f"/team/{TEAM}/events/{YEAR}/simple")
awards = get(f"/team/{TEAM}/awards/{YEAR}")
print(f"=== {YEAR} Season Impact Report ===")
print(f"Events attended: {len(events)}")
for e in sorted(events, key=lambda x: x["start_date"]):
print(f" - {e['name']} ({e['city']}, {e['state_prov']})")
print(f"\nAwards won: {len(awards)}")
for a in awards:
print(f" - {a['name']} @ event {a['event_key']}")
Run it and you instantly have a verified, citable list of events and awards — no manual data entry, no transcription errors.
Step 4 — Turn data into sponsor language. Sponsors do not care about OPR; they care about reach and outcomes. Combine the TBA data with numbers you track manually (students on the team, outreach hours, people reached at demos) into a one-page report:
Thanks to [Sponsor], in 2026 our 34 students competed at 2 events,
won the [Award], and reached 1,200+ community members through 9 outreach events.
Step 5 — Automate the render. Drop the script output into a template (a Google Doc via the Docs API, or a simple HTML-to-PDF). Even just printing to a formatted text block you paste into a designed one-pager saves hours and guarantees the numbers are accurate.
Respect TBA's terms: cache responses, do not hammer the API, and attribute data to The Blue Alliance. This same data pipeline feeds your Impact Award documentation and your end-of-year board report, so build it once and reuse it everywhere.
the part worth keeping
Key takeaways
- The Blue Alliance Read API (base URL https://www.thebluealliance.com/api/v3, header X-TBA-Auth-Key) exposes your events and awards as JSON for free; generate the key under Read API Keys on your Account Dashboard.
- Key endpoints: /team/{key}/events/{year}, /team/{key}/awards/{year}, /team/{key}/events/{year}/statuses.
- Translate raw results into sponsor language — reach and outcomes, not OPR — and pair API data with manually tracked outreach numbers.
- Build the data pipeline once and reuse it for sponsor reports, Impact Award documentation, and board updates.
Business, Operations & FundraisingWorked Examples & Mini-Projects: Build Your Team's Business Toolkitlesson 4 of 5
Keep going
Take the quiz+10 XP with an accountMore in Worked Examples & Mini-Projects: Build Your Team's Business Toolkit
where this came from
Sources and corrections
This lesson is AI-assisted: drafted from primary sources, then reviewed and edited by hand. Errors still get through. When one is reported we fix it and write down what changed, in public, in the corrections log.
sources and further reading
- thebluealliance.comThe Blue Alliance APIv3 Documentation
- thebluealliance.comThe Blue Alliance Developer APIs
- github.comtbapy — Python wrapper for the TBA API
clipped to this lesson
Articles that go further on this
The lesson gets you through the topic. These go wider on it, and they read in one sitting.
- 18 min readThe Blue Alliance (TBA): How to Use FRC's Match & Team DatabaseThe Blue Alliance (TBA) is FRC's free match and team database. Navigate team, event, and match pages, set up myTBA notifications, and use its read API./blogread it
- 20 min readBuilding an FRC Scouting App: Data Model, TBA/Statbotics APIs, and PicklistsBuild an FRC scouting app: match and pit scouting, a simple data model, pulling schedules and EPA from the TBA and Statbotics APIs, and building a picklist./blogread it
- 13 min readFRC Awards Explained: Every FIRST Robotics Competition Award (Impact, EI, Autonomous & More)A complete guide to every FIRST Robotics Competition award — Impact, Engineering Inspiration, Autonomous, Innovation in Control, Dean's List and more — with judged criteria and how to win./blogread it
answer sheet
Lesson quiz
All 3 right completes the lesson. Miss one and only that question comes back, anything you already answered correctly stays banked.
0 of 3 answered
01To auto-generate a sponsor impact report by pulling your team's results from The Blue Alliance (TBA) Read API v3, how must you authenticate each request?
02When requesting your team's data from the TBA API v3, what is the correct format for the team key, and what is the API's base URL?
03After pulling event and award data from TBA, how should you present it in the sponsor impact report?
Answer every question to submit.
All 49 lessons in Business, Operations & Fundraisingopenclose
01 / prerequisites
02 / team-structure-and-leadership
03 / project-management-build-season
04 / budgeting-finance-fundraising
05 / sustainability-documentation-business-plan
06 / first-impact-award
07 / understanding-the-cost
08 / first-grants-and-programs
09 / winning-corporate-sponsors
10 / grant-writing-events-crowdfunding
11 / stewardship-and-relationships
12 / worked-examples-business-toolkit
- Not read yet:Mini-Project 1: A Working Season Budget Model
- Not read yet:Mini-Project 2: A Sponsor CRM in a Spreadsheet
- Not read yet:Mini-Project 3: A Grant Pipeline & Deadline Tracker
- Not read yet:Mini-Project 4: Auto-Generate a Sponsor Impact Report from The Blue Alliance API
- Not read yet:Mini-Project 5: A Competition Travel & Logistics Planner
13 / common-mistakes-troubleshooting-operations
14 / advanced-techniques-case-studies
- Not read yet:Should Your Team Become a 501(c)(3)? Structure Deep-Dive
- Not read yet:Multi-Year Financial Modeling: Reserves, Runway & Endowments
- Not read yet:Scaling Impact: From Local Outreach to Systemic Advocacy
- Not read yet:Case Study: Hall of Fame Programs Decoded
- Not read yet:Governance, Risk & Compliance for a Mature Program