Once you have applied for some form of immigration with the U.S Citizenship and Immigration Services (USCIS), whether it is a green card or a work permit, you can check your immigration case status online using your receipt number. Your receipt number will arrive in the mail approximately 30 days after USCIS has received your immigration application.
Go to http://www.uscis.gov. Click "Check My Case Status" on the left hand side of the web site, under the subheading "After I file".
Create an account by clicking "Sign-up for Case Updates" in the box on the left-hand side of the My Case Status page. Click "Register as an applicant customer", and accept the terms on the following page. Fill in the personal information and click "Submit".
Click "Add a Case to Your Portfolio", and enter your application receipt number. This will save your immigration case so you can check it in the future. Select the case by checking the box marked "select" to the left of the case number and click "e-mail alert on". You will now receive e-mail updates to your inbox as and when your case is updated by USCIS, which will vary depending on what form of immigration you have applied for.
Check your immigration case status as often as you like by logging into the USCIS web site.
If you have not heard about your case status and are past the normal processing times, contact USCIS directly for an appointment to speak with an immigration officer (known as an InfoPass). Appointments can be made online via https://infopass.uscis.gov/infopass.php, or by calling the National Customer Service Center at 1-800-375-5283. Normal processing times can be found on the USCIS home page, under the subheading "check processing times" on the left of the web page.
This method is not foolproof. Some people can be approved for immigration with their case never showing up online.