---
title: "IP Geolocation Advance Database & Precise Location Mapping"
slug: "/documentation/ip-geolocation-advance-database.html"
parent: "IP Geolocation Databases"
description: "Pinpoint IPs with city, ZIP, coordinates, timezone, DMA codes, accuracy radius & confidence. Enhance targeting, routing & personalization at scale"
---

# IP Location Database (Advance)

* * *

## Overview

Our Advanced Tier IP to Geolocation Database provides you with precise city level geolocation data for both IPv4 and IPv6 addresses. Compared to our Standard Tier IP to Geolocation Database, it adds extra fields such as accuracy radius, confidence score, and DMA codes (DMA codes are available in the USA only) to give you the pinpoint accuracy you need to make tighter decisions.

Every IP range is linked to countries, states, districts, and cities, with multilingual place names resolved through reference tables for consistency. This structure makes it easy to join datasets and work with standardized metadata across different regions and languages. We update our databases every single day, and it's available in CSV, MMDB, or custom formats to fit your needs.

Below, you'll find full documentation of the archive contents, schema definitions, file specifications, and integration notes to help you get up and running quickly.

* * *

## Available Database Formats

**CSV**

*   File Size: 478.48 MB

*   Entries: 31.4M

*   Fields: 16

*   Last Updated: Yesterday

