Skip to content

[harbor-commons] Public API: expose 990 transparency data via REST endpoints #20

Description

@fullharbor

Harbor Commons' public-good case rests on making 990 data legible to anyone -- parents, journalists, funders, researchers. Currently accessible only via direct Supabase queries. Work: (1) Create packages/harbor-commons/src/api/main.py (FastAPI) with endpoints: GET /clubs -- paginated list of sailing orgs (name, ein, state, type, latest_revenue), GET /clubs/{ein} -- full financial profile (3 years of 990 data), GET /clubs/{ein}/quiet-yield -- estimated volunteer labor value, GET /clubs/compare?eins=ein1,ein2 -- side-by-side comparison, (2) All endpoints read from Supabase sailing_filer_core via anon key (public data, RLS already configured), (3) Add OpenAPI docs at /docs, (4) Add rate limiting (slowapi, 60 req/min/IP), (5) Deploy target: Railway or Fly.io (free tier). This is the SEO surface + civic credibility layer for funder conversations.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions