All dispatches/Engineering

ipscope vs. MaxMind, IPinfo, IPLocate, IPGeolocation, and IPScanner: The 2026 Engineering Comparison

An architectural and pricing comparison of IP intelligence providers: evaluating declared vs. physical geolocation, VPN and residential proxy detection, MMDB and Parquet database parity, and total cost of ownership.

Executive summary: Why engineering teams switch to ipscope

Choosing an IP intelligence provider in 2026 affects three critical layers of production infrastructure: routing and localization accuracy, fraud and anonymizer detection, and unit economics across API and self-hosted database deployments.

Legacy providers built their data pipelines when IPv4 blocks rarely crossed national borders and administrative allocation records matched physical router geography. Today, cloud operators lease /22 and /24 blocks across continents, commercial VPNs rotate residential proxy exits hourly, and data engineering teams require identical schemas across real-time edge APIs, local .mmdb binary trees, and columnar .parquet data lake tables.

ipscope was architected from the BGP table up to solve the structural blind spots of legacy providers:

  1. Separated physical vs. declared geolocation: Unlike MaxMind, IPLocate.io, ipgeolocation.io, and ipscanner.io (which return a single country field that frequently reflects stale registration paperwork or unverified geofeeds), ipscope returns country_code, declared_country_code, physical_country_code, and is_virtual_location on every lookup, backed by multi-vantage active RTT latency triangulation.
  2. One canonical schema across API, MMDB, CSV, and Parquet: Every ipscope database build ships in .mmdb, .csv.gz, and .parquet with the exact same 6 field families (geo_country, geo_city, network, connection, anonymity, security_extensions) returned by GET /v1/ip/{ip}.
  3. Self-serve modular database licensing without enterprise gatekeeping: While IPinfo.io gates full downloadable databases behind custom enterprise contracts starting around $1,000+/mo and MaxMind splits City, ISP, and Anonymous IP into separate expensive .mmdb files, ipscope offers transparent modular database pricing starting at $29/mo (or $279/mo for the Complete 6-block database).
  4. No credit multipliers for security and VPN fields: Unlike credit-based APIs that charge 2x to 4x credits when enabling threat or proxy flags, 1 IP lookup equals 1 request on ipscope regardless of how many licensed field families you query.

Head-to-head feature and architecture matrix

The table below compares ipscope against MaxMind (GeoIP2), IPinfo.io, IPLocate.io, ipgeolocation.io, and ipscanner.io across the capabilities backend and security engineers evaluate in production:

CapabilityipscopeMaxMind (GeoIP2)IPinfo.ioIPLocate.ioipgeolocation.ioipscanner.io
Physical vs. declared country splitYes (physical_country_code + declared_country_code + is_virtual_location)No (single country field)No (single country field)No (single country field)No (single country field)No (single country field)
Active RTT triangulationYes (multi-vantage speed-of-light verification)Partial (proprietary model, no split field)Yes (active probing, single country output)No (registration + geofeed aggregation)No (registration + ISP feeds)No (edge threat focus)
Downloadable formats includedMMDB, CSV.gz, Parquet (all 3 included)MMDB, CSV (no native Parquet)MMDB, CSV, Parquet (Enterprise tiers)MMDB, CSVCSV, MMDB (selected tiers)None (API & edge worker focus)
Single unified MMDB file for all blocksYes (1 .mmdb or custom SKU mix)No (separate City, ISP, Anonymous IP .mmdb files)Paid Enterprise bundleYes (tier-dependent)Separate Geo and Security DBsN/A
VPN, Proxy, Tor & Hosting detectionYes (is_vpn, is_proxy, is_tor_exit, is_hosting, anonymizer_type)Requires separate GeoIP2 Anonymous IP SKUYes (Core/Plus tiers and above)Yes (included across tiers)Yes (Security plan / extra credits)Yes (primary product focus)
Abuse velocity & scanner telemetryYes (abuse_velocity_score, known_attacker, is_scanner, is_bot)Excluded from standard GeoIP2 DBsSeparate Abuse / Enterprise datasetBasic threat flagThreat score on higher tiersBot & signup gate rules
Batch API throughput100 IPs / request (POST /v1/ip/batch) + O(1) streaming SDKsNo native batch endpoint in standard GeoIP2 WSBatch endpoint supportedBulk lookup supportedBulk lookup up to 50 IPsSingle IP / edge middleware
Official typed SDKs8 languages (Python, Node, Go, Rust, Java, .NET, Ruby, PHP)7 languages (MMDB readers + Web Service clients)Official SDKs availableCommunity & core wrappersOfficial wrappersJS & edge middleware
Self-serve database starting price$29/mo (modular) or $279/mo (Complete 6-block)~$100/mo to $1,100+/mo across split SKUs~$1,000+/mo (Enterprise DB contracts)~$100/mo+~$150/mo+ per datasetNo offline database catalog

