USCIS JSON Reader: How to Find, Read & Analyze Case JSON
Learn how to extract, read, and interpret the raw JSON data behind your myUSCIS case status. Decode hidden timestamps, document lists, and internal service codes.
Have a case with USCIS? Check my case free
What is myUSCIS case JSON?
JSON (JavaScript Object Notation) is a text format used by modern web applications to transmit data between a database server and a browser client.
When you view your cases on my.uscis.gov, the web application doesn't load pre-made HTML. Instead, it queries a series of secure background endpoints. These endpoints return structured JSON files containing your raw case details. The browser then reads this JSON and renders it into the clean boxes and timelines you see on the dashboard.
Because the dashboard is designed to be simple for the average applicant, it hides most of the fields returned in the raw JSON response. By accessing the JSON directly, you can read these hidden details.
How to manually find your case JSON
If you are using a desktop or laptop computer, you can find the raw JSON using built-in developer tools. Follow these steps:
- Open Google Chrome, Microsoft Edge, or Firefox, and log into your account at my.uscis.gov.
- Right-click anywhere on the page and click Inspect (or press F12). This opens Developer Tools.
- Click on the Network tab at the top of the DevTools panel.
- Refresh the myUSCIS page. You will see a list of network requests loading in real-time.
- In the filter/search box, type
/api/cases/. - Click on the request that matches your receipt number (e.g.,
IOE0912345678). - Go to the Response or Preview tab. You will see a block of curly braces and keys. This is your raw case JSON.
Key JSON fields decoded
When you inspect the JSON data, you will see a list of key-value pairs. Here are the most significant keys that a USCIS JSON reader parses:
| JSON Key | Type | Description & Meaning |
|---|---|---|
receiptNumber | String | Your official case receipt number (e.g. starting with IOE). |
formType | String | The form classification (I-130, I-485, I-765, etc.). |
updatedAtTimestamp | Number | A Unix epoch timestamp marking the millisecond of the last database save. Critical for tracking silent updates. |
agencyActionRequired | Boolean | Indicates if USCIS is currently processing your file (false) or if you must take action like biometrics or RFE (true). |
cmsFailure | Boolean | Indicates if the Content Management System failed to sync (often explaining why public status is broken). |
documentList | Array | In your case's Documents data (the Documents link): the notices USCIS has posted to your account, such as approval notices or RFEs. |
Why you need a dedicated USCIS JSON reader
While you can read raw JSON in text editors, it is very difficult to extract meaningful insights manually. Here is why using a dedicated analyzer like CaseStatusAPI makes a difference:
- Timestamp Translation: Converts Unix millisecond codes (e.g.
1781453042187) into standard human dates (e.g. June 14, 2026, 4:04 PM). - Since your last check: A full report compares this check with your last one (your case's steps and its last-updated time) and points out what changed.
- AI Explanation: Feeds the raw attributes into our secure AI engine which cross-references community data, offering a plain-English explanation of what each step on your record means.
The CaseStatusAPI Chrome extension (one-click)
If opening browser inspection tools and copying text sounds too complicated, we built a free Chrome Extension to automate everything.
Once installed, you simply open the CaseStatusAPI home page. Our extension detects your active myUSCIS login session, fetches the JSON responses from all 4 primary endpoints behind the scenes, and loads them directly into our analyzer dashboard in a single click.
You get all the analytical depth of the USCIS case status API without ever seeing a line of raw code.
Frequently asked questions
What is a USCIS JSON reader?
A tool that turns the raw case data from your myUSCIS account into readable text: it explains the steps, dates, office codes and flags in plain words.
How do I extract myUSCIS case JSON data manually?
On a computer, sign in to my.uscis.gov, open your browser's developer tools (F12), go to the Network tab, refresh the page and find the '/api/cases/' call; its Response tab holds the raw text to copy. Without developer tools, CaseStatusAPI makes the links to your case data, and its Chrome extension fetches it when you tap it.
Can I read myUSCIS JSON data on my phone?
Phone browsers don't have developer tools, so CaseStatusAPI makes direct links to your case data instead. They open with your own myUSCIS sign-in in Safari or Chrome; copy the text and paste it on our home page.
Is it safe to copy and paste my USCIS JSON response?
You copy it from your own signed-in myUSCIS account, so you never share your password or session cookie with us. We never store the name, A-Number, address, or documents from your case. Your filing is analyzed in real time. If you share with the community (on by default), we keep a de-identified copy of the case data, with names, A-Numbers and addresses removed and your receipt number reduced to a keyed one-way hash and its 8-character block prefix, and build the timeline benchmarks from it; you can opt out at any time and delete the contributions we can link to you. If you buy a report, we save it (it shows your receipt number) behind a private link for 90 days so you can reopen it, and you can delete it sooner. A paid report also adds a snapshot of the case to your My Case history, under your email, so you can see how it changed; that history is kept until you delete your account. Our Privacy Policy explains how we use and protect receipt numbers.
Why is the updatedAtTimestamp field important in the JSON?
It records when your case record was last updated in USCIS's systems. A silent update is when USCIS updates your case record on a later day than its most recent public step, without adding a new step you can see. The record doesn't say what changed. It can follow your own upload, a system update or an office move, so it isn't a sign of review, progress or approval.
Can I see PDF letters in the JSON?
The notices USCIS has posted for your case are listed in your case's Documents data (the Documents link), not in the Status data.
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