{
  "name": "ip-info",
  "summary": "Reverse DNS (PTR) and network ownership for an IP address or a domain.",
  "rationale": "A reverse lookup needs the network, and the ownership data is a versioned dataset an agent does not carry. It is what you run over a list of addresses from a log.",
  "family": "domain",
  "price_usd": "0.002",
  "free": false,
  "timeout_ms": 5000,
  "max_timeout_seconds": 26,
  "input_schema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "ip": {
        "description": "A public IPv4 or IPv6 address to look up; private, loopback and reserved addresses are refused. Give exactly one of ip or domain.",
        "type": "string",
        "minLength": 1
      },
      "domain": {
        "description": "A public fully qualified domain name, resolved to its first address, which is then looked up; the call is refused if the name resolves to any private address. Give exactly one of ip or domain.",
        "type": "string",
        "minLength": 1
      }
    },
    "additionalProperties": false
  },
  "input_example": {
    "ip": "8.8.8.8"
  },
  "output_example": {
    "query": "8.8.8.8",
    "ip": "8.8.8.8",
    "ptr": "dns.google",
    "asn": 15169,
    "asn_org": "GOOGLE",
    "country": "US"
  },
  "errors": [
    "invalid_input",
    "blocked_target",
    "unreachable_target",
    "upstream_timeout",
    "internal"
  ]
}