IPv4 Pro
1. Data size
The following statistics were collected from the raw data of version 2026/09/01. They vary a little between snapshot versions, but stay roughly the same. For reference only:
-
Data version:
V4-Pro -
Data rows:
22363992rows -
Storage size:
3384584025bytes = 3.2G; the generatedFull variantXDBfile is about362M
2. Data sample
The following data samples are taken from the offline .txt raw data of one snapshot. For reference only:
223.246.253.34|223.246.253.34|亚洲|中国|广东|深圳|南山|电信|113.93029|22.53291|440305|0755|518000|Asia/Shanghai|CNY|AS4134|DYN|11|CHXX0120|CN
223.246.253.35|223.246.253.35|亚洲|中国|安徽|合肥|长丰|电信|117.16549|32.47959|340121|0551|231100|Asia/Shanghai|CNY|AS4134|DYN|22|CHXX0448|CN
223.246.253.36|223.246.253.36|亚洲|中国|安徽|合肥|蜀山|电信|117.26104|31.85117|340104|0551|230000|Asia/Shanghai|CNY|AS4134|DYN|22|CHXX0448|CN
223.246.253.37|223.246.253.37|亚洲|中国|安徽|合肥|肥东|电信|117.47128|31.88525|340122|0551|230000|Asia/Shanghai|CNY|AS4134|DYN|22|CHXX0448|CN
223.246.253.38|223.246.253.39|亚洲|中国|安徽|合肥|瑶海|电信|117.30947|31.85809|340102|0551|230000|Asia/Shanghai|CNY|AS4134|DYN|22|CHXX0448|CN3. Field descriptions
Each line represents one IP segment and its associated data. Fields are separated by |, every line has the same number of fields, and a field without a value is replaced by an empty string.
223.246.222.68|223.246.222.68|亚洲|中国|广东|深圳|宝安|电信|113.88311|22.55371|440306|0755|518100|Asia/Shanghai|CNY|AS4134|MOB|11|CHXX0120|CNFor example, the data above maps, from left to right, to the fields in the table below (top to bottom). The table structure makes it easy to import the data into a database:
| Field value | Field description | Field name | Field type | Field length |
|---|---|---|---|---|
| 223.246.222.68 | Start IP of the IP block | ip_start | varchar | 20 |
| 223.246.222.68 | End IP of the IP block | ip_end | varchar | 20 |
| 亚洲 | Continent the address belongs to | continent | varchar | 20 |
| 中国 | Country | country | varchar | 50 |
| 广东 | Province | province | varchar | 100 |
| 深圳 | City | city | varchar | 100 |
| 宝安区 | District | district | varchar | 120 |
| 电信 | ISP | isp | varchar | 100 |
| 113.88311 | Longitude | longitude | varchar | 15 |
| 22.55371 | Latitude | latitude | varchar | 15 |
| 440306 | Administrative area code | area_code | varchar | 100 |
| 0755 | City area code | city_code | varchar | 10 |
| 518100 | ZIP code | zip_code | varchar | 20 |
| Asia/Shanghai | Time zone | time_zone | varchar | 20 |
| CNY | Currency | currency | varchar | 20 |
| AS4134 | ASN number | asn | varchar | 20 |
| MOB | Network scenario | scenes | varchar | 20 |
| 11 | Elevation | elevation | varchar | 50 |
| CHXX0120 | Weather station | weather_station | varchar | 50 |
| CN | Country alpha-2 code | alpha2_code | char | 2 |
4. Query and field access
The XDB storage format normalizes the raw data above into a common format: start IP|end IP|region info. Calling the XDB search API returns only the trailing region info part. For example, searching the IP 223.246.222.68 with the XDB search client downloaded from “Data services” returns the following string region info:
亚洲|中国|广东|深圳|宝安|电信|113.88311|22.55371|440306|0755|518100|Asia/Shanghai|CNY|AS4134|MOB|11|CHXX0120|CNIf you want to use the individual fields, split the data by | and then extract them by index, for example:
var region = "region information queried from the XDB file, assume it is the region information above";
var fields = region.split("|"); // split the region information by |
// the numeric index structure of fields is as follows:
[
0: "Asia",
1: "China",
2: "Guangdong",
3: "Shenzhen",
4: "Bao'an",
5: "China Telecom",
6: "113.88311",
7: "22.55371",
8: "440306",
9: "0755",
10: "518100",
11: "Asia/Shanghai",
12: "CNY",
13: "AS4134",
14: "MOB",
15: "11",
16: "CHXX0120"
17: "CN"
];
// now you can pick the corresponding fields by index.
print(fields[1]); // country
print(fields[3]); // city
print(fields[4]); // district
print(fields[11]); // time zone
print(fields[13]); // ASN number
print(fields[14]); // network scenario, MOB means mobile network
...If the XDB file was generated with custom fields, the usage stays the same; only the index positions change after the region information is split. Pick the correct indexes to get the field values you need.
The fields in the offline data are all standardized: if a field is missing, an empty string is used in its place by default. That means the same index always yields the same field, and a missing value is returned as an empty string. For example, here is a sample row with empty values:
北美洲|美国|Nevada|Las Vegas||美国电话电报公司|-115.137220|36.174970|||89111|America/Los_Angeles|USD|AS20057|MOB|||USIn the data above, both the administrative area code and the city area code are missing, so fields[8] and fields[9] return empty strings.
5. Network scenario reference
As described in section 4, fields[14] gives the value of the network scenario (scenes) field. The complete mapping between the codes and the scenario types is as follows:
| Code | Scenario type | Notes |
|---|---|---|
| CDN | Content delivery | Part of the data center category; a content delivery network |
| DNS | Domain name resolution | IPs that provide domain name resolution services |
| EDU | Educational institution | IPs used by schools and educational institutions |
| GTW | Enterprise dedicated line | Fixed IPs; dedicated-line internet access for medium and large companies |
| GOV | Government agency | IPs used by government agencies |
| DYN | Residential broadband | IPs used by home residential users |
| IDC | Data center | IPs used by data centers and cloud providers |
| MOB | Mobile network | Base station egress IPs (2G/3G/4G/5G) |
| ORG | Organization | Non-profit organizations |
| NET | Infrastructure | Network infrastructure IPs, including network hardware and communication facilities, such as routers and transmission equipment |
| BOGON | Reserved IP | Used to ensure that, in certain situations, a computer or device can keep the same IP address on a LAN without it being assigned to another device |