Data access
Find, read, interpret and cite existing public resources, downloads and exact Context queries.
Start with a resource
Choose browsing, discovery or a published file according to your task.
- Browse public data
- (English metadata)
- USCIS asylum offices Entity directory (English metadata)
- Immigration courts Entity directory (English metadata)
- Immigration judges Entity directory (English metadata)
- Nationalities Entity directory (English metadata)
- Find published downloads and their sources
The baseline manifest and the complete-edition metadata describe different releases. Use the version and hashes belonging to the file you actually read; no single package represents every current page.
Choose a reading format
HTML is for browsing; JSON has structured fields; Markdown keeps the explanation readable.
Use the explicit format URL and language path listed here or in the catalog. Do not rely on automatic content negotiation or a global lang parameter. English-only metadata is labelled separately.
Entity summaries
Court, judge, nationality and USCIS office summaries describe their declared default scope and coverage. Adding a query string does not turn an entity summary into an exact cohort query. Historical codes and interview locations retain their identity limitations.
Published collections
Collections provide their fixed published summaries and declared national or office series. They do not carry the current HTML filters and reject query parameters. Check each publication selection, unit and method.
- Asylum outcome records
- Representation records
- USCIS national data
- Timelines and workload
- BIA appeal outcomes
- In absentia records
- Bond records
- Hearings
- Motions
Explanatory guides
Guides preserve their conditions, exceptions and official-source status. They are explanatory content, not statistical queries, and their machine representations reject query parameters.
Records by court, judge or nationality · Context OpenAPI (English) · Context response schema (English)
Context alone provides the exact combinations described below. Static downloads remain files; their query strings are not a filtering interface. Read errors and availability from the response, not from a successful HTTP status alone.
Use a verified request
These read-only GET examples use existing endpoints; HEAD validates the same resource without a body.
Read one court summary
curl "https://asylumcompass.com/court/chicago-chi.json"Read an exact Context selection
curl "https://asylumcompass.com/context.json?court=DEN&judge=MKC&nationality=MX&period=fy2025"The entity example reads a Chicago court summary. The Context example selects source codes DEN, MKC and MX in FY2025. Source-code association does not prove that a named person authored a decision.
Context accepts only court, judge, nationality and period. Use case-sensitive source codes. A judge needs its court for an exact selection; judge-only, historical-only, unrelated and unsupported combinations keep their own availability and never silently become national results. Unknown parameter names and repeated fields are rejected by the machine endpoints.
Canonical Context periods:
fy2025annual:2024annual:2023annual:2022annual:2021fy2023_2025fy2021_2025
Omitting period defaults to fy2025. Examples keep it explicit for citation. OpenAPI documents accepted aliases, empty values and error precedence; it does not add new parameters to collections, guides or files.
Use GET or HEAD and keep the returned ETag when revalidating. Conditional request details follow each endpoint contract; static files and validated query responses need not handle every ETag form identically. No authentication scheme, quota or service-level guarantee is specified here.
Interpret and cite
A number needs its object, source version, period, unit, denominator and availability.
Preserve the resource identity, exact selection, original integers, numerator and denominator, source references and method. Units differ: proceedings, application records and appeal events are not interchangeable counts of people.
Verified zero is a value. Unknown or source-withheld is not zero; a zero denominator is not calculable. Unsupported scope, no matching observations and a technical loading failure are different states. A blank outcome or date does not prove a pending case.
Coverage cutoff says how far records extend; content revision identifies an explanation or translation change; checked-on describes a source check; built-at describes package preparation; published-on describes public release only when supported. Unknown dates stay unknown. Catalog revisions and ETags are discovery and cache metadata, not new source releases.
Current URLs may change with later releases. Keep the response title and URL, actual source release IDs and hashes, coverage period and content revision with your citation. Save the public response you used when needed; the site does not promise online replay of every historical response.
Follow changes and reuse
Track documented changes and keep the applicable license and source boundaries.
The change stream includes only selected publicly evidenced events, not the full project history. A known public event may have an unknown original publication date. General feature milestones and unpublished candidates are separate.
Project-created published aggregates and immutable aggregate contracts use CC0 1.0. Project code is licensed under Apache-2.0; that license statement does not establish that the processing code is publicly available or that the complete source-to-site workflow can be reproduced from public materials.
Official PDFs, workbooks, help documents and other third-party materials retain their own source terms; the project does not relicense them. Bundled fonts have separate OFL-1.1 notices. Raw applicant-level extracts are not published. These statements do not expand the public data scope or change any license.