For Agents
Structured JSON behind the San Diego STEM Ecosystem opportunity directory. No auth, no API key, no rate limit imposed by us.
What this is
A directory of STEM learning opportunities (camps, out-of-school programs, work-based
learning) run by San Diego-area partner organizations. Two file kinds, statically served,
plain JSON: a partner roster and, per partner, a current-events file and a past-events
file. partners.json plus every referenced partner's event files fully
reconstruct the opportunity data on this site — no other source needed.
Data
Fetch in this order:
1. GET https://league-infrastructure.github.io/partner-scrape/data/partners.json
-> { generated_at, partner_count, partners: [...] }
Each partner has a "slug", "events_url", "past_events_url"
(both paths relative to .../data/).
2. For each partner, GET:
https://league-infrastructure.github.io/partner-scrape/data/partners/<slug>/events.json
https://league-infrastructure.github.io/partner-scrape/data/partners/<slug>/past-events.json
-> { generated_at, partner_slug, kind, event_count, events: [...] }
"current"/"past" is a true partition -- undated records land in
past-events.json, nothing is dropped.
3. GET https://league-infrastructure.github.io/partner-scrape/data/teams.json
-> { meta: { generated, total, by_league, by_location_precision,
out_of_region }, teams: [...] }
Independent of steps 1-2 -- the FIRST/VEX robotics teams directory
for San Diego County, self-describing via its own meta envelope. That's the full URL surface — no other endpoint exists. Field-by-field definitions for every partner, event, and team property, plus a worked example of each file shape, are on How to Consume Our Data; this page does not repeat them.
Links
- /data-access — full schema, envelope shape, reconstruction contract, worked example.
- /publish-events — acting on a partner's behalf and want their events ingested? Publishing methods, ordered easiest-first.
- /opportunities — this same data, rendered for a human.