The country codes in our databases and API services are standard ISO 3166-1 alpha-2 codes with the addition of two non-standard codes : XK which is used by the European Commission, Switzerland, the Deutsche Bundesbank, SWIFT, and other organizations as a temporary country code for Kosovo, and ZZ which is assigned to address blocks that have by definition no location and owner such as private or multicast IP addresses
A complete list of codes can be found at Wikipedia : https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.
Our API services back end is updated on average every 10/15 days depending on the volume of pending updates, and our database downloads are updated monthly usually on the 1st of each month.
We use several methods in order to catch up with address blocks moving from one ISP or country to another. When you update your whois records at RIPE, ARIN or another RIR, our systems will detect it and usually trigger a block refresh on our side.
If you still identify addresses with wrong location data, you may report them manually through the report link that is present on our website address search result page. Another way is to set up and publish a geofeed (see https://tools.ietf.org/html/draft-google-self-published-geofeeds-02). Geofeeds are suitable for ISPs with large numbers of heterogenous address blocks, like IPv6 brokers or big hosting companies with worldwide presence. You may also send batch updates in you preferred format to our support team using this form.
The accuracy of a location depends on many factors, the most important being the ISP the address belongs to. For some providers we have street level accuracy, for most city level, for the worst and rare cases only country level, and a lot of intermediate situations. Accuracy is also generally higher for fixed lines than it is for cellular networks.
You can use the IP address query form on our website to see live results from our latest database, this way you may explore our data and test various addresses you own or know about.
Our free database downloads are licensed under a Creative Commons license, you are allowed to use the database in a commercial product and redistribute it as long as you comply with the rest of the licensing terms.
Our paid downloads are licensed under the terms listed on this page, you are allowed to use the database in a commercial product as long as you do not redistribute or give total access to the data in any way to third parties.
The monthly update is a new CSV file that is meant to be imported and replace the previous one, we do not offer complete lists of changes from one release to another.
In countries with daylight saving time, the day of the switch is not likely to match our release cycle and the tz_offset field may not always reflect the current DST offset if there was a change in the last few weeks.
Our recommendation is to use the tz_name value combined with a local timezone database and only use tz_offset where a timezone lookup is not possible and potential small inaccuracies are acceptable.
We do not offer country-specific exports at the moment, and our CSV databases downloads cover the whole IP address spaces.
The free IP address to city database is a subset of the full database with reduced accuracy, it does not include IPv6 addresses and undergoes a less stringent QA process.
The state, district and city names in the free databases are not normalized. This makes it good for simple uses but unsuitable for accurate data analysis.
Every day your key is allowed a fixed number of queries. There is a counter that is incremented with every API call and it is reset every day at midnight CET (Central European Time).
If you go over the daily limit, the service won't answer further requests with IP address information but will instead respond with an error message.
The unlimited option means one or more physical servers 100% dedicated to your usage so we can guarantee consistent high speed and low latency queries, eventually the price depends on your estimated load and desired performance levels. Please contact us with an estimate of your query volume to get a quotation.
The recommended usage pattern is to setup a proxy script running on your own server that does the API query using your key and keeping it secret.