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.

In short: the official USCIS Case Status API is for developers building apps and returns the public status of a case. The data behind your myUSCIS account is for you and shows much more: event codes, the office handling your case, your documents and silent updates. To understand your own case, you need the second one.

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

Made for
Official Case Status API
Registered software developers and organizations
Your myUSCIS data
You, the applicant, signed in to your own account
How you get it
Official Case Status API
Register at developer.uscis.gov, sandbox first, OAuth 2.0, production after a USCIS review
Your myUSCIS data
Sign in at my.uscis.gov; the data loads in your browser
Current status
Official Case Status API
Yes (English and Spanish text)
Your myUSCIS data
Yes
Status history
Official Case Status API
Public status history with dates
Your myUSCIS data
Full event history with USCIS event codes
Office handling the case
Official Case Status API
No
Your myUSCIS data
Yes
Documents and notices
Official Case Status API
No
Your myUSCIS data
Yes, including when each was issued
Silent updates
Official Case Status API
Not shown as such
Your myUSCIS data
Visible from the "updated" time and events
Whose cases
Official Case Status API
Any receipt number the app is authorized to look up
Your myUSCIS data
Only the cases in your own account

Which one do you need?

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 free
CS
Written by the CaseStatusAPI Team

We 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

Related guides

How to Check USCIS Case Status Using the Internal API (Step-by-Step)USCIS Silent Update: Meaning, Causes, and How to Track ItUSCIS API Event Codes DecoderUSCIS JSON Reader: How to Find, Read & Analyze Case JSON

Explore More Community Tools

Community TimelinesCommunity Forum
Disclaimer: This content is for educational and informational purposes only. CaseStatusAPI is an independent tool and is not affiliated with, endorsed by, or connected to U.S. Citizenship and Immigration Services (USCIS) or any government agency. For official case information, visit uscis.gov.