API Reference
Markdown

Field families & MMDB distribution API

How API key licensedFamilies project lookup responses, plus the complete /v1/mmdb/* endpoints for custom quotes, release manifests, SHA256SUMS, and signed artifact downloads.

# 1. Licensed field families (`licensedFamilies`)

In @ipscope/api, every API key carries an explicit licensedFamilies entitlement list configured by your plan or custom database profile. When you call GET /v1/ip/:ip or POST /v1/ip/batch, filterByLicensedFamilies() automatically projects the IpLookupResponse to the families licensed on your key:

Family ID (`licensedFamilies`)Projected JSON fields in `IpLookupResponse`Description
networkmatched_network, network.asn, network.organizationMatched CIDR prefix and BGP origin ASN / organization.
geo_countrygeo.country_code, geo.declared_country_code, geo.physical_country_code, geo.is_virtual_location, geo.location_type, geo.confidenceCountry-level routing reality and declared vs. physical separation.
geo_cityAdds geo.subdivision, geo.city, geo.accuracy_radius_km, geo.timezoneCity, first-level subdivision, accuracy radius, and IANA timezone.
connectionconnection.connection_type, is_residential, is_mobile, is_business, is_hostingAccess network classification (residential, mobile, business, hosting).
hostingsecurity.is_hosting, connection.is_hostingDatacenter, cloud, and colocation hosting flags.
anonymitysecurity.is_vpn, is_tor_exit, is_proxy, is_hosting, anonymizer_type, confidence, reason_codesVPN, Tor exit, proxy, and relay detection with explainable reason_codes.
security_extensionssecurity_extensions.abuse_velocity_score, is_known_scanner, observation_recency_hoursHoneypot abuse velocity score (0–100), scanner flag, and observation recency.
metadataset_version, updated_atSnapshot version provenance and publication timestamp.

# 2. MMDB & artifact catalog (`GET /v1/mmdb/products` & `POST /v1/mmdb/quote`)

GEThttps://api.ipscope.io/v1/mmdb/productsscope: lookup API key
POSThttps://api.ipscope.io/v1/mmdb/quotescope: lookup API key

GET /v1/mmdb/products returns the complete catalog of selectable artifact formats (mmdb, csv, parquet), field families, update cadences (daily, weekly, every_30_days), dynamic pricing rules, and preset SKUs. POST /v1/mmdb/quote computes a deterministic integer-minor-unit price quote and profileSchemaHash for any custom combination.

Quote request body (POST /v1/mmdb/quote)MmdbQuoteRequestDtoapplication/json
curl -sS -X POST "https://api.ipscope.io/v1/mmdb/quote" \
  -H "Authorization: Bearer $IPSCOPE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"formats":["mmdb","parquet"],"field_families":["network","geo_country","geo_city","anonymity"],"cadence":"daily"}'
Responses
application/json

Deterministic integer-minor-unit quote and profileSchemaHash.

{
  "currency": "USD",
  "amountMinor": 19900,
  "profileSchemaHash": "psh_8a91c4e20b1f",
  "formats": [
    "mmdb",
    "parquet"
  ],
  "field_families": [
    "network",
    "geo_country",
    "geo_city",
    "anonymity"
  ],
  "cadence": "daily"
}

# 3. Releases, tokens, checksums & downloads (`/v1/mmdb/releases/*`)

GEThttps://api.ipscope.io/v1/mmdb/releasesscope: download API key
POSThttps://api.ipscope.io/v1/mmdb/releases/{id}/download-tokenscope: download · 201 API key
GEThttps://api.ipscope.io/v1/mmdb/releases/{id}/checksumsscope: download API key
GEThttps://api.ipscope.io/v1/mmdb/releases/{id}/downloadscope: download API key
GEThttps://api.ipscope.io/v1/mmdb/snapshots/diffscope: download API key

All release and artifact delivery endpoints require the download scope. Pass either a specific release ID (rel_...) or latest as {id}.

curl -sS "https://api.ipscope.io/v1/mmdb/releases" \
  -H "Authorization: Bearer $IPSCOPE_KEY"
Responses
application/json

Published MMDB, CSV, and Parquet release manifests and SHA-256 digests.

{
  "count": 1,
  "releases": [
    {
      "releaseId": "rel_20261027_0000",
      "snapshotVersion": "2026-10-27T00:00:00Z.crawl-1793088000000",
      "createdAt": "2026-10-27T00:00:00Z",
      "status": "published",
      "artifacts": [
        {
          "format": "mmdb",
          "filename": "ipscope-complete.mmdb",
          "sizeBytes": 148291584,
          "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
        },
        {
          "format": "parquet",
          "filename": "ipscope-complete.parquet",
          "sizeBytes": 112408192,
          "sha256": "4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a"
        }
      ]
    }
  ]
}