Getting Started
Markdown

Quickstart

Look up an IPv4 or IPv6 address over HTTP, with an official server SDK, or from a local MMDB file in under five minutes.

IPScope delivers IP intelligence in two interchangeable forms: a low-latency REST API at https://api.ipscope.io and downloadable databases (.mmdb, .csv.gz, .parquet) that run on your own servers with zero network hops. Both return the same 6 intelligence blocks.

  1. Step 1: Try your first lookup (no key needed)

    Look up the address you are connecting from right now via /v1/ip/me:

    curl -sS https://api.ipscope.io/v1/ip/me

    Create a free account in the dashboard to generate a server API key (ips_live_...) with 30,000 free lookups every month.

  2. Step 2: Look up any IPv4 or IPv6 address

    Pass your API key in Authorization: Bearer $IPSCOPE_KEY (or X-API-Key) to query /v1/ip/{ip} from curl or any of our 8 official server SDKs:

    curl -sS "https://api.ipscope.io/v1/ip/198.51.100.7" \
      -H "Authorization: Bearer $IPSCOPE_KEY"
  3. Step 3: Request only the intelligence blocks you need

    Every response groups attributes into 6 modular families (geo_country, geo_city, network, connection, anonymity, security_extensions). Pass ?field_families= to restrict the payload to the blocks your handler inspects:

    curl -sS "https://api.ipscope.io/v1/ip/198.51.100.7?field_families=geo_country,anonymity" \
      -H "Authorization: Bearer $IPSCOPE_KEY"
  4. Step 4: Or run lookups locally from an MMDB file

    If you prefer zero external network calls on the request path, download any database edition (starting with the free IPScope Lite edition) and open it with your existing MaxMind DB reader:

    import maxminddb
    
    with maxminddb.open_database("/var/lib/ipscope/ipscope-complete.mmdb") as reader:
        record = reader.get("198.51.100.7")
        print(record["geo"]["country_code"], record["security"]["is_vpn"])

# Next steps