[Documentation](https://ipgeolocation.io/documentation/ip-geolocation-advance-database.html#csv-database-documentation)

**MMDB**

*   File Size: 2.78 GB

*   Entries: 31.4M

*   Fields: 16

*   Last Updated: Today

[Documentation](https://ipgeolocation.io/documentation/ip-geolocation-advance-database.html#mmdb-database-documentation)

> [!IMPORTANT]
> If you require our Advance IP to Location Database in a different format, such as Parquet or any custom structure, please feel free to reach out to us via our [Contact form](https://ipgeolocation.io/db-pricing.html#contact-us-for-quote). We are happy to accommodate specific format requests to meet your needs.

* * *

## CSV Database Documentation

* * *

### 1. Overview

The CSV version of our Advance IP to Location Database is delivered as a ZIP archive that includes Gzip-compressed files with IP ranges, location details, and multilingual place names. It's well-suited for bulk imports and easy integration into relational databases.

* * *

### 2. Archive Content

After downloading and extracting the Advance IP to Location CSV database archive, you'll find the following files (with their types noted):

**db-country.csv.gz**

Standardized country and continent metadata with codes, currency, calling codes, TLDs, and languages.

*   File Size: 9.67 KB

*   Entries: 254

*   Fields: 15

**db-place.csv.gz**

Multilingual place names for cities, districts, states, countries, and continents.

*   File Size: 13.03 MB

*   Entries: 338.1K

*   Fields: 13

**db-ip-location.csv.gz**

IP ranges mapped to locations with place IDs (for multilingual responses), ZIP codes, coordinates, time zone, and connection type.

*   File Size: 465.44 MB

*   Entries: 31.4M

*   Fields: 16

**README.md**

Documentation for dataset contents, schema, usage, and support.

*   File Size: 9.79 KB

**checksum.txt**

SHA-256 checksums for verifying file integrity.

*   File Size: 330 Bytes

* * *

## Schema

This section describes the schema of each file included in the Advance IP to Location Database archive. For every file, you'll find its purpose, field definitions, and examples to help with integration.

* * *

### 1. db-ip-location.csv.gz

This file provides geolocation data for IPv4 and IPv6 ranges, mapped down to the city level. Each record links an IP block to country, state, district, and city (through place IDs for multilingual response), geographic coordinates, time zone, GeoNames ID, and connection type. It also includes accuracy radius, confidence level, and DMA codes (U.S. only) for finer and more granular details.

| Field | Type | Description | Can be empty? | Example |
| --- | --- | --- | --- | --- |
| start_ip | string | The starting IP address of the range in IPv4 or IPv6 format. | No  | 192.168.0.1 |
| end_ip | string | The ending IP address of the range in IPv4 or IPv6 format. | No  | 192.168.0.255 |
| country_id | number | The unique identifier for the country associated with the IP range. | No  | 192 |
| state_place_id | number | The unique identifier for the state or province associated with the IP range. | Yes | 5332921 |
| state_code | string | The two-letter code representing the state or province with country-code, following ISO 3166-2 standards. | Yes | CA  |
| district_place_id | number | The unique identifier for the district associated with the IP range. | Yes | 5332923 |
| city_place_id | number | The unique identifier for the city associated with the IP range. | Yes | 5375480 |
| accuracy_radius | number | The accuracy radius in kilometers for the location associated with the IP range. | No  | 20  |
| confidence | number | The confidence level (0-100) of the location data associated with the IP range. | No  | 95  |
| dma_code | number | The Designated Market Area (DMA) code for the location associated with the IP range. | Yes | 807 |
| zip_code | string | The postal code for the location associated with the IP range. | Yes | 94043 |
| latitude | number | The latitude coordinate of the location associated with the IP range. | No  | 37.3861 |
| longitude | number | The longitude coordinate of the location associated with the IP range. | No  | -122.0838 |
| geo_name_id | number | The GeoNames ID for the location associated with the IP range. | Yes | 5375480 |
| time_zone_name | string | The time zone name for the location associated with the IP range. | No  | America/Los_Angeles |
| connection_type | string | The type of internet connection associated with the IP range (e.g., dialup, cable, DSL, fiber, etc.). | Yes | cable |

> [!TIP]
> The country_id field links to `db-country.id` , which provides standardized country metadata such as different names, codes, currency, and language information. Similarly, the *_place_id fields (e.g., state_place_id, district_place_id, city_place_id) link to `db-place.id` . These joins let you query multilingual names for countries, states, districts, and cities, ensuring consistency across different languages and regions.

* * *

### 1. Example Records

**Example**

```json
start_ip,end_ip,country_id,state_place_id,state_code,district_place_id,city_place_id,accuracy_radius,confidence,dma_code,zip_code,latitude,longitude,geo_name_id,time_zone_name,connection_type
164.0.195.172,164.0.195.172,91,435,KZ-55,435,435,5.992,high,,140000,52.2873,76.9674,1520240,Asia/Almaty,Mobile
165.227.194.83,165.227.194.86,172,297,US-NJ,5697,31782,11.978,medium,501,07047,40.80537,-74.02414,5095346,America/New_York,Fixed Wireless
183.240.196.54,183.240.196.54,35,270,CN-GD,4754,4754,8.151,medium,,518000,22.5225,114.0557,9952475,Asia/Shanghai,Mobile
114.5.220.8,114.5.220.8,73,1270,ID-JI,17186,102273,6.672,high,,60272,-7.25747,112.75209,1985594,Asia/Jakarta,Fixed
88.251.16.23,88.251.16.23,166,724,TR-06,144491,724,6.416,high,,06050,39.93336,32.85974,7927362,Europe/Istanbul,DSL
73.170.240.82,73.170.240.82,172,362,US-CA,4560,751,6.183,high,807,95112,37.33874,-121.88525,5358016,America/Los_Angeles,Cable
41.135.216.13,41.135.216.13,180,1339,ZA-KZN,10621,211713,4.747,high,,4037,-29.77805,30.97616,11288154,Africa/Johannesburg,Fiber
16.98.101.9,16.98.101.9,172,362,US-CA,6198,8131,8.121,high,800,93280,35.59412,-119.34095,5550368,America/Los_Angeles,Cable
138.201.227.176,138.201.227.180,41,529,DE-SN,20153,28755,3.526,high,,08223,50.48365,12.35224,2936035,Europe/Berlin,Mobile
65.25.104.21,65.25.104.21,172,577,US-OH,5751,28314,4.224,high,515,45214,39.11728,-84.53008,4518960,America/New_York,Cable
```

* * *

### 2. db-place.csv.gz

This file contains multilingual names for countries, continents, states, districts, and cities worldwide. It serves as the reference dictionary for the IP Location Database, allowing you to resolve place IDs into multilingual responses across different regions and languages.

| Field | Type | Description | Can be empty? | Example |
| --- | --- | --- | --- | --- |
| id  | number | The unique identifier for the place. | No  | 5375480 |
| place_english | string | The name of the place in English. | No  | Mountain View |
| place_german | string | The name of the place in German. | Yes | Mountain View |
| place_russian | string | The name of the place in Russian. | Yes | Маунтин-Вью |
| place_korean | string | The name of the place in Korean. | Yes | 마운틴 뷰 |
| place_portuguese | string | The name of the place in Portuguese. | Yes | Mountain View |
| place_japanese | string | The name of the place in Japanese. | Yes | マウンテンビュー |
| place_persian | string | The name of the place in Farsi. | Yes | ماونتین ویو |
| place_french | string | The name of the place in French. | Yes | Mountain View |
| place_chinese | string | The name of the place in Chinese. | Yes | 山景城 |
| place_spanish | string | The name of the place in Spanish. | Yes | Mountain View |
| place_czech | string | The name of the place in Czech. | Yes | Mountain View |
| place_italian | string | The name of the place in Italian. | Yes | Mountain View |

> [!TIP]
> The id field in `db-place.csv.gz` is used as a reference key to resolve place names. It joins with the placeid fields in db-ip-location.csv.gz (such as state_place_id, district_place_id, and city_place_id) and also with placeid fields in `db-country.csv.gz` (such as country_name_place_id and country_capital_place_id). These joins ensure that every IP range or country record can be enriched with multilingual place names from the reference table, making it possible to deliver consistent, localized responses across different regions and languages.

* * *

### 2. Example Records

**Example**

```json
id,place_english,place_german,place_russian,place_korean,place_portuguese,place_japanese,place_persian,place_french,place_chinese,place_spanish,place_czech,place_italian
221824,Nur-Sultan,Nur-Sultan,Нур-Султан,,,ヌル・スルタン,,Nur-Sultan,努尔苏丹,Nur-Sultán,sultánu,Nur-Sultano
270,Guangdong,Guangdong,Гуандун,,,広東省,,Province de Guangdong,广东,Guangdong,Guangdong,Guangdong
5,Asia,Asien,Азия,Ásia,Ásia,アジア, آسیا,Asie,亚洲,Asia,Asie,Asia
7,Europe,Europa,Европа,Europa,Europa,ヨーロッパ, اروپا,Europe,欧洲,Europa,Evropa,Europa
102273,Pacarkeling,Pacarkeling,Пагаркелинг,,,素晴らしいね,,Pacarkeling,包裹,Pacarkeling,Pacarkeling,Pacarkeling
6,North America,Nordamerika,Северная Америка,América do Norte,América Do Norte,北アメリカ, امریکای شمالی,Amérique du Nord,北美洲,Norteamérica,Severní Amerika,America del Nord
9,Africa,Afrika,Африка,África,África,アフリカ,افریقا,Afrique,非洲,África,Afrika,Africa
12,China,China,Китай,China,China,中国,چین,Chine,中国,China,Čína,Cina
240014,Republic of Turkey,,,,,,,,,,,
28314,Cincinnati,Cincinnati,Цинциннати,Cincinnati,Cincinnati,シンシナティ,سینسینتی، اوهایو,Cincinnati,辛辛那提,Cincinnati,Cincinnati,Cincinnati
913,Jakarta,Jakarta,Джакарта,,,ジャカルタ,,Jakarta,雅加达,Yakarta,Jakarta,Giacarta
240018,United States of America,,,,,,,,,,,
240019,"Washington, D.C.",,,,,,,,,,,
275,Beijing,Peking,Пекин,,,北京,,Municipalité de Pékin,北京,Peking,Peking,Pechino
529,Saxony,Sachsen,Саксония,작센 자유주,,ザクセン州,,Saxe,萨克森,Sachsen,Sasko,Sassonia
240026,Republic of South Africa,,,,,,,,,,,
28,United States,USA,США,Estados Unidos,Estados Unidos,アメリカ合衆国,ایالات متحدهٔ امریکا,États-Unis,美国,Estados Unidos,Spojené státy americké,Stati Uniti d'America
239901,People’s Republic of China,,,,,,,,,,,
31782,North Bergen,Nord Bergen,Северный Берген,,,ノースベルゲン,برگن شمالی، نیوجرسی,Bergen Nord,北卑爾根,Bergenu,Bergenu,Bergen Nord
1270,East Java,Jawa Timur,Восточная Ява,Java Oriental,Java Oriental,東ジャワ州,جاوه شرقی,Java oriental,东爪哇省,Java Oriental,Východní Jáva,Giava Orientale
435,Pavlodar,Pawlodar,Павлодар,Pavlodar,,パヴロダル,,Pavlodar,巴甫洛達爾州,Pavlodar,Pavlodar,Pavlodar
33,Germany,Deutschland,Германия,Alemanha,Alemanha,ドイツ連邦共和国,آلمان,Allemagne,德国,Alemania,Německo,Germania
239906,Federal Republic of Germany,,,,,,,,,,,
6198,Kern County,Kern,Керн,컨 군,Condado de Kern,カーン郡,شهرستان کرن، کالیفرنیا,Comté de Kern,克恩县,Керн,Okres Kern,Contea di Kern
10621,eThekwini Metropolitan Municipality,Metropolregion Ethekwini,Метрополитен-муниципалитет Эеквини,,,エテークウィニ都市圏,,Municipalité métropolitaine d'ethekwini,埃特克威尼市,Metropolitní obec eThekwini,Metropolitní obec eThekwini,Municipalità Metropolitana di EtheKwini
1339,KwaZulu-Natal,KwaZulu-Natal,Квазулу-Наталь,,,クワズールーナタール州,,KwaZulu-Natal,夸祖鲁-纳塔尔,KwaZulu,KwaZulu,KwaZulu-natal
41,Turkey,Türkei,Турция,Turquia,Turquia,トルコ共和国,ترکیه,Turquie,土耳其,Turquía,Turecko,Turchia
577,Ohio,Ohio,Огайо,오하이오 주,,オハイオ州,اوهایو,Ohio,俄亥俄州,Ohio,Ohio,Ohio
562,Berlin,Berlin,Берлин,베를린,Berlim,ベルリン,برلین,Berlin,柏林,Berlín,Berlín,Berlino
144491,Altındağ,Altındağ,Алтындаг,,,アルトゥンダー,,Altındağ,阿尔廷达,Altındağ,Altındau,Altındağ
53,South Africa,Südafrika,ЮАР,África do Sul,África do Sul,南アフリカ,افریقای جنوبی,Afrique du Sud,南非,Sudáfrica,Jihoafrická republika,Africa del Sud
59,Kazakhstan,Kasachstan,Казахстан,Cazaquistão,Casaquistão,カザフスタン共和国,قزاقستان,Kazakhstan,哈萨克斯坦,Kazajstán,Kazachstán,Kazakistan
13883,Pretoria,Pretoria,Претория,Pretória,,プレトリア,,Pretoria,比勒陀利亚,Pretoria,Pretorii,Pretoria
239933,Republic of Indonesia,,,,,,,,,,,
20153,Vogtlandkreis,Vogtlandkreis,Вогтландкрейс,,,ヴォクトランドクリース,,Vogtlandkreis,沃格兰克雷斯,Vogtlandkreis,Vogtlandkreis,Vogtlandkreis
724,Ankara,Ankara,Анкара,Ancara,Ancara,アンカラ,,Ankara,安卡拉省,Provincia de Ankara,Ankara,Ankara
211713,Newlands East,Newlands Ost,Ньюлендс Восток,,,ニューランズ・イースト,,Newlands Est,東紐蘭省,Newlands,Newlands,Newlands Est
28755,Falkenstein,Falkenstein,Фалькенштайн,,,ファルケンシュタインだ,,Falkenstein,法尔肯斯坦,Falkenstein,Falkenstein,Falkenstein
239947,Republic of Kazakhstan,,,,,,,,,,,
8131,Wasco,Wasco,Уаско,,Condado de Wasco,ワスコ郡,شهرستان واسکو، اورگن,Comté de Wasco,沃斯科縣,Wasco,Wasco,Wasco
724,Ankara,Ankara,Анкара,Ancara,Ancara,アンカラ,,Ankara,安卡拉省,Provincia de Ankara,Ankara,Ankara
297,New Jersey,New Jersey,Нью-Джерси,Nova Jérsia,Nova Jérsia,ニュージャージー州,نیو جرسی,New Jersey,新泽西州,Nueva Jersey,New Jersey,New Jersey
5697,Hudson County,Hudson,Хадсон,,Condado de Hudson,ハドソン郡,شهرستان هادسون، نیوجرسی,Comté de Hudson,哈德遜縣,Хадсон,Hudson County,Contea di Hudson
5751,Hamilton County,Hamilton,Гамильтон,,Condado de Hamilton,ハミルトン郡,شهرستان همیلتون، اوهایو,Comté de Hamilton,漢密爾頓縣,Гамильтон,Hamilton County (Kansas),Contea di Hamilton
4754,Shenzhen,Shenzhen,Шэньчжэнь,Shenzhen,,深セン市,شنژن,Shenzhen,深圳市,Shenzhen,Shenzhen,Shenzhen
751,San Jose,San José,Сан-Хосе,,,サンノゼ,,San José,聖荷西聖荷西,San José,San José,San Francisco
17186,Surabaya,Surabaya,Сурабая,Surabaia,,スラバヤ,,Surabaya,泗水,Surabaya,Surabaya,Surabaya
4560,Santa Clara County,Santa Clara County,Санта-Клара,샌타클래라 군,Condado de Santa Clara,サンタクララ郡,شهرستان سانتا کلارا، کالیفرنیا,Comté de Santa Clara,聖塔克拉拉縣,Санта-Клара,Santa Clara County (Texas),Contea di Santa Clara
122,Indonesia,Indonesien,Индонезия,Indonésia,Indonésia,インドネシア共和国,اندونزی,Indonésie,印度尼西亚,Indonesia,Indonésie,Indonesia
362,California,Kalifornien,Калифорния,Califórnia,Califórnia,カリフォルニアだ,کالیفرنیا,Californie,加州,California,Kalifornie,California
```

* * *

### 3. db-country.csv.gz

This file contains standardized country metadata for the IP Location Database. It includes continent codes and names, ISO-2/ISO-3/IOC country codes, country and official names (as place IDs), capital (place ID), currency (code, name, symbol), international calling codes, top-level domains (TLDs), and supported language tags.

| Field | Type | Description | Can be empty? | Example |
| --- | --- | --- | --- | --- |
| id  | number | The unique identifier for the country. | No  | 192 |
| continent_code | string | The continent code associated with the country. | No  | NA  |
| continent_name_place_id | number | The unique identifier for the continent place. | No  | 6255148 |
| country_code2 | string | The ISO 3166-1 alpha-2 code of the country. | No  | US  |
| country_code3 | string | The ISO 3166-1 alpha-3 code of the country. | No  | USA |
| country_code_ioc | string | The IOC country code. | No  | USA |
| country_name_place_id | number | The unique identifier for the country place. | No  | 6252001 |
| country_name_official_place_id | number | The unique identifier for the official country place. | No  | 6252001 |
| country_capital_place_id | number | The unique identifier for the capital place. | No  | 5375480 |
| currency_code | string | The ISO 4217 currency code of the country. | No  | USD |
| currency_name | string | The name of the currency used in the country. | No  | United States Dollar |
| currency_symbol | string | The symbol of the currency used in the country. | No  | $   |
| calling_code | string | The international calling code of the country. | No  | +1  |
| tld | string | The top-level domain (TLD) of the country. | No  | .us |
| languages | string | The official languages spoken in the country, represented as a comma-separated list of ISO 639-1 codes. | No  | en,es |

> [!TIP]
> The id field in `db-country.csv.gz` serves as the reference key for country metadata. It is used by the country_id field in db-ip-location.csv.gz to link each IP range to standardized country details such as ISO codes, continent, capital, currency, calling codes, and languages. In addition, *_place_id fields within `db-country.csv.gz` (e.g., country_name_place_id, country_capital_place_id) join to `db-place.csv.gz` to resolve multilingual names for countries and capitals. Together, these joins ensure that country-level information can be consistently linked, enriched, and localized.

* * *

### 3. Example Records

**Example**

```json
id,continent_code,continent_name_place_id,country_code2,country_code3,country_code_ioc,country_name_place_id,country_name_official_place_id,country_capital_place_id,currency_code,currency_name,currency_symbol,calling_code,tld,languages
166,AS,5,TR,TUR,TUR,41,240014,724,TRY,Turkish Lira,₺,+90,.tr,"tr-TR,ku,diq,az,av"
91,AS,5,KZ,KAZ,KAZ,59,239947,221824,KZT,Tenge,₸,+7,.kz,"kk,ru"
73,AS,5,ID,IDN,INA,122,239933,913,IDR,Indonesian Rupiah,Rp,+62,.id,"id,en,nl,jv"
41,EU,7,DE,DEU,GER,33,239906,562,EUR,Euro,€,+49,.de,de
172,NA,6,US,USA,USA,28,240018,240019,USD,US Dollar,$,+1,.us,"en-US,es-US,haw,fr"
180,AF,9,ZA,ZAF,RSA,53,240026,13883,ZAR,Rand,R,+27,.za,"zu,xh,af,nso,en-ZA,tn,st,ts,ss,ve,nr"
35,AS,5,CN,CHN,CHN,12,239901,275,CNY,Yuan Renminbi,¥,+86,.cn,"zh-CN,yue,wuu,dta,ug,za"
```

* * *

### 4. File Relationship Diagram

![Image](https://static.ipgeolocation.io/web-assets/images/database/er-diagrams/ip-location-advanced.svg)

* * *

## File Format & Encoding

All Advance IP to Location CSV datasets are provided in UTF-8 encoding, comma-separated, and compressed with Gzip (.csv.gz). Each file includes a header row listing the field names for clarity and consistency.

Field values are unquoted by default, with quotes applied only in the following cases:

*   Line breaks within text fields.
*   Commas inside a value (e.g., addresses).
*   Lists of values (e.g., languages).
*   Spaces that may be auto-quoted by export tools.

* * *

## MMDB Database Documentation

* * *

### 1. Overview

The MMDB version of our Advance IP to Location is delivered as a ZIP archive that includes a single MMDB file with all geolocation data (including multilingual place fields), a README file, and a checksum file. It's optimized for fast lookups in applications and services, making it ideal for real-time queries and direct integration into your systems.

* * *

### 2. Archive Content

After downloading and extracting the Advance IP to Location MMDB database archive, you'll find the following files (with their types noted):

**db-ip-location.mmdb**

*   File Size: 2.78 GB

*   Entries: 31.4M

**README.md**

Documentation for dataset contents, schema, usage, and support.

*   File Size: 11.10 KB

**checksum.txt**

SHA-256 checksums for verifying file integrity.

*   File Size: 162 Bytes

* * *

## Response Schema

This section describes the structure of the data returned from the Advance IP to Location MMDB file. Each field is detailed with its type, meaning, and example values to help you interpret responses and integrate them into your applications.

* * *

### 1. db-ip-geolocation.mmdb

This file provides geolocation data for IPv4 and IPv6 ranges at the city level. Each response includes multilingual country, state, district, and city details, geographic coordinates, time zone, GeoNames ID, and connection type. It also includes accuracy radius, confidence level, and U.S.-only DMA codes for finer, more granular detail.

* * *

### 2. Field Reference

The following reference lists all fields available in the MMDB response. Each entry includes the field path, its description, data type, and example value to help you understand how to parse and integrate the data.

* * *

### 2. Example Records

**Example**

```json
{
  "connection_type": "Mobile",
  "location": {
    "accuracy_radius": "5.992",
    "city": {
      "name": {
        "cs": "Pavlodar",
        "de": "Pawlodar",
        "en": "Pavlodar",
        "es": "Pavlodar",
        "fa": "",
        "fr": "Pavlodar",
        "it": "Pavlodar",
        "ja": "パヴロダル",
        "ko": "Pavlodar",
        "pt": "",
        "ru": "Павлодар",
        "zh": "巴甫洛達爾州"
      }
    },
    "confidence": "high",
    "coordinates": {
      "latitude": "52.2873",
      "longitude": "76.9674"
    },
    "country": {
      "capital": {
        "cs": "sultánu",
        "de": "Nur-Sultan",
        "en": "Nur-Sultan",
        "es": "Nur-Sultán",
        "fa": "",
        "fr": "Nur-Sultan",
        "it": "Nur-Sultano",
        "ja": "ヌル・スルタン",
        "ko": "",
        "pt": "",
        "ru": "Нур-Султан",
        "zh": "努尔苏丹"
      },
      "code2": "KZ",
      "code3": "KAZ",
      "code_ioc": "KAZ",
      "continent": {
        "code": "AS",
        "name": {
          "cs": "Asie",
          "de": "Asien",
          "en": "Asia",
          "es": "Asia",
          "fa": " آسیا",
          "fr": "Asie",
          "it": "Asia",
          "ja": "アジア",
          "ko": "Ásia",
          "pt": "Ásia",
          "ru": "Азия",
          "zh": "亚洲"
        }
      },
      "currency": {
        "code": "KZT",
        "name": {
          "en": "Tenge"
        },
        "symbol": "₸"
      },
      "metadata": {
        "calling_code": "+7",
        "languages": "kk,ru",
        "tld": ".kz"
      },
      "name": {
        "cs": "Kazachstán",
        "de": "Kasachstan",
        "en": "Kazakhstan",
        "es": "Kazajstán",
        "fa": "قزاقستان",
        "fr": "Kazakhstan",
        "it": "Kazakistan",
        "ja": "カザフスタン共和国",
        "ko": "Cazaquistão",
        "pt": "Casaquistão",
        "ru": "Казахстан",
        "zh": "哈萨克斯坦"
      },
      "name_official": {
        "cs": "",
        "de": "",
        "en": "Republic of Kazakhstan",
        "es": "",
        "fa": "",
        "fr": "",
        "it": "",
        "ja": "",
        "ko": "",
        "pt": "",
        "ru": "",
        "zh": ""
      }
    },
    "district": {
      "name": {
        "cs": "Pavlodar",
        "de": "Pawlodar",
        "en": "Pavlodar",
        "es": "Pavlodar",
        "fa": "",
        "fr": "Pavlodar",
        "it": "Pavlodar",
        "ja": "パヴロダル",
        "ko": "Pavlodar",
        "pt": "",
        "ru": "Павлодар",
        "zh": "巴甫洛達爾州"
      }
    },
    "dma_code": "",
    "geoname_id": "1520240",
    "state": {
      "code": "KZ-55",
      "name": {
        "cs": "Pavlodar",
        "de": "Pawlodar",
        "en": "Pavlodar",
        "es": "Pavlodar",
        "fa": "",
        "fr": "Pavlodar",
        "it": "Pavlodar",
        "ja": "パヴロダル",
        "ko": "Pavlodar",
        "pt": "",
        "ru": "Павлодар",
        "zh": "巴甫洛達爾州"
      }
    },
    "zipcode": "140000"
  },
  "time_zone": "Asia/Almaty"
}
```

* * *

## Database Integrity & Authenticity Verification

There are two methods of verifying the integrity and authenticity of our Database:

* * *

### 1. Using the Signature File (Recommended)

IPGeolocation.io signs every database release to ensure its authenticity and integrity. This allows customers to verify that a downloaded Advance IP to Location database file originates directly from IPGeolocation.io and has not been altered, corrupted, or tampered with during transfer or storage.

Each database update includes a corresponding signature file, generated using our private signing key. Customers can validate the database using the provided public verification key. To verify a database file, you need:

1.  Database file (the downloaded archive)
2.  Signature file (the matching signature for that archive)
3.  Public key (public-key.pem)

These files are available via official IPGeolocation.io download endpoints and are also shared in database update notifications.

> [!NOTE]
> The public key may be provided as PEM-encoded text. Save it to a file named public-key.pem
>
> Ensure OpenSSL is installed on your system. If not, install it using the following commands
>
> On Linux, if openssl is not installed
>
> ```shell
> sudo apt install openssl
> ```
>
> Verify OpenSSL installation:
>
> ```shell
> openssl version
> ```
>
> To verify the database file, run the following command, replacing the placeholders with your actual file paths:
>
> ```shell
> openssl dgst -sha256 -verify <path-to-public-key.pem> -signature <path-to-signature-file.sig> <path-to-database-file.zip>
> ```
>
> Example output:
>
> ```shell
> Verified OK
> ```
>
> if verification `FAILED` do not use the file, re-download the database and signature from official IPGeolocation endpoints. If the issue persists, please [contact our support team](https://ipgeolocation.io/contact.html).

* * *

### 2. Using the Checksum File (Legacy)

Each database archive includes a checksum.txt file containing the SHA-256 checksums for the files packaged in the archive. You can use this file to validate that the extracted contents are complete and unchanged.

> [!TIP]
> Always verify downloaded files with the provided checksum before importing.
>
> On Linux, if sha256sum is not installed, first run:
>
> ```shell
> sudo apt-get install coreutils
> ```
>
> Then check the archive files against the checksum file with:
>
> ```shell
> sha256sum -c checksum.txt
> ```
>
> Example output:
>
> ```shell
> db-country.csv.gz: OK
> db-place.csv.gz: OK
> db-ip-location.csv.gz: OK
> README.md: OK
> ```
>
> *your output may differ depending on the specific database archive you downloaded.
>
> If a file's checksum does not match, `FAILED` will be shown instead of `OK` . If verification fails, first confirm that the download completed correctly; if the issue persists, please [contact our support team](https://ipgeolocation.io/contact.html).

> [!IMPORTANT]
> Signature verification confirms both authenticity and integrity. Checksum verification confirms integrity only (it detects corruption/modification, but does not independently prove who produced the file).

* * *

## Data Format & Constraints

*   All fields defined in the schema are always present in the Advance IP to Location MMDB response.
*   Fields may contain empty strings (""), but never null, so null checks are not required.
*   Place names such as countries, states, districts, and cities are available in multiple translations.
*   All text values are encoded in UTF-8.
*   Field names and response structure remain stable across updates for backward compatibility.

* * *

## Database Updates & Delivery

When you subscribe to our Advance IP to Location database, we'll send you static download links. These links never change, so you can use them both for your initial download and for all future updates. You will receive:

1.  **Database Archive URL :** downloads the latest release of your subscribed database (_CSV, MMDB or requested formats_).
2.  **Signature File URL :** downloads the matching signature file for the latest release (_used for authenticity verification_).
3.  **Public Key URL :** downloads the public verification key (_used with the signature file_).
4.  **Status Endpoint URL :** returns the database's most recent update timestamp.

Our databases are refreshed daily and weekly, ensuring you always have access to the most current data. Each time your subscribed dataset is updated, you'll also receive an email notification so you don't miss a release.

For automated workflows, you can check our status endpoint to see the last update timestamp. When the date changes, simply re-fetch the archive using your static download URL to pull the latest version into your system.
