Query USCIS case statuses in real time. Track cases, get structured JSON responses, and receive instant webhook alerts when statuses change.
# Query a USCIS case status curl https://immigrationapi.com/api.php?action=case&receipt=MSC2190012345 \ -H "Authorization: Bearer imm_live_abc123..." # JSON Response { "success": true, "case_status": { "receiptNumber": "MSC2190012345", "formType": "I-485", "current_case_status_text_en": "Case Was Approved", "current_case_status_desc_en": "On July 5, 2026, we approved..." } }
A simple, powerful REST API to integrate USCIS case status data into your applications.
Query USCIS case statuses directly. Get structured, parsed JSON responses instead of scraping HTML. Always up-to-date.
Monitor multiple cases and get alerted when statuses change. Track up to 5,000 cases per account with full history.
Receive instant HTTP notifications when tracked cases change status. Signed payloads with HMAC-SHA256 verification.
Three simple steps to start querying USCIS case statuses.
Sign up for free. No credit card required. Get instant access to the API.
Your API key is generated automatically. Use it in the Authorization header.
Make your first API call. Query any USCIS receipt number and get structured data back.
A complete REST API for USCIS case status data. View full documentation →
| Method | Endpoint | Description |
|---|---|---|
| GET | ?action=case&receipt=XXX | Query a single case status |
| GET | ?action=cases&receipts=X,Y,Z | Batch query up to 20 cases |
| POST | ?action=track | Start tracking a case |
| GET | ?action=tracked | List all tracked cases |
| GET | ?action=history&id=N | Get status change history |
| POST | ?action=refresh | Refresh all tracked case statuses |
| GET | ?action=usage | View your API usage stats |
| POST | ?action=webhook | Register a webhook endpoint |
| GET | ?action=webhooks | List your webhooks |
| POST | ?action=keys | Generate a new API key |
| GET | ?action=me | Get account info |
Start free. Scale as you grow. No hidden fees.