IPGeolocation.io · JSON Structure

Ip Location Location Structure

Geographic location data for the IP address.

Type: object Properties: 22
GeocodingIP GeolocationIP IntelligenceIP SecurityASN LookupAbuse ContactTimezoneAstronomyUser AgentThreat IntelligencePublic APIs

Location is a JSON Structure definition published by IPGeolocation.io, describing 22 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

continent_code continent_name country_code2 country_code3 country_name country_name_official country_capital state_prov state_code district city locality accuracy_radius confidence dma_code zipcode latitude longitude is_eu country_flag geoname_id country_emoji

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ipgeolocation/refs/heads/main/json-structure/ip-location-location-structure.json",
  "name": "Location",
  "description": "Geographic location data for the IP address.",
  "type": "object",
  "properties": {
    "continent_code": {
      "type": "string",
      "description": "Two-letter continent code (e.g. `EU`, `NA`, `AS`).",
      "example": "EU"
    },
    "continent_name": {
      "type": "string",
      "description": "Full continent name.",
      "example": "Europe"
    },
    "country_code2": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country code.",
      "example": "SE"
    },
    "country_code3": {
      "type": "string",
      "description": "ISO 3166-1 alpha-3 country code.",
      "example": "SWE"
    },
    "country_name": {
      "type": "string",
      "description": "Common country name.",
      "example": "Sweden"
    },
    "country_name_official": {
      "type": "string",
      "description": "Official country name as recognized by the UN.",
      "example": "Kingdom of Sweden"
    },
    "country_capital": {
      "type": "string",
      "description": "Capital city of the country.",
      "example": "Stockholm"
    },
    "state_prov": {
      "type": "string",
      "description": "State, province, or top-level administrative region.",
      "example": "Stockholms l\u00e4n"
    },
    "state_code": {
      "type": "string",
      "description": "ISO 3166-2 state or province code.",
      "example": "SE-AB"
    },
    "district": {
      "type": "string",
      "description": "District, county, or second-level administrative division.",
      "example": "Stockholm"
    },
    "city": {
      "type": "string",
      "description": "City name.",
      "example": "Stockholm"
    },
    "locality": {
      "type": "string",
      "description": "Locality or neighborhood. May be the same as `city`. Only present when\n`include=geo_accuracy` or `include=*` is used.\n",
      "example": "Stockholm"
    },
    "accuracy_radius": {
      "type": "string",
      "description": "Estimated accuracy radius in kilometers around `latitude` and `longitude`.\nOnly present when `include=geo_accuracy` or `include=*` is used.\n",
      "example": "4.395"
    },
    "confidence": {
      "type": "string",
      "description": "Confidence level for the accuracy radius. Possible values: `high`, `medium`,\n`low`. Only present when `include=geo_accuracy` or `include=*` is used.\n",
      "enum": [
        "high",
        "medium",
        "low"
      ],
      "example": "high"
    },
    "dma_code": {
      "type": "string",
      "description": "Nielsen Designated Market Area code. Only populated for US-based IPs.\nPresent when `include=dma_code` or `include=*` is used. Empty string for\nnon-US IPs.\n",
      "example": "504"
    },
    "zipcode": {
      "type": "string",
      "description": "Postal or ZIP code.",
      "example": "164 40"
    },
    "latitude": {
      "type": "string",
      "description": "Latitude in decimal degrees (WGS 84).",
      "example": "59.40510"
    },
    "longitude": {
      "type": "string",
      "description": "Longitude in decimal degrees (WGS 84).",
      "example": "17.95510"
    },
    "is_eu": {
      "type": "boolean",
      "description": "Whether the country is a member of the European Union.",
      "example": true
    },
    "country_flag": {
      "type": "uri",
      "description": "URL to a 64x64 PNG of the country flag.",
      "example": "https://ipgeolocation.io/static/flags/se_64.png"
    },
    "geoname_id": {
      "type": "string",
      "description": "GeoNames identifier for the location.",
      "example": "9972319"
    },
    "country_emoji": {
      "type": "string",
      "description": "Unicode flag emoji for the country.",
      "example": "\ud83c\uddf8\ud83c\uddea"
    }
  }
}

Work with this as data

Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/ip-location-location-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.