Home › Sources › sfsc_calendar_portal
San Francisco Superior Court Case Calendar Portal
Source ID sfsc_calendar_portal. Use source caveats and join keys before treating context records as court facts.
Source overview
| Source ID | sfsc_calendar_portal |
| Name | San Francisco Superior Court Case Calendar Portal |
| Owner | Superior Court of California, County of San Francisco |
| Layer | near_term_calendar |
| Coverage | Current/future public court calendars by date/type plus name-search calendar rows. A 2026-05-30 headed Agent Browser refresh observed 8,684 endpoint rows across six positive result sets and promoted a bounded 139-row normalized extract into court_calendar_events: 18 Law & Motion, 21 Probate, 25 Unified Family Court, 50 Criminal, and 25 civil SMITH name-search rows with historical dates back to 1928-05-22. |
| Formats | DataSnap JSON envelope |
| Join keys | case_number, court_date, room, location, event_type |
| Caveats | Session behavior is fragile; the refreshed run had one fresh browser open fail to mint SessionID within the warmup window., Civil rows expose case links through HTML anchors and must be sanitized/normalized before storage., Civil name search is not a complete enumerator by itself without an external name universe., Calendar rows are hearing/event references and should not be treated as final outcomes. |
Linked cases
0 matching cases for this source filter.
No matching cases.
Source artifacts
| Artifact ID | Source ID | Artifact Type | Path | URL | Captured At |
|---|---|---|---|---|---|
| - | sfsc_calendar_portal | endpoint_research | - | - | - |
| - | sfsc_calendar_portal | agent_browser_endpoint_profile | - | - | - |
Full source record
| Access Mode | turnstile_session_datasnap_rest |
| Cadence | operational |
| Coverage | Current/future public court calendars by date/type plus name-search calendar rows. A 2026-05-30 headed Agent Browser refresh observed 8,684 endpoint rows across six positive result sets and promoted a bounded 139-row normalized extract into court_calendar_events: 18 Law & Motion, 21 Probate, 25 Unified Family Court, 50 Criminal, and 25 civil SMITH name-search rows with historical dates back to 1928-05-22. |
| Government Level | local_court |
| ID | sfsc_calendar_portal |
| Layer | near_term_calendar |
| Name | San Francisco Superior Court Case Calendar Portal |
| Owner | Superior Court of California, County of San Francisco |
| Profile Status | implemented_seeded_session_backed |
| Canonical Records | court_calendar_event, court_event, court_case_reference, source_record |
| Caveats | Session behavior is fragile; the refreshed run had one fresh browser open fail to mint SessionID within the warmup window., Civil rows expose case links through HTML anchors and must be sanitized/normalized before storage., Civil name search is not a complete enumerator by itself without an external name universe., Calendar rows are hearing/event references and should not be treated as final outcomes. |
| Evidence | artifacts/source-discovery/sfsc-case-calendar-agent-browser-profile.json, artifacts/source-discovery/sfsc-case-calendar-lookup-js.js, artifacts/profiling/sfsc-case-calendar-agent-browser-headed.har, data/court_calendar_raw/sfsc-case-calendar-agent-browser.json, docs/research/master-findings.md, docs/research/enrichment-findings.md, artifacts/source-discovery/sfsc-case-calendar-agent-browser-refresh.profile.json, artifacts/source-discovery/sfsc-case-calendar-agent-browser-refresh.png, artifacts/profiling/sfsc-case-calendar-refresh-20260530, data/court_calendar_raw/manifest.json, scripts/sync_sfsc_case_calendar.py, artifacts/local-prod/sfsc-calendar-sync-dry-run/manifest.json |
| Formats | DataSnap JSON envelope |
| Join Keys | case_number, court_date, room, location, event_type |
| Known Endpoints | GetCases2, GetCasesByName{caseType}{name}, GetCasesByNum |
| Rate Limit Notes | Use browser warmup and retry until SessionID appears before DataSnap calls; the refreshed run still had one fresh Civil Harassment session miss., Exact UI case-type values matter: /CRIMINAL/, M//LAWMOT, M//PRO, M//FAM, and // for civil name search., The scheduled worker defaults to a 4-call per-session budget because earlier profiling observed one session return -1 after two GetCases2 calls., Civil name calls can be broad and historical, so production backfill should be driven by curated name lists and dedupe. |
| Source Urls | https://webapps.sftc.org/cc/CaseCalendar.dll |
Get this page with API
Rendered from the bluedoor SF Superior Court API. Reproduce it:
GET https://api.bluedoor.sh/sf-superior-court/v1/sources/sfsc_calendar_portalJSONGET https://api.bluedoor.sh/sf-superior-court/v1/case-search?source_id=sfsc_calendar_portal&division=criminal&limit=25&include_facets=trueJSONGET https://api.bluedoor.sh/sf-superior-court/v1/source-artifactsJSON