Deep dive 1: ipscope vs. MaxMind (GeoIP2 and GeoLite2)

MaxMind created the .mmdb binary format and remains the default baseline in legacy stacks. However, engineering teams migrating off MaxMind GeoIP2 and GeoLite2 consistently cite three operational pain points:

1. Split .mmdb files and fragmented schemas

In MaxMind's catalog, city geolocation (GeoIP2-City.mmdb), ASN/ISP metadata (GeoIP2-ISP.mmdb), connection classification (GeoIP2-Connection-Type.mmdb), and VPN/proxy flags (GeoIP2-Anonymous-IP.mmdb) are distributed as separate binary files. To enrich a single incoming request with location, ASN, and VPN detection at the edge, your service must open, memory-map, and traverse three to four separate radix trees per lookup.

In ipscope, a single .mmdb file (or your custom-configured SKU) stores all 6 intelligence blocks in one unified binary radix tree. One O(prefix_length) pointer walk resolves geolocation, BGP origin ASN, connection type, and anonymizer telemetry in under 400 nanoseconds. Better yet, ipscope .mmdb artifacts adhere strictly to the open MMDB binary specification v2.0, meaning you can load an ipscope .mmdb file into your existing reader library with a one-line file path change.

import maxminddb

# Drop-in replacement: open a single unified ipscope MMDB file
with maxminddb.open_database("/var/lib/ipscope/ipscope-complete.mmdb") as reader:
    record = reader.get("198.51.100.42")
    # Single lookup resolves physical geo, BGP ASN, and VPN telemetry together
    print(record["geo"]["physical_country_code"])  # "DE"
    print(record["geo"]["declared_country_code"])  # "US"
    print(record["network"]["asn"])                # 24940
    print(record["security"]["is_vpn"])            # True

2. Registration bias in GeoLite2 and slow geofeed correction

MaxMind GeoLite2 relies heavily on administrative allocation records and unverified operator geofeeds, resulting in widespread misclassifications whenever a US-registered cloud or CDN announces an IPv4 prefix out of a European or Asian datacenter. Even in paid GeoIP2, MaxMind outputs only one country.iso_code field, forcing your application to guess whether that country represents the legal registrant or the physical router.

ipscope exposes both dimensions explicitly (physical_country_code and declared_country_code) alongside is_virtual_location, allowing payment compliance systems and low-latency edge routers to make deterministic decisions.

3. Native Apache Parquet included at no extra cost

MaxMind distributes databases only in .mmdb and .csv. Data engineering teams running columnar data warehouses and analytical query engines must build and maintain custom ETL jobs to convert multi-gigabyte CSV archives into typed columnar tables. Every ipscope database subscription includes pre-compiled Zstandard-compressed .parquet files with integer ip_start_int / ip_end_int bounds for instant O(log N) range joins.

Deep dive 2: ipscope vs. IPinfo.io

