USCIS API

The USCIS case status API, without building anything.

USCIS offers a case status API to approved developers. Getting a status back is the easy part. Checking hundreds of receipts on a schedule, catching real changes and telling the right person is the work. CaseTracker has already built that part.

  • Every receipt checked against USCIS daily
  • Real changes separated from first-time lookups
  • Your team alerted by WhatsApp or email
  • No developer account, keys or servers to run
Start free trial

14 days · up to 20 cases · no card needed

Status changes · today
Team alerted
IOE0912345678I-485
Case Was ReceivedInterview Was Scheduled
EAC2490118822I-129
Case Was ReceivedRequest for Additional Evidence Was Sent
MSC2190456123N-400
Case Is Being Actively Reviewed By USCISCase Was Approved
Why firms look for an API

Checking USCIS by hand stops working around 50 cases.

Firms start searching for a USCIS API when someone on the team is spending hours a week pasting receipt numbers into the USCIS website.

The website is one case at a time

USCIS's public case status page takes one receipt number per lookup. A firm with 300 open cases can't realistically check them all every day.

Access takes an application

The official API is offered through the USCIS developer portal. Production access requires registering, describing your use case and waiting for approval.

A status is not an alert

The API answers "what is the status now". It doesn't remember yesterday's status, notice that it changed, or tell your paralegal. All of that is yours to build.

How it works

What CaseTracker runs on top of USCIS for you

  1. 01

    Import your receipts

    Upload an Excel or CSV file with receipt numbers, client names and form types. Hundreds of cases import in one go.

  2. 02

    We check USCIS daily

    Every active receipt is checked each day. Temporary USCIS errors are retried automatically, and an outage never counts as a status change.

  3. 03

    Changes reach your team

    When a status really changes, the people who asked for that kind of update get it by WhatsApp or email, and the case rises to the top of the dashboard.

What you get

Everything you would otherwise have to build

Scheduling and retries

Daily checks across your whole caseload, with automatic retries when USCIS is slow or returns an error.

Change detection

We store each case's previous status, so only real movement triggers alerts, not the first lookup after import.

Per-person alert rules

Each team member chooses which events they want, such as RFEs, appointments, approvals or denials, and on which channel.

History and audit trail

Every status a case has had, with dates, plus an Activity page showing what changed and who was told.

Exports

Download your cases and their status history as CSV for reporting or your own systems.

Team access

Owners, admins and members share one caseload, with no keys or credentials to hand around.

Side by side

Building on the USCIS API vs using CaseTracker

Build it yourselfCaseTracker
Getting accessApply on the developer portal and wait for approvalSign up and import cases the same day
Daily checksWrite and host a schedulerIncluded
USCIS errors and outagesYour code has to handle themRetried automatically; outages don't create false alerts
Knowing what changedStore and compare every statusBuilt in, with full history
Telling the teamBuild email and WhatsApp sendingWhatsApp and email, chosen per person
Ongoing costDeveloper time and hostingFrom $100 a month
Guide

What to know before building on the USCIS API

What the API returns

The case status API takes a receipt number and returns the current status text and description, the same information a person sees on the USCIS case status page. It doesn't push updates to you. To find out when something changes, you have to ask again for every case.

What a firm actually needs

In practice, firms need four things on top of the raw lookup: a schedule that checks every open case, a record of each case's last known status, rules for who should hear about which kind of change, and a reliable way to send those messages. Each one is a small project, and together they're a product to maintain.

There are also edge cases: receipt numbers USCIS can't find yet, cases transferred between offices, and days when USCIS is slow or down. A homegrown script that treats an error as a status change will send your team false alarms.

When building makes sense

If you have in-house developers and want status data inside your own case management system, the API is a good fit. If you just want your team to know when a case moves, it's usually faster and cheaper to use a tool that already does it.

FAQ

Questions firms ask us

Does USCIS have a public API for case status?+

USCIS offers a case status API through its developer portal. Access to production data requires registering and getting your use case approved. It is not an open, keyless public endpoint.

Do I need my own USCIS API key to use CaseTracker?+

No. You add receipt numbers and CaseTracker handles the checks. There are no keys, servers or code on your side.

How often are cases checked?+

Every active case is checked against USCIS once a day, with automatic retries if USCIS returns an error.

Can I get the data out?+

Yes. You can export your cases and their full status history as CSV at any time.

Can we try it before paying?+

Yes. Every account starts with a 14-day free trial for up to 20 cases, no credit card needed. Plans after that are $100 a month for up to 120 active cases and $150 a month for up to 400, with custom pricing above that.

Skip the build. Keep the alerts.

Import your receipt numbers today and see your first daily check tomorrow morning.