About This Project

Why this project was developed

When I wanted to search for my IP Address to verify if I was connected on a VPN or not, I noticed that my original IP address location was incorrect. Instead of showing my IP was located in the US, my IP was located in Brazil. I quickily decided to do some research about locating an IP address, where I noticed that majority of the IP geolocators use their own database or an API which checks an IP address through THEIR database. No matter where you get an IP address information, they all came from a database.

How does the website get it's IP information

Not all of the databases from another IP geolocator company are the same. Therefore, not all of the information on the database are accurate. What I decided to do was run a script that checked 100 random test IPs in 5 different IP blocks, where each IP block is in a different location. I tested each IP in 5 different GeoIP APIs, where I found out that only 60% of the information was accurate.

When I realized that the information was inaccurate, I decided to create my own GeoIP service, where all informations are gathered from three different API sources. From there, I created an algorithm that detects which data is accurate by choosing the information that is displayed the most on all three APIs. If it's a three-way tie, the algorithm brings in another source, which is a database that updates it's information monthly.