USCIS Processing Time Monitor
Pricing
from $20.00 / 1,000 processing-time lookups
USCIS Processing Time Monitor
Look up and monitor official USCIS case processing times for any form, category and office, and get USCIS's own answer on whether a case is outside normal processing time yet so an inquiry can be filed.
Pricing
from $20.00 / 1,000 processing-time lookups
Rating
0.0
(0)
Developer
Adam Pearce
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Waiting on a USCIS case and tired of re-checking the processing times page by hand? This Actor reads the official USCIS Case Processing Times tool for you, for any form, category and office, tells you whether a specific case is far enough along to file an inquiry, and can watch a whole caseload and alert you the moment USCIS moves its own numbers.
It reads egov.uscis.gov/processing-times, the same official source a paralegal would open in a browser, and returns it as clean structured data you can schedule, pipe into a spreadsheet, or call from an API or an AI agent.
What makes this different from a plain lookup
Most tools hand you a number. This one answers the two questions that actually cause work in an immigration practice:
- "Can we file an inquiry on this case yet?" Give it a case receipt date and it returns USCIS's own answer: either the case is outside normal processing time and can be queried now, or the exact date from which it can. That is not an estimate or a guess based on averages, it is the same answer the official tool gives.
- "Did anything move?" USCIS republishes these figures monthly and they shift. Monitor mode remembers what it saw last time and reports only genuine movement, so a scheduled run is a short list of what changed rather than a wall of numbers to re-read.
What you can do with it
- Watch every form, category and office combination across your active caseload, and get told when a queue speeds up or slows down.
- Catch the moment a client's case crosses into inquiry-eligible territory, instead of checking receipt dates by hand each month.
- Track the same form across different field offices to see where cases are actually moving faster.
- Feed current, structured processing times into a client portal, a case-management system, or an AI assistant.
How to use it
- Start with reference mode. Set
listAvailableOptionsto true and run it. USCIS uses codes that nobody can guess, such as134A-IRfor "U.S. citizen filing for a spouse, parent, or child under 21", andSCDfor Service Center Operations. This mode lists all 44 forms with their category codes, and it is never charged. Add a form number to also get that form's office codes. - Do a lookup. Put the form number, category code and office code in, and run it.
- Add a receipt date (in
YYYY-MM-DDformat) to also get the inquiry-eligibility answer for that specific case. - Watch a caseload. Put all your combinations in the
targetsarray, turn onmonitorMode, and schedule it monthly. The first run records a baseline, and every run after it reports only what changed.
Input
| Field | What it does |
|---|---|
listAvailableOptions | Reference mode: lists valid form, category and office codes. Never charged. |
formName | Form number, e.g. I-130, N-400, I-485, I-765. |
formCategory | Category code for that form, e.g. 134A-IR. |
officeCode | Office code, e.g. SCD, NBC, FOD, or a field office like NYC. |
receiptDate | Optional case receipt date in YYYY-MM-DD. Adds the inquiry-eligibility answer. |
targets | An array of combinations to check in one run, each with an optional label and receiptDate. |
monitorMode | Report only what changed since the last run. |
watchlistId | Keeps separate monitor histories apart, one per client list or schedule. |
Output
{"label": "Nguyen family petition","formName": "I-130","formCategory": "134A-IR","officeCode": "SCD","formDescription": "Petition for Alien Relative","categoryDescription": "U.S. citizen filing for a spouse, parent, or child under 21","found": true,"rangeLower": 21.5,"rangeUpper": 29,"rangeUnit": "Months","rangeText": "21.5 to 29 Months","serviceRequestDate": "March 18, 2024","publicationDate": "July 15, 2026","dataPeriod": "Processing Time Data from January 2025 to June 2026","receiptDate": "2019-01-15","canSubmitInquiryNow": true,"earliestInquiryDate": null,"inquiryLink": "https://egov.uscis.gov/e-request/onpt","changeDetected": true,"changeSummary": "Processing time is now 21.5 to 29 Months, was 18 to 33 Months (faster).","sourceUrl": "https://egov.uscis.gov/processing-times"}
You can download the dataset as JSON, CSV, Excel or HTML.
Main fields
| Field | Meaning |
|---|---|
rangeText | The published processing time, e.g. "21.5 to 29 Months". |
rangeLower / rangeUpper | The same range as numbers, for sorting and charting. |
serviceRequestDate | Cases receipted on or before this date are outside normal processing time. |
canSubmitInquiryNow | Whether the case you gave a receipt date for can be queried now. |
earliestInquiryDate | If not yet, the date from which it can be. |
changeDetected / changeSummary | What moved since the last run, in Monitor mode. |
found | False when USCIS publishes nothing for that combination. |
notes | Why a row is empty or an input was ignored. Never left to guesswork. |
How much does it cost?
Every run has to open a real browser session and clear the anti-bot check on the USCIS site before any lookup can happen. That cost is the same whether you check one combination or fifty, which is why there is a small run-start charge alongside the per-result charges.
The practical consequence: put all your checks in one run. Checking 30 combinations in a single run costs a fraction of running the Actor 30 separate times.
| Event | Price |
|---|---|
| Run start | $0.01 per GB of memory |
| Processing-time lookup | $0.02 |
| Case inquiry-eligibility check | $0.03 |
| Monitor mode: change detected | $0.05 |
| Monitor mode: no change confirmed | $0.006 |
A realistic example: watching 30 combinations once a month in Monitor mode, with a couple of them moving, costs roughly $0.30 per month. Reference mode, which you will use to look up codes, is free.
Tips
- Batch everything into the
targetsarray rather than running the Actor repeatedly. It is the single biggest thing you can do to keep the cost down. - Use a distinct
watchlistIdper schedule, so two schedules do not overwrite each other's baseline. - Run it monthly. USCIS updates these figures monthly, so anything more frequent mostly pays to confirm nothing changed.
- Receipt dates must be
YYYY-MM-DD. Other formats are rejected with an explanation rather than silently ignored.
FAQ
Is this official USCIS data? Yes. It comes from the USCIS Case Processing Times tool. This Actor is not affiliated with or endorsed by USCIS or DHS, and uses none of their branding.
Is this legal?
The data is published by a U.S. federal agency and is in the public domain under 17 U.S.C. §105. The USCIS site's robots.txt disallows nothing, and neither USCIS's website policies nor DHS's terms of use restrict reading or reusing this information, including commercially. The Actor only reads public pages and never attempts to log in or access anyone's personal case record.
Can it track my individual case status? No, and nothing can do that without your account. This works on the published processing times, plus the official inquiry-eligibility answer for a given receipt date. Personal case status is not available through any public interface.
Why do I need a category code and an office code? Because USCIS publishes different times for each. An I-130 filed by a U.S. citizen for a spouse is a different queue from one filed for a sibling, and an N-400 in New York is a different queue from one in Los Angeles. Run reference mode to see the valid codes.
A combination returns nothing. Is it broken?
USCIS does not publish a figure for every possible combination. When that happens you get found: false and a note saying so, rather than a blank row. Check your codes with reference mode.
Why doesn't a new publication date count as a change? USCIS re-publishes monthly whether or not the numbers move. Treating that alone as a change would mean an alert every single month telling you nothing useful, so Monitor mode reports the date but only flags a real movement.
Support
Found a problem, or want a form or field covered that is not here yet? Open an issue on the Issues tab and I will reply personally.
If this saved you a manual check of the USCIS processing-times page, a review helps a lot and helps decide what to build next.