World Time API · Schema

GeoJsonResponse

Geolocation data returned by the /geo endpoint for a given IP address.

TimeTimezoneWorld TimeUTCDSTDaylight Saving TimeIP GeolocationUnix Epoch

Properties

Name Type Description
ip string The IPv4 or IPv6 address that was looked up.
latitude numbernull Latitude coordinate of the IP location.
longitude numbernull Longitude coordinate of the IP location.
accuracy_radius integernull Accuracy radius in kilometers for the geolocation estimate.
timezone stringnull IANA timezone identifier in Area/Location or Area/Location/Region format.
city stringnull City name associated with the IP address.
postal_code stringnull Postal or ZIP code for the IP location.
metro_code integernull Metro code identifier (US only).
subdivisions array List of administrative subdivisions (e.g., states, provinces) for the IP location.
country object Country information for the IP location.
continent object Continent information for the IP location.
is_in_european_union boolean Whether the IP location is within the European Union.
is_anonymous_proxy boolean Whether the IP address belongs to an anonymous proxy (VPN, Tor, etc.).
is_satellite_provider boolean Whether the IP address belongs to a satellite internet provider.
is_anycast boolean Whether the IP address is an anycast address.
View JSON Schema on GitHub

JSON Schema

geo-response.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://timeapi.world/schemas/geo-response.json",
  "title": "GeoJsonResponse",
  "description": "Geolocation data returned by the /geo endpoint for a given IP address.",
  "type": "object",
  "required": [
    "ip",
    "latitude",
    "longitude",
    "accuracy_radius",
    "timezone",
    "city",
    "postal_code",
    "metro_code",
    "subdivisions",
    "country",
    "continent",
    "is_in_european_union",
    "is_anonymous_proxy",
    "is_satellite_provider",
    "is_anycast"
  ],
  "properties": {
    "ip": {
      "type": "string",
      "description": "The IPv4 or IPv6 address that was looked up."
    },
    "latitude": {
      "type": ["number", "null"],
      "description": "Latitude coordinate of the IP location."
    },
    "longitude": {
      "type": ["number", "null"],
      "description": "Longitude coordinate of the IP location."
    },
    "accuracy_radius": {
      "type": ["integer", "null"],
      "description": "Accuracy radius in kilometers for the geolocation estimate."
    },
    "timezone": {
      "type": ["string", "null"],
      "description": "IANA timezone identifier in Area/Location or Area/Location/Region format."
    },
    "city": {
      "type": ["string", "null"],
      "description": "City name associated with the IP address."
    },
    "postal_code": {
      "type": ["string", "null"],
      "description": "Postal or ZIP code for the IP location."
    },
    "metro_code": {
      "type": ["integer", "null"],
      "description": "Metro code identifier (US only)."
    },
    "subdivisions": {
      "type": "array",
      "description": "List of administrative subdivisions (e.g., states, provinces) for the IP location.",
      "items": {
        "type": "object",
        "required": ["code", "name"],
        "properties": {
          "code": {
            "type": "string",
            "description": "ISO 3166-2 subdivision code."
          },
          "name": {
            "type": "string",
            "description": "Full name of the subdivision."
          }
        },
        "additionalProperties": false
      }
    },
    "country": {
      "type": "object",
      "required": ["code", "name"],
      "description": "Country information for the IP location.",
      "properties": {
        "code": {
          "type": ["string", "null"],
          "description": "ISO 3166-1 alpha-2 country code."
        },
        "name": {
          "type": ["string", "null"],
          "description": "Full country name."
        }
      },
      "additionalProperties": false
    },
    "continent": {
      "type": "object",
      "required": ["code", "name"],
      "description": "Continent information for the IP location.",
      "properties": {
        "code": {
          "type": ["string", "null"],
          "description": "Two-letter continent code (e.g., OC for Oceania, EU for Europe)."
        },
        "name": {
          "type": ["string", "null"],
          "description": "Full continent name."
        }
      },
      "additionalProperties": false
    },
    "is_in_european_union": {
      "type": "boolean",
      "description": "Whether the IP location is within the European Union."
    },
    "is_anonymous_proxy": {
      "type": "boolean",
      "description": "Whether the IP address belongs to an anonymous proxy (VPN, Tor, etc.)."
    },
    "is_satellite_provider": {
      "type": "boolean",
      "description": "Whether the IP address belongs to a satellite internet provider."
    },
    "is_anycast": {
      "type": "boolean",
      "description": "Whether the IP address is an anycast address."
    }
  },
  "additionalProperties": false
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema 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 Schema
curl "https://apis.io/api/v1/json-schemas/geo-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no email required.

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