What Is the USCIS API? The Official API vs. Your myUSCIS Data
People mean two different things by "the USCIS API": the official Case Status API that USCIS offers to software developers, and the data behind your own myUSCIS account. Here is what each one shows, who can use it, and which one you need.
1. The official USCIS Case Status API (for developers)
USCIS offers APIs through its Torch API program on the USCIS Developer Portal. The Case Status API lets an approved app look up a case by its receipt number and returns:
- the current public status, in English and Spanish;
- the form type, the submitted date and the date the record last changed;
- a history of the public statuses the case has had, with dates.
Access is for software development organizations: you register an app, test in a sandbox with sample receipt numbers, authenticate with OAuth 2.0, and USCIS grants production access after reviewing your app, its accessibility (Section 508) and its privacy policy. It is the right choice if you are building a tool for a law firm or an organization that tracks many cases.
2. The data behind your myUSCIS account (for applicants)
When you sign in at my.uscis.gov, the page loads your case from USCIS's own data services as raw JSON. That is the data people usually mean when they talk about "checking the USCIS API" for their case, and it holds more than the public status page:
- Event history with USCIS codes such as IAF (case received), FTA0 (background checks) or H008, each with a date.
- The office handling your case, including transfers between service centers and field offices.
- Your documents and notices, sometimes visible before the paper copy arrives.
- An "updated" time that can change while the public status stays the same, which is what people call a silent update.
Only someone signed in to your account can load it, and it covers only the cases in that account.
IOE receipts, silent updates and a status that won't change
This data is richest for receipt numbers that start with IOE: cases handled in USCIS's electronic system (ELIS). Paper-era receipts (EAC, WAC, LIN, SRC and others) usually don't show it. See what an IOE receipt number means.
It also explains a common worry: a public status that hasn't changed in months. The public page shows one line, such as "Case Was Received", while your account data can keep recording steps underneath: background checks, a transfer to another office, or a new "updated" time with no new status. Those are the silent updates people look for when their USCIS case status is not updating.
Side by side
Which one do you need?
- You are building software for an organization that manages cases: start at the USCIS Developer Portal.
- You want to understand your own case: use your myUSCIS data. The step-by-step guide shows how to open it, and our USCIS API case status tracker turns it into a plain-English timeline for free.
How CaseStatusAPI reads your data
CaseStatusAPI is independent and not affiliated with USCIS. It never asks for your USCIS password. You bring the data from your own signed-in account in one of three ways, and we explain it: what each event code means, where your case is, whether a silent update happened and what usually comes next.
- Copy and paste from the links we generate for your receipt number (any browser, including phones).
- The free Chrome extension, which fetches your data while you are signed in to myUSCIS.
- The iPhone Shortcut, which does the same from Safari.
How we handle your receipt number and case data is in our privacy policy.
Frequently asked questions
Is there an official USCIS API?
Yes. USCIS runs the Torch API program at developer.uscis.gov. Its Case Status API returns the public status of a case (the status text in English and Spanish, the form, dates and a history of public statuses) to registered software developers, who get sandbox access first and production access after USCIS reviews their app.
Can I use the official USCIS API to check my own case?
It is built for organizations that make software, such as case-management tools for law firms: you register an app, authenticate with OAuth 2.0 and pass a review before production access. To follow your own case you do not need it. Your myUSCIS account, or the public case status page, shows your status, and your myUSCIS account data shows more.
What is the difference between the official API and my myUSCIS data?
The official Case Status API returns the public status and its history. The data behind your signed-in myUSCIS account also includes internal event codes, the office handling your case, your documents and notices, and an "updated" time that can change before the public status does (a silent update).
Who can see my myUSCIS case data?
Only someone signed in to your myUSCIS account. The data loads in your own browser with your own login. CaseStatusAPI never asks for your USCIS password.
Is CaseStatusAPI part of USCIS?
No. CaseStatusAPI is independent and not affiliated with USCIS. It reads the case data your own myUSCIS login shows you, which you paste in or fetch with our Chrome extension or iPhone Shortcut, and explains it in plain English.
See your own case, explained
See every step USCIS has recorded for your case, in plain English: your timeline, silent updates, and what usually comes next for cases like yours.
Check my case freeWe are immigration applicants and technologists who built CaseStatusAPI to help others navigate the USCIS process with transparency. Our guides are informed by firsthand experience, community feedback, and deep analysis of USCIS internal API data.
Learn more about us