---title: Finding Unregistered Numbers in a Projectslug: /guides/how-to-find-unregistered-numbers-on-your-projectsidebar_position: 5x-custom: ported_from_readme: true needs_review: true---Overview--------When you have hundreds or even thousands of numbers in your project, it can be painstaking to try and find out which ones are registered and which are not. However, this process is **essential** to ensure your messages are not blocked for coming from unregistered numbers. This script makes it easy to compare all the numbers in your project with a CSV of registered numbers. If you dont have a CSV of your registered numbers, [this snippet](/guides/how-to-list-phone-numbers-assigned-to-a-specific-campaign) can help you accomplish that! What do I need to run this code?-------------------------------- Full code example: How to Compare All Project Numbers with Registered Numbers
pythonfrom signalwire.rest import Client as signalwire_clientimport csvSpaceURL = projectID = authToken = PathToCSV = FileName.csvclient = signalwire_client(projectID, authToken, signalwire_space_url=SpaceURL)incoming_phone_numbers = client.incoming_phone_numbers.list()print(Total Numbers -- + str(len(incoming_phone_numbers)))results = []unregistered = []with open(PathToCSV, r, encoding=utf-8-sig) as csvfile: reader = csv.reader(csvfile) for row in reader: if + not in row[0]: results.append(+ + row[0]) else: results.append(row[0])for record in incoming_phone_numbers: if record.phone_number in results: continue else: print(unregistered number -- + record.phone_number) unregistered.append(record.phone_number)print(unregistered) You will need your API credentials as well as a CSV of your registered numbers. You can [find your API credentials](/guides/navigating-your-space#api) in the API tab of your SignalWire Space!How to Run Application----------------------This application is very simple! We will first define our SpaceURL, projectID, authToken, and pathToCSV variables to be used throughout the code. pythonfrom signalwire.rest import Client as signalwire_clientimport csv# define your variables here so they dont need to be hardcodedSpaceURL = projectID = authToken = PathToCSV = folder/FileName.csvWe will use the authentication variables we just defined to instantiate the SignalWire Client and list all phone numbers in the project.python# authenticate client client = signalwire_client(projectID, authToken, signalwire_space_url=SpaceURL)# List and print all numbers on accountincoming_phone_numbers = client.incoming_phone_numbers.list()print(Total Numbers -- + str(len(incoming_phone_numbers)))We are going to have to keep track of both unregistered and registered numbers, so we will create two lists to store the data. Now that we have a results array, we will loop through the CSV using csv.reader and append each number. If a number is not already in E164 format, we will modify it before appending to results. python# Open CSV file with registered numberswith open(PathToCSV, r, encoding=utf-8-sig) as csvfile: reader = csv.reader(csvfile) # Change to E164 format if its not already in that format for row in reader: if + not in row[0]: results.append(+ + row[0]) else: results.append(row[0])We have now arrived at the last step, **I told you it was easy**! All we have to do now is loop through the numbers on the project that we pulled from the API earlier and check each number to see if it exists in results. If it does, then it is already registered, and therefore needs no attention. If not, we will add the number to the unregistered list. Once we have finished, we will print all of the unregistered numbers. If they are toll-free, they are safe to ignore! Any local numbers with messaging destined to US numbers on this unregistered list should be added to a campaign to use them for messaging. pythonfor record in incoming_phone_numbers: if record.phone_number in results: continue else: print(unregistered number -- + record.phone_number) unregistered.append(record.phone_number)print(unregistered)Sign Up Here------------If you would like to test this example out, you can create a SignalWire account and space [here](https://m.signalwire.com/signups/new?s=1).Please feel free to reach out to us on our [Community Slack](https://signalwire.community/) or create a Support ticket if you need guidance!