IPinfo.io is a strong competitor known for its active measurement network and developer ergonomics. When comparing ipscope vs. IPinfo.io, the decisive differences center on data transparency, API plan granularity, and database accessibility:

  1. Database pricing accessibility ($279/mo vs. $1,000+/mo): IPinfo.io positions its full downloadable databases (especially bundles including Privacy/VPN detection and Company data) as high-ticket enterprise contracts frequently starting at $1,000+/mo with annual commitments. ipscope makes every database SKU self-serve from day one: you can license the standalone Privacy & VPN database for $99/mo or the Complete 6-block database (Geolocation + ASN + Company + Privacy + Abuse Velocity) for $279/mo on a monthly build schedule ($419/mo for nightly daily builds).
  2. Physical vs. declared country separation: While IPinfo uses active probing to select a single country code, it overwrites the declared registration country in the response. Security and compliance teams frequently need to know when a discrepancy exists (for example, an IP legally registered to an offshore entity but physically routed through a rack in Amsterdam). ipscope's declared_country_code !== physical_country_code check surfaces this signal natively.
  3. Predictable API quotas and wallet overages: IPinfo's mid-market plans step abruptly from Core (~$49/mo for 150k requests) to Plus/Max (~$163+/mo for 250k requests). ipscope offers a $49/mo Starter plan with 250,000 requests/mo, a $149/mo Growth plan with 1,000,000 requests/mo (including full Privacy & VPN detection), and a $399/mo Business plan with 5,000,000 requests/mo and all 6 intelligence blocks, backed by a flat $0.10 per 1,000 prepaid wallet overage rate so production traffic never hits a hard 429 wall.

Deep dive 3: ipscope vs. IPLocate.io

IPLocate.io offers a clean developer API with a generous daily free tier (1,000 req/day). However, as engineering teams scale into production fraud prevention, SIEM enrichment, and high-QPS edge routing, they encounter key differences between ipscope and IPLocate.io:

  • Active RTT verification vs. passive feed aggregation: IPLocate.io primarily aggregates administrative allocation records, BGP routing tables, and published RFC 8805 geofeeds. When an operator publishes a spoofed or stale RFC 8805 geofeed (a common technique used by proxy providers to make datacenter IPs appear in residential metros), passive aggregators ingest the spoofed location directly. ipscope runs every geofeed claim through an automated multi-vantage ICMP/TCP RTT triangulation gate: if the speed-of-light latency floor from our nearest vantage probes contradicts the claimed city, ipscope overrides physical_country_code with the empirically measured router location and flags is_virtual_location: true.
  • Abuse velocity and attacker telemetry: Beyond static boolean flags (is_vpn, is_proxy), ipscope's security_extensions block tracks rolling 24-hour scanner and brute-force velocity (abuse_velocity_score from 0 to 100, known_attacker, is_scanner, is_bot, and last_seen_hours_ago).
  • Columnar Parquet & Custom SKU Compilation: ipscope compiles custom database SKUs containing only the exact field families your service licenses, minimizing memory footprint on edge nodes while shipping .mmdb, .csv.gz, and .parquet simultaneously.

Deep dive 4: ipscope vs. ipgeolocation.io

ipgeolocation.io provides geolocation, astronomy, currency, and security endpoints. When backend architects evaluate ipscope vs. ipgeolocation.io, three structural differences stand out:

  1. No credit multipliers on security lookups: On ipgeolocation.io, querying standard geolocation costs 1 credit, but enabling security/threat detection or bulk enrichment can consume multiple credits per IP, multiplying your effective monthly cost. On ipscope, 1 IP address always equals 1 lookup unit ($0.10 / 1K overage), whether you request geo_country alone or all 6 field families including anonymity and security_extensions.
  2. BGP prefix and network hierarchy depth: ipscope treats BGP routing as a first-class primitive, returning the exact longest-prefix match (matched_network), prefix_length, origin asn, organization, allocation_status, and dedicated /v1/asn/{asn} and /v1/network/{cidr} endpoints.
  3. Strict latency SLOs and constant-memory streaming SDKs: Instead of untyped REST wrappers, ipscope maintains 8 idiomatic, zero-dependency SDKs with bounded LRU caching, automatic jittered backoff, and lookupStream() iterators capable of enriching 100,000+ IPs in constant O(1) memory.

Deep dive 5: ipscope vs. ipscanner.io

ipscanner.io is designed primarily as a website traffic filter, CMS plugin, and edge middleware gate for blocking bots and disposable signups. While useful for no-code site protection, ipscope serves a fundamentally broader infrastructure and data engineering scope:

  • Full-stack data ownership (API + MMDB + CSV + Parquet): ipscanner.io is an API and edge-rule service without downloadable .mmdb binary databases or .parquet warehouse datasets. If your architecture requires zero-latency (< 1 microsecond) in-process lookups inside Go, Rust, or Java microservices, or offline SQL enrichment in your data warehouse, ipscope provides the complete offline database artifact pipeline alongside its global Anycast API.
  • Granular schema for custom risk engines: Rather than coupling IP intelligence to opinionated website-blocking rules, ipscope gives your fraud, FinTech, or ad-verification engine raw, calibrated primitives: geo.confidence, security.confidence, security.anonymizer_type, connection.connection_type, and security_extensions.abuse_velocity_score.

Pricing and total cost of ownership (TCO) comparison

Below is a realistic TCO comparison for two common production workloads:

Workload ScenarioipscopeMaxMind (GeoIP2)IPinfo.ioIPLocate.ioipgeolocation.io
Scenario A: 1M API lookups/mo with City Geo + ASN + VPN/Proxy detection$149/mo (Growth plan: 1M lookups, 100 req/s, Geo + ASN + Company + Privacy included)~$300+/mo in GeoIP2 Insights web service credits~$163 to $250+/mo (Plus/Max tier required for full privacy + 1M volume)~$99 to $150/mo~$99 to $199/mo (higher with security credit multiplier)
Scenario B: Self-hosted MMDB + Parquet database with City Geo + ASN + VPN/Proxy$279/mo (Complete 6-block DB, monthly updates, MMDB + CSV + Parquet included)~$650+/mo (requires buying GeoIP2 City + GeoIP2 ISP + GeoIP2 Anonymous IP separately; no Parquet)~$1,000+/mo (Enterprise custom database contract)~$250 to $400+/mo (no native Parquet)Separate Geo + Security DB licenses required

Migrating to ipscope in under 10 minutes

Whether you are replacing a REST API integration or swapping out a local .mmdb file, migrating to ipscope requires minimal code changes:

import { IpScopeClient } from '@ipscope/sdk-node';

const client = new IpScopeClient({
  apiKey: process.env.IPSCOPE_API_KEY!,
  cacheMaxEntries: 10_000,
  cacheTtlMs: 60_000,
});

// Single lookup with physical vs. declared country, ASN, and VPN telemetry
const res = await client.lookupIp('198.51.100.7');

if (res.security.is_vpn || res.geo.is_virtual_location) {
  console.log({
    ip: res.ip,
    declaredCountry: res.geo.declared_country_code,
    physicalCountry: res.geo.physical_country_code,
    asn: res.network.asn,
    anonymizer: res.security.anonymizer_type,
    abuseScore: res.security_extensions?.abuse_velocity_score,
  });
}

Frequently asked questions (FAQ)

Can ipscope .mmdb files be opened with standard MMDB readers?

Yes. Every ipscope .mmdb database is compiled strictly to the open MMDB binary specification v2.0. You can open ipscope .mmdb files using standard open-source MMDB readers in Python, Node.js, Go, Rust, Java, C, or NGINX without changing your reader library.

Why does ipscope return three country fields instead of one?

Because declared network registration (declared_country_code) and physical router location (physical_country_code) disagree on millions of leased and anycast IPv4/IPv6 prefixes. Returning country_code (best operational country), declared_country_code, physical_country_code, and is_virtual_location gives compliance, tax, and low-latency routing engines complete visibility.

Which provider is best for offline SIEM and data warehouse enrichment?

ipscope is purpose-built for data engineering and SIEM workloads because every database subscription includes Zstandard-compressed Apache Parquet (.parquet), compressed CSV (.csv.gz), and MMDB (.mmdb) artifacts at no additional format fee, complete with pre-computed integer IP bounds for fast range joins in columnar SQL engines and data warehouses.

Start with 30K free lookups a month.

No card, no trial clock. Upgrade when your traffic does, or download the database when you would rather keep it in-house.