{"adoption": {"forks": 3048, "observed_at": "2026-08-28T04:11:28.687348+00:00", "stars": 19468}, "canonical_url": "https://ross.abutalabs.com/products/ip2region", "card": {"archived": false, "artifact_type": "library", "description": "Ip2region is an offline IP-to-Region localization library and IP data management framework with both IPv4 and IPv6 supports, 10-microsecond level query efficiency, xdb search client for many programming languages", "domain": ["networking", "developer-tools", "apis", "security", "analytics"], "enriched": true, "function": ["search-engine", "database", "sdk", "developer-tools"], "health_score": 99, "homepage": "https://ip2region.net", "language": "Go", "license": "NOASSERTION", "license_family": "other", "maturity": "stable", "member_repos": ["lionsoul2014/ip2region"], "name": "lionsoul2014/ip2region", "platform": ["cross-platform", "go", "python", "jvm", "php", "rust", "cpp", "c", "lua", "dotnet", "elixir"], "pushed_at": "2026-08-14T05:46:55+00:00", "repo": "lionsoul2014/ip2region", "stars": 19468, "tags": ["ip-geolocation", "offline-lookup", "ipv4", "ipv6", "xdb-format", "ip-database", "geoip", "javascript", "nodejs"], "topics": ["ip-address", "ip-lookup", "ip-location", "ip-address-database", "ip-address-location", "xdb-engine", "ipv4-address", "ipv4-lookup", "ipv6-address", "ipv6-lookup", "xdb-ipv4", "xdb-ipv6", "ipv4-support", "ipv6-support"], "urls": [], "use_cases": ["look up the country, province, city and ISP of an IP address offline", "resolve visitor IP locations in a web backend without external API calls", "convert IPv4 and IPv6 addresses to region info with microsecond latency", "manage and generate custom IP geolocation datasets in xdb format", "embed IP location lookup in a Go, Java, Python or PHP service", "avoid third-party geolocation API rate limits and privacy concerns"], "what_it_is": "ip2region is an offline IP-to-region localization library and IP data management framework supporting both IPv4 and IPv6 with city-level results and 10-microsecond query performance. It ships an xdb data storage engine with search clients for 10+ programming languages and tools to generate and manage custom IP location data.", "when_to_avoid": ["you need street-level or GPS-precise geolocation", "you require constantly updated commercial-grade accuracy without buying the paid data", "you need rich metadata like ASN or timezone from the free dataset out of the box"], "when_to_choose": ["you need fast, offline IP-to-region lookup with no network dependency", "you need both IPv4 and IPv6 support from one unified API", "you want bindings for many languages or a custom IP data management framework", "you need city-level accuracy for China with Chinese-language region data"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/ip2region", "repo": "lionsoul2014/ip2region", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:28.687348+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:00:06.430471+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b97c86da40cb4f20646b15a74929498b0b41223e6102c914d15e1a7a07831851", "fetched_at": "2026-08-28T04:11:28.687348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/lionsoul2014/ip2region"}, {"content_hash": "c14b6fb965dd48b42097149b5c26e659a93f0d6d7366efc1217f13af7bfc1810", "fetched_at": "2026-08-29T07:58:31.919879+00:00", "kind": "homepage", "missing": false, "url": "https://ip2region.net"}, {"content_hash": "d2bf1bd829dd8d69a685edfc1c642de8001c818a721eb49d3213c85ef9e63f99", "fetched_at": "2026-08-29T07:58:31.929131+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/intro"}, {"content_hash": "3f764506f276ca86b3db0d3769a07f09949d86eb0dc7ee54e8776675526ae1ae", "fetched_at": "2026-08-29T07:58:31.931223+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/service"}, {"content_hash": "73cab8240ddd6a7893c6bdcfa5ad9f5a0257bbd8c3db1cbd660cc36e41437712", "fetched_at": "2026-08-29T07:58:31.934117+00:00", "kind": "site_page", "missing": false, "url": "https://ip2region.net/about/privacy"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 92}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3958, "days_push": 19, "days_rel": 55, "gap_med": 5, "n_releases_24m": 24}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}