Skip to contents

[!IMPORTANT]

This project is not affiliated with any government agency and should not be considered official by any means.

The repository contains a study in programmatically obtaining processing time data for various immigration forms from the U.S. Citizenship and Immigration Services (USCIS) using the R programming language. Historical median processing information for the fiscal years is shared by USCIS at https://egov.uscis.gov/processing-times/historic-pt

Information is obtained by making the same standard HTTPS requests the processing time form makes to communicate with the USCIS Processing Time API found at:

https://egov.uscis.gov/processing-times/api/

You can see an example of the workflow for obtaining the I-485 processing time data for Chicago, IL in the following GIF:

Web API Responses from USCIS Processing Times

Source: https://i.imgur.com/K9OalZF.gif

Installation

The uscis package is a GitHub-only package. You can install the package from GitHub with:

# install.packages("remotes")
remotes::install_github("coatless-r-n-d/uscis-processing")

Usage

The package provides a set of functions to interact with the USCIS Processing Time API. The following is a brief overview of the functions available:

# Load the library
library(uscis)

# Initialize USCIS session
uscis_init_session()

# Retrieve USCIS forms
forms <- uscis_forms()

# Retrieve form types based on form names
form_types <- uscis_form_types(forms)

# Retrieve processing offices for each form type
offices <- uscis_form_offices(form_types)

# Retrieve processing times for each form and office
processing_times <- uscis_processing_times(offices)

The API is designed to mirror the steps taken by the USCIS Processing Time website. The functions are also designed to be used in a pipeline fashion to retrieve the desired information.

Acknowledgements

USCIS

I would like to take a moment to express my gratitude and appreciation to the USCIS team for their hard work and dedication in reviewing and processing immigration forms. Their tireless efforts help individuals and families from around the world to realize their dreams and build new lives in the United States. Thank you for your service to the community and for making a positive impact on so many lives.

Prior work

Retrieved processing time information from the USCIS has been extensively studied, but there has been a lack of focus on utilizing the R programming language for this purpose. For non-exhaustive examples of prior projects, please see:

License

AGPL (>= 2)