Home › Sources › sfsc_civil_portal
San Francisco Superior Court Civil/Family/Probate/UD CaseInfo Portal
Source ID sfsc_civil_portal. Use source caveats and join keys before treating context records as court facts.
Source overview
| Source ID | sfsc_civil_portal |
| Name | San Francisco Superior Court Civil/Family/Probate/UD CaseInfo Portal |
| Owner | Superior Court of California, County of San Francisco |
| Layer | core_court_record |
| Coverage | Civil, unlawful detainer, appeals, family/probate-style CaseInfo records; filing-date enumeration observed back at least to 2000, with evidence for older scope in research notes. Live multi-date filing-date enumeration now proves 431 filing rows across sampled 2010, 2015, 2020, 2024, and 2026 filing dates. |
| Formats | HTML, DataSnap JSON envelope, proxied document URLs |
| Join keys | case_number, party_name, attorney_name, bar_number, document_url, judge_name, filed_date |
| Caveats | This is a separate case universe from criminal even though infrastructure is shared., Document URLs must be stored as provenance first; PDF retrieval, OCR, and redaction review are separate phases., The court's published instructions distinguish document visibility by family: family-law images are not viewable online, probate estate/trust images are viewable from 2001, and small-claims images from 2008. |
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_civil_portal | endpoint_research | - | - | - |
| - | sfsc_civil_portal | hydration_profile | - | - | - |
| - | sfsc_civil_portal | multidate_filing_enumerator_and_bounded_hydration_profile | - | - | - |
Full source record
| Access Mode | turnstile_session_datasnap_rest |
| Cadence | operational; sync by filing-date walk and per-case hydration |
| Coverage | Civil, unlawful detainer, appeals, family/probate-style CaseInfo records; filing-date enumeration observed back at least to 2000, with evidence for older scope in research notes. Live multi-date filing-date enumeration now proves 431 filing rows across sampled 2010, 2015, 2020, 2024, and 2026 filing dates. |
| Government Level | local_court |
| ID | sfsc_civil_portal |
| Layer | core_court_record |
| Name | San Francisco Superior Court Civil/Family/Probate/UD CaseInfo Portal |
| Owner | Superior Court of California, County of San Francisco |
| Profile Status | multidate_batch_hydration_profiled_agent_browser_datasnap |
| Canonical Records | court_case, case_person, court_event, court_document, court_payment, attorney_license_hint, source_record |
| Caveats | This is a separate case universe from criminal even though infrastructure is shared., Document URLs must be stored as provenance first; PDF retrieval, OCR, and redaction review are separate phases., The court's published instructions distinguish document visibility by family: family-law images are not viewable online, probate estate/trust images are viewable from 2001, and small-claims images from 2008. |
| Evidence | docs/research/master-findings.md, docs/research/civil-vs-criminal.md, docs/research/civil-scope-numbers.md, docs/research/civil-caseinfo-source-profile.md, artifacts/source-discovery/sfsc-civil-caseinfo.profile.json, artifacts/source-discovery/sfsc-civil-caseinfo-agent-browser-profile.json, artifacts/source-discovery/sfsc-civil-caseinfo-hydration-agent-browser-profile.json, artifacts/source-discovery/sfsc-civil-caseinfo-batch-agent-browser-profile.json, artifacts/source-discovery/sfsc-civil-caseinfo-cap-profile.json, artifacts/profiling/sfsc-civil-caseinfo-agent-browser.har, artifacts/profiling/sfsc-civil-caseinfo-agent-browser-headed.har, artifacts/profiling/sfsc-civil-caseinfo-hydration-headed.har, artifacts/profiling/sfsc-civil-caseinfo-batch-20260530.har, artifacts/profiling/sfsc-civil-caseinfo-agent-browser-cap.har, artifacts/profiling/sfsc-civil-caseinfo-agent-browser-cap2.har, data/civil_caseinfo_raw/sfsc-civil-caseinfo-hydration-agent-browser.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc26636895.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc26636932.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cpf26519737.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-csm26871665.json, data/civil_caseinfo_raw/manifest.json, artifacts/source-discovery/sf-courts-case-information-page.html, artifacts/source-discovery/sfsc-name-query-instructions.txt, scripts/profile_sfsc_civil_agent_browser.py, scripts/profile_sfsc_civil_caseinfo_batch.py, artifacts/source-discovery/sfsc-civil-caseinfo-multidate-agent-browser-profile.json, artifacts/profiling/sfsc-civil-caseinfo-multidate-20260530.har, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc24615481.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc20581951.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc15543489.json, data/civil_caseinfo_raw/sfsc-civil-caseinfo-cgc10275459.json |
| Formats | HTML, DataSnap JSON envelope, proxied document URLs |
| Join Keys | case_number, party_name, attorney_name, bar_number, document_url, judge_name, filed_date |
| Known Endpoints | CheckCaseNumber, FindCaseName, CaseNumFromName, GetCasesWithFilings, GetROA, GetAttorneys, GetCalendar, GetParties, GetPayments, GetDocuments |
| Rate Limit Notes | Same infrastructure as criminal; headed cap probing confirmed the generic 50-successful-call SessionID cap for CheckCaseNumber., GetParties is materially slower than other hydration endpoints and should run in a separate worker class., The 2026-05-30 Scrapling/headless warmup re-probe rendered the Turnstile iframe but hidden token fields stayed empty and no SessionID was minted., A headed Agent Browser re-probe minted a public CaseInfo SessionID and proved GetCasesWithFilings returned 34 rows for 2026-05-29; the remaining blocker is durable headless callback/fingerprint handling or a warmup pool., A same-day headed hydration probe proved CheckCaseNumber plus GetROA/GetAttorneys/GetCalendar/GetParties/GetPayments/GetDocuments against CGC-25-621081; bounded rows load into cases, people, events, documents, payments, and attorney candidates, while the document proxy probe persists PDF metadata only with no PDF bytes., A later headed batch hydration run reused the public filing-date enumerator proof, hydrated four 2026-05-29 cases, and promoted the civil fixture set to five cases, 22 civil people, 18 civil events, 14 document metadata rows, five payment rows, and three judge-enriched hearing rows., A bounded headed cap probe confirmed CheckCaseNumber reaches terminal resultCode -1 after 50 successful calls, while one GetCasesWithFilings run exhausted after 11 successful date-enumerator calls; treat enumerator sessions as lower-budget until replicated., A 2026-05-30 headed multi-date Agent Browser profile enumerated 431 filing rows across 2026-05-29 (34), 2024-06-20 (208), 2020-01-02 (51), 2015-01-05 (64), and 2010-01-04 (74). One case per date was selected for hydration; the historical selected cases proved filing-date walk coverage even where per-case hydration tables returned empty rows. |
| Source Urls | https://webapps.sftc.org/ci/CaseInfo.dll, https://ud.sftc.org/ |
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_civil_portalJSONGET https://api.bluedoor.sh/sf-superior-court/v1/case-search?source_id=sfsc_civil_portal&division=civil&limit=25&include_facets=trueJSONGET https://api.bluedoor.sh/sf-superior-court/v1/source-artifactsJSON