What it returns
Asylum and other relief decisions, and case outcomes, in US immigration courts, from the Executive Office for Immigration Review's monthly case data release. Counted by fiscal year, court, immigration judge, nationality and case type, with grant rates.
Two datasets. applications: decided relief applications (asylum, withholding of removal, Convention Against Torture, cancellation of removal and others) with outcomes such as granted, denied, abandoned or withdrawn; each row carries granted and denied counts and a grant rate when outcome is not a grouping. decisions: completed proceedings by decision (removed, terminated, relief granted, voluntary departure...), in absentia orders and custody status.
Choose how to group (by judge, court, nationality, year, case type, outcome...) and filter by judge, court city or state, nationality, case type, application, outcome and fiscal year range.
Source: EOIR Case Data (FOIA release), rebuilt monthly. About 13.4 million completed proceedings and 10.3 million decided applications since fiscal year 1991. Respondents are never identified: only counts are published. Judges are named as public officials. Fiscal years start on 1 October.
Charged per grouped row returned.
Request
POST https://api.pushbuild.com/immigration-court-outcomes/run with a JSON body. Send your key in the X-API-Key header.
| Field | Type | Description |
|---|---|---|
dataset | string: applications, decisions | applications (asylum and other relief decisions) or decisions (completed proceedings). Default: "applications". |
groupBy | list of strings | Any of fiscalYear, court, courtState, judge, nationality, caseType, application, outcome (applications), decision, inAbsentia, custody (decisions). Default fiscalYear, court, judge. |
application | string | Words in the application type, e.g. asylum, withholding, torture, cancellation. |
outcome | string | Application outcome words, e.g. grant, deny, abandon, withdraw. |
decision | string | Proceeding decision words, e.g. removed, terminated, relief granted. |
judge | string | Part of the immigration judge's name. |
court | string | Part of the court's city, e.g. Houston. |
courtStates | list of strings | Two-letter states of the courts. |
nationality | string | Part of the country name, e.g. Venezuela. |
caseType | string | Words in the case type, e.g. removal, asylum only, credible fear. |
inAbsentiaOnly | boolean | Decisions only: orders made with the respondent absent. |
fiscalYearFrom | integer | Federal fiscal year (starts 1 October), e.g. 2024. |
fiscalYearTo | integer | Federal fiscal year. |
maxItems | integer | Maximum items to return (1-500). Default: 100. |
Example
curl -X POST https://api.pushbuild.com/immigration-court-outcomes/run \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"groupBy": ["fiscalYear", "court"], "application": "asylum", "fiscalYearFrom": 2025, "maxItems": 20}'
Response
{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}
Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.
Pricing
Pay only for results returned: $1.60 per 1,000 rows. No charge for errors or empty searches.
Use it from Claude, ChatGPT or Cursor
This API is also an MCP server: https://api.pushbuild.com/mcp/immigration-court-outcomes. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.
Tell us what you need built.
Questions about this API, higher volumes, or a data source you need that we don't cover yet.
hello@pushbuild.comWant this data inside your own app or CRM? API integrations and data sync