{
  "data": {
    "a": {
      "slug": "ipinfo",
      "name": "IPinfo",
      "vendor": "IPinfo Inc.",
      "vendorUrl": "https://ipinfo.io",
      "kind": "http-api",
      "category": "security-intelligence",
      "summary": "IPinfo is an IP address data service from IPinfo Inc. in Seattle. Its API returns geolocation, ASN, privacy and residential proxy signals for an address, with a free Lite tier, paid tiers, a batch endpoint and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/ipinfo",
      "markdownUrl": "https://www.anchorterminal.com/tools/ipinfo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/ipinfo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ipinfo.json",
      "dns": "ipinfo.grade.anchorterminal.com",
      "repo": "https://github.com/ipinfo/mcp",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp.ipinfo.io/",
      "packages": [
        {
          "registry": "pypi",
          "name": "ipinfo-mcp-server"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access token from the dashboard after a browser signup, sent as a Bearer header, as HTTP Basic (token as username) or as a `token` query parameter. The hosted MCP server at mcp.ipinfo.io uses OAuth with a browser login and short-lived tokens it renews itself, or a Bearer token. No scopes were found; tier access follows the plan.",
      "pricing": "freemium",
      "pricingNotes": "Lite is free with unlimited requests and no card, country and ASN only. Core $26 a month for 150,000 requests (city geolocation, privacy flags), Max $163 a month for 250,000 (residential proxy, carrier, accuracy radius), both 17 per cent less yearly. Overage $0.34 and $1.30 per 1,000 requests. Enterprise from 1 million requests a month by sales; database downloads from $1,000 a month by sales.",
      "priceSummary": "$26 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI document, the pricing page or the MCP server repository (checked 2026-11-03). Overage is billed monthly by card.",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": 2,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://ipinfo.io/developers",
      "llmsTxt": "https://ipinfo.io/developers/llms.txt",
      "openapi": "https://ipinfo.io/developers/openapi.yaml",
      "registryName": "io.github.ipinfo/mcp",
      "capabilities": [
        "secintel.ip-enrichment",
        "secintel.reputation"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "official",
        "mcp-registry",
        "openapi",
        "llms-txt",
        "security-txt",
        "batch",
        "read-only-mode",
        "python",
        "typescript",
        "go",
        "java",
        "php",
        "ruby",
        "closed-source",
        "no-status-page"
      ],
      "lastRelease": "2026-10-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.7,
        "grade": "B",
        "agentReady": false,
        "rank": 464,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 85,
          "payments": 40,
          "reliability": 38,
          "schema": 76,
          "security": 60,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A free Lite tier with no request cap, a public OpenAPI document, llms.txt, a batch endpoint of 1,000 lookups and a six-tool hosted MCP server with OAuth. No status page or SLA was found, the only documented error is 429, the token may travel in a query string, and city-level and privacy data need a paid plan.",
        "bestFor": "An agent that needs to enrich an IP with location, network and anonymiser flags at volume, free for country and ASN, paid for city and privacy signals.",
        "strengths": [
          "Lite tier is free with no daily or monthly limit and no card, and Core overage is priced per 1,000 requests on the public pricing page",
          "Public OpenAPI 3.0 document with 48 operations, plus llms.txt and llms-full.txt and Markdown twins of every docs page",
          "Hosted MCP server with OAuth and six read-only tools, in the official MCP registry, with per-session caching and structured error codes",
          "Batch endpoint takes up to 1,000 lookups per request, and field paths such as /country return one value",
          "Valid security.txt with a PGP key, a security policy with response times, and official SDKs in eleven languages"
        ],
        "weaknesses": [
          "No status page, incident history or SLA was found; the terms supply the service as is",
          "Only 429 is documented as an error response, and no Retry-After or backoff guidance was found",
          "The token is accepted as a query parameter, and no scoped or read-only tokens were found",
          "No public changelog or deprecation policy; the legacy API is maintained with no end date",
          "City geolocation, privacy flags and residential proxy signals need Core or Max, and company, WHOIS and abuse contact data are enterprise only"
        ],
        "agentNotes": [
          "Call `https://api.ipinfo.io/lite/{ip}` with `Authorization: Bearer` on a free token; `/lookup/{ip}` and `detailed=true` in the MCP tools return ACCESS_DENIED without a paid plan",
          "Batch up to 1,000 addresses in one POST to `/batch/lite` or `/batch` with `filter=1`; each address counts as one request against the monthly quota",
          "Append a field path such as `/country` or `/asn` to get a single plain-text value instead of the full object",
          "On a 429 the monthly plan quota is spent; there is no Retry-After, so stop and report rather than retry",
          "Treat the data as licensed for internal use; selling or reselling it needs IPinfo's written consent under the terms"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.7
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 85,
          "payments": 40,
          "reliability": 38,
          "schema": 76,
          "security": 60,
          "transparency": 55
        },
        "provenanceScore": 85,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uvx ipinfo-mcp-server",
        "http": "curl -H \"Authorization: Bearer $IPINFO_TOKEN\" https://api.ipinfo.io/lite/8.8.8.8",
        "claudeCode": "claude mcp add --transport http ipinfo https://mcp.ipinfo.io/",
        "config": {
          "mcpServers": {
            "ipinfo": {
              "url": "https://mcp.ipinfo.io/"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/secintel.ip-enrichment",
        "tool": "https://letme.dev/ipinfo"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Core, 150,000 requests a month",
          "unit": "month",
          "usd": 26,
          "note": "$310 a year"
        },
        {
          "item": "Max, 250,000 requests a month",
          "unit": "month",
          "usd": 163,
          "note": "$1,960 a year"
        },
        {
          "item": "Core overage",
          "unit": "1k-requests",
          "usd": 0.34,
          "note": "$0.000342 a request, billed monthly"
        },
        {
          "item": "Max overage",
          "unit": "1k-requests",
          "usd": 1.3,
          "note": "$0.001297 a request, billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "IPinfo Inc.",
        "domain": "ipinfo.io",
        "domainRegistered": "2013-04-23",
        "endpointOnVendorDomain": true,
        "terms": "https://ipinfo.io/terms-of-service",
        "privacy": "https://ipinfo.io/privacy-policy",
        "statusPage": "",
        "changelog": "https://github.com/ipinfo/mcp/releases",
        "securityTxt": "valid",
        "checked": "2026-11-03",
        "notes": [
          "The terms, last updated 3 June 2024, name IPinfo Inc. under Washington law with JAMS arbitration in King County. The privacy policy, effective 29 October 2026, gives a Seattle business address and names the processors.",
          "The terms forbid robots, spiders or any automated program to retrieve, index, scrape or data-mine the site. Public pages were read for this listing and the clause is recorded as a fact.",
          "ipinfo.io/robots.txt disallows the data endpoints (paths ending in json, ip, hostname, city and the other field names), URLs with a colon, token and callback parameters, /case-studies/ and /probenet/live/. None was fetched; the docs and OpenAPI document were read instead.",
          "No status page was found. status.ipinfo.io does not resolve and the site links none.",
          "The changelog link is the MCP server's GitHub releases. No changelog for the REST API was found.",
          "security.txt at /.well-known/security.txt is valid until 21 August 2027 with a PGP key. RDAP at Identity Digital gives a registration date of 23 April 2013."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/ipinfo.json",
      "live": {
        "slug": "ipinfo",
        "probe": {
          "target": "https://mcp.ipinfo.io/",
          "method": "get",
          "lastAt": "2026-11-04T20:05:07.209782043Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 166,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 152,
          "p95ms24h": 236,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.ipinfo/mcp",
            "version": "0.2.3",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          }
        ],
        "securityTxt": {
          "url": "https://ipinfo.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-21T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:53:37.079212393Z"
        },
        "updatedAt": "2026-11-04T20:05:07.209782043Z"
      }
    },
    "answer": "IPinfo scores 62.7 (B) on agent readiness against WhoisXML API's 56.8 (C), and leads in 6 of 7 scored categories. WhoisXML API leads on reliability.",
    "b": {
      "slug": "whoisxml-api",
      "name": "WhoisXML API",
      "vendor": "Whois API, Inc.",
      "vendorUrl": "https://www.whoisxmlapi.com",
      "kind": "http-api",
      "category": "security-intelligence",
      "summary": "WhoisXML API is a set of domain, DNS, IP and threat intelligence APIs from Whois API, Inc. Its WHOIS API returns parsed registration records for a domain or address, and a hosted MCP server bundles 35 tools on one balance.",
      "url": "https://www.anchorterminal.com/tools/whoisxml-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/whoisxml-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/whoisxml-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/whoisxml-api.json",
      "dns": "whoisxml-api.grade.anchorterminal.com",
      "transports": [
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://mcp-hosted.whoisxmlapi.com/mcp",
      "packages": [
        {
          "registry": "npm",
          "name": "@whoisxmlapidotcom/mcp-whoisxmlapi"
        }
      ],
      "auth": "mixed",
      "authNotes": "API key from the account after a browser signup, sent as an `apiKey` query parameter (which takes priority) or as `Authorization: Bearer`, which also accepts a server-to-server OAuth token. An IP allowlist can be set (403 AUTHENTICATE_10). The hosted MCP server uses OAuth, taking the API key once in the connect flow; local installs take the key as an environment variable.",
      "pricing": "freemium",
      "pricingNotes": "500 free WHOIS API credits on signup with no card. A WHOIS lookup costs 1 credit, 5 with a forced real-time refresh. WXA.ONE universal credit pools, one balance across the APIs and the MCP server, start from $129 a month, monthly or yearly; per-credit rates sit behind a calculator and were not read. Enterprise packages and premium support by sales. Credits expire after 12 months and orders are non-refundable under the terms.",
      "priceSummary": "$129 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the WHOIS API docs, the pricing pages, the terms or the MCP server docs (checked 2026-11-03). An exhausted balance answers 401 AUTHENTICATE_05.",
        "endpoints": []
      },
      "toolCount": 35,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://whois.whoisxmlapi.com/documentation/making-requests",
      "llmsTxt": "https://www.whoisxmlapi.com/llms.txt",
      "registryName": "io.github.whois-api-llc/mcp-whoisxmlapi",
      "capabilities": [
        "secintel.dns",
        "secintel.reputation",
        "secintel.ip-enrichment",
        "secintel.indicators"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "official",
        "mcp-registry",
        "llms-txt",
        "status-page",
        "prepaid",
        "typescript",
        "python",
        "go",
        "docker",
        "closed-source"
      ],
      "lastRelease": "2026-11-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 56.8,
        "grade": "C",
        "agentReady": false,
        "rank": 771,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 76,
          "payments": 25,
          "reliability": 65,
          "schema": 70,
          "security": 39,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "500 free credits with no card, JSON Schema and XSD for every response, 429s with Retry-After, cache controls that set the price per lookup, and a 35-tool hosted MCP server with OAuth. Per-credit prices sit behind a calculator, the terms confine data to one site and forbid AI training on it, and the key is accepted in the query string.",
        "bestFor": "An agent investigating a domain's registration, history, DNS, certificates or related domains at scale, on a prepaid credit pool.",
        "strengths": [
          "500 free WHOIS credits on signup with no card, and 1 credit a lookup from cache or 5 for a forced refresh",
          "JSON Schema and XSD documents for the record, availability and error responses, with an error code table and Retry-After on 429",
          "Each record carries audit.createdDate and audit.updatedDate, so an agent can tell when the copy was collected",
          "Official MCP server with 35 tools, hosted with OAuth, in the official MCP registry with 21 versions since May 2026",
          "llms.txt on whoisxmlapi.com lists the APIs, feeds and databases"
        ],
        "weaknesses": [
          "Per-credit prices are not published outside a calculator; the only public figure is from $129 a month, and orders are non-refundable",
          "The terms license data for one site, bar sharing it with third parties and forbid AI model training on it without written authorisation",
          "The docs say 200 requests a second while the terms say 50, 20 concurrent and 5 concurrent bulk",
          "The key is accepted as a query parameter that overrides the header, no scopes were found, and security.txt returns 404",
          "The privacy policy was last modified on 6 April 2020, cites Privacy Shield, and names no processors, locations or retention periods",
          "No OpenAPI document, no API version, and the MCP server's source was not found"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer` and `outputFormat=JSON`; the default output is XML and an `apiKey` query parameter overrides the header",
          "Leave the cache flags alone for 1 credit a lookup; `_hardRefresh=1` costs 5 credits, and `_dbOnly=1` returns WHOIS_03 when nothing is cached",
          "Read `audit.updatedDate` before trusting a record, and check `dataError` for MASKED_WHOIS_DATA or PARTIAL_DATA",
          "Watch `X-RateLimit-Remaining` and on 429 AUTHENTICATE_06 wait for `Retry-After`; a 401 AUTHENTICATE_05 means the balance is spent, so stop",
          "Keep results inside the customer's own systems; the terms forbid passing data to third parties or using it to train models"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 56.8
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 76,
          "payments": 25,
          "reliability": 65,
          "schema": 70,
          "security": 39,
          "transparency": 31
        },
        "provenanceScore": 89,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npx @whoisxmlapidotcom/mcp-whoisxmlapi --help",
        "http": "curl -H \"Authorization: Bearer $WHOISXML_API_KEY\" \"https://www.whoisxmlapi.com/whoisserver/WhoisService?domainName=example.com\u0026outputFormat=JSON\"",
        "claudeCode": "claude mcp add --transport http whoisxmlapi https://mcp-hosted.whoisxmlapi.com/mcp",
        "config": {
          "mcpServers": {
            "whoisxmlapi": {
              "url": "https://mcp-hosted.whoisxmlapi.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/secintel.dns",
        "tool": "https://letme.dev/whoisxml-api"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "WXA.ONE universal credit pool, smallest plan",
          "unit": "month",
          "usd": 129,
          "note": "from $129 a month; credits included and per-credit rates were not read"
        }
      ],
      "provenance": {
        "legalEntity": "Whois API, Inc.",
        "domain": "whoisxmlapi.com",
        "domainRegistered": "2009-03-20",
        "endpointOnVendorDomain": true,
        "terms": "https://main.whoisxmlapi.com/terms-of-service",
        "privacy": "https://main.whoisxmlapi.com/privacy-policy",
        "statusPage": "https://main.whoisxmlapi.com/api-status",
        "changelog": "https://main.whoisxmlapi.com/press-release",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms of service, last updated 3 March 2025 and effective 3 May 2025, name Whois API, Inc. under California law with AAA arbitration. The company page's copyright line reads 2010 to 2026 Whois API, Inc. No postal address was found on the terms, privacy policy or company page.",
          "The terms forbid unauthorised data mining and obtaining materials through means not intentionally made available, and set a rate limit of 50 requests a second. Public pages were read for this listing and the clauses are recorded as facts.",
          "whois.whoisxmlapi.com/robots.txt allows all paths for general crawlers and blocks five named bots. www.whoisxmlapi.com/robots.txt disallows blog admin paths and /BulkWhoisLookup/, none fetched. www.whoisxmlapi.com/terms-of-service redirects to a 404; the terms live at main.whoisxmlapi.com.",
          "The status page is the vendor's own Service Status and Data Releases page, which describes a JSON status file and feeds but lists no incidents.",
          "The changelog link is the press release page, whose newest product update is dated 9 May 2025. MCP server versions are dated in the official MCP registry.",
          "main.whoisxmlapi.com/.well-known/security.txt returns 404. RDAP at Verisign gives a registration date of 20 March 2009."
        ],
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/whoisxml-api.json",
      "live": {
        "slug": "whoisxml-api",
        "probe": {
          "target": "https://mcp-hosted.whoisxmlapi.com/mcp",
          "method": "get",
          "lastAt": "2026-11-04T20:05:34.160603501Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 539,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 412,
          "p95ms24h": 506,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://main.whoisxmlapi.com/api-status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:43.472322439Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.whois-api-llc/mcp-whoisxmlapi",
            "version": "1.15.0",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          }
        ],
        "securityTxt": {
          "url": "https://whoisxmlapi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:49.350283946Z"
        },
        "updatedAt": "2026-11-04T20:05:34.160603501Z"
      }
    },
    "edges": [
      {
        "by": 27,
        "category": "reliability",
        "leads": "whoisxml-api",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page was found; status.ipinfo.io does not resolve and the site, docs and llms.txt link none (0). No readable history (5). Limits are published with numbers, Lite unlimited, Core 150,000 and Max 250,000 requests a month, with no per-second cap (15). A 429 is documented in the OpenAPI document and the developer page for the monthly quota, and the MCP server maps it to RATE_LIMITED, but no Retry-After or backoff guidance was found; every call is a read (8 of 15). No SLA; the terms supply the service as is and as available (0). The API and the MCP server are generally available (10). 0 + 5 + 15 + 8 + 0 + 10 = 38.",
          "b": "Read with the hosted lines. The vendor's own Service Status and Data Releases page is linked from the docs and describes a per-API JSON status file with four levels (20). It shows no incident history and the status file's live values could not be read, so no 90-day record (5). The docs give 200 requests a second with rejection until the next second; the terms give 50 a second, 20 concurrent and 5 concurrent bulk requests, so numbers are published even though they disagree (15). A 429 AUTHENTICATE_06 carries Retry-After and every response X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, with guidance to slow before zero; all calls are reads (15). No SLA; the terms guarantee no minimum uptime and cite a historical 99.9 per cent, with enterprise SLAs by separate agreement (0). The API is generally available (10). 20 + 5 + 15 + 15 + 0 + 10 = 65."
        },
        "scores": {
          "a": 38,
          "b": 65
        }
      },
      {
        "by": 21,
        "category": "security",
        "leads": "ipinfo",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One access token per account, accepted as a Bearer header, HTTP Basic or a token query parameter, with no scopes found; the hosted MCP server adds OAuth with short-lived tokens (20 less 10 for the query string, plus 4 for OAuth on the MCP server, so 14). Every endpoint is a read and tools return ACCESS_DENIED outside the plan, but there is no read-only or restricted token (16 of 20). Responses are structured network data rather than third-party free text (10 of 15). The dashboard shows request graphs and lookup history per the pricing page, with no per-call log documented (8 of 15). security.txt valid until 21 August 2027 with a PGP key, a SECURITY.md with 2-day acknowledgement and a 90-day disclosure window, no bug bounty or certification found beyond a bank-grade claim (12 of 20). 14 + 16 + 10 + 8 + 12 = 60.",
          "b": "An API key with no scopes found, accepted as an apiKey query parameter that overrides the Authorization header, or as a Bearer token including a server-to-server OAuth token; an IP allowlist can be set on the account (20 less 10 for the query string, plus 4 for OAuth and the allowlist, so 14). Every call is a read and the MCP server has no write tools, but there is no read-only or restricted key (12 of 20). Records include raw registrar text from third parties with no guidance on treating it as untrusted (5 of 15). The MCP server's account_balance tool reports credits per product and the account page shows usage, with no per-call log documented (5 of 15). security.txt returns 404, no disclosure policy, bug bounty or certification was found, and the payment page names only a PCI-compliant card processor (3 of 20). 14 + 12 + 5 + 5 + 3 = 39."
        },
        "scores": {
          "a": 60,
          "b": 39
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "ipinfo",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "Field paths such as /country return one value, the Lite and lookup objects are small, and the MCP server has six compact tools with a per-session cache (23 of 25). Batch takes up to 1,000 lookups with filter=1 to drop empty results; no pagination is needed on single lookups, and ASN and range responses have no size control (16 of 20). The only documented error is 429; the MCP server returns coded errors with a message and a suggestion (12 of 20). Every call is a read, batch is a read over POST, and the MCP tools carry tool annotations (18 of 20). One parameter per call, sensible defaults and official SDKs in eleven languages (15). 23 + 16 + 12 + 18 + 15 = 84.",
          "b": "ignoreRawTexts drops the raw text fields, cmd=GET_DN_AVAILABILITY returns a two-field record, and the MCP server's reverse_whois defaults to a count-only mode; the MCP server lists 35 tools, more than 30, with a tool_search for deferred loading over stdio only (17 of 25). The WHOIS API returns one record per call with no pagination; bulk variants take up to 10,000 domains as jobs with status and results tools (8 of 20). Errors carry a code and a message an agent can branch on, though WHOIS_01 names both a validation error on HTTP 200 and an internal error on 500 (14 of 20). Every call is a read, and the cache flags make a repeat cheap, but a retry with _hardRefresh costs 5 credits each time and no annotations were found on the MCP tools (14 of 20). One required parameter, sensible defaults, and official Python and Go client libraries in the vendor's GitHub organisation, last pushed in 2023 (12 of 15). 17 + 8 + 14 + 14 + 12 = 65."
        },
        "scores": {
          "a": 84,
          "b": 65
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "ipinfo",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices and per-1,000 overage rates are public on the pricing page (20). Lite is free with no card and no request cap (20). The token comes from the dashboard after a browser signup, and no key API was found (0). 0 + 20 + 20 + 0 = 40.",
          "b": "No x402, MPP or L402 (0). The only public price is from $129 a month for a universal credit pool; per-credit rates are behind a calculator whose output was not read and enterprise packages are by sales (5 of 20). 500 free WHOIS credits on signup with no card (20). The key comes from the account after a browser signup and no key API was found (0). 0 + 5 + 20 + 0 = 25."
        },
        "scores": {
          "a": 40,
          "b": 25
        }
      },
      {
        "by": 10,
        "category": "transparency",
        "leads": "ipinfo",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "A closed service with clear terms naming IPinfo Inc. and the governing law, with the MCP server and SDKs under Apache-2.0 (17 of 30). The privacy policy of 29 October 2026 lists processors, links a DPA and says data is kept as long as needed, with no periods (16 of 30). No deprecation policy; the legacy API is maintained for existing users with no end date (6 of 20). Processors named and hosting in the United States (16 of 20). 17 + 16 + 6 + 16 = 55.",
          "b": "A closed service with clear terms naming Whois API, Inc. and California law, though they confine data to one site, bar sharing it and forbid AI training on it (15 of 30). The privacy policy was last modified on 6 April 2020, cites the Privacy Shield frameworks, keeps data as long as there is a reasonable basis, and names no DPA (6 of 30). Deprecated parameters are listed and still accepted, with no notice periods or policy (8 of 20). No subprocessors or data locations are named (2 of 20). 15 + 6 + 8 + 2 = 31."
        },
        "scores": {
          "a": 70,
          "b": 60
        }
      },
      {
        "by": 9,
        "category": "maintenance",
        "leads": "ipinfo",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with an official MCP server and SDKs. MCP server v0.2.3 on 29 October 2026, a commit on 3 November, and SDK repositories pushed in October and November (30). Eight MCP releases since 8 September 2026, v0.1.12 to v0.2.3 (20). GitHub releases for the MCP server, a community forum, a help centre and a support form, but no changelog for the API and GitHub issue pages could not be read (10 of 15). The MCP server is in the official registry as io.github.ipinfo/mcp and the SDKs are official (15). The MCP package has tests, CI with pinned actions, CodeQL and Scorecard workflows and a lock file (10). 30 + 20 + 10 + 15 + 10 = 85.",
          "b": "Read as a closed service with an official MCP server. MCP server 1.13.0 was published in the official registry on 3 November 2026 and the ProfessionalServices and ipgeo-community repositories were pushed the same day (30). 1.8.6 on 8 September through 1.13.0 on 3 November 2026 is nine registry versions in 90 days (20). Product updates are summarised in yearly press releases, the newest 9 May 2025, support is a contact form with tiered response times sold separately, and the client library repositories were last pushed in 2023 (8 of 15). The MCP server is in the official registry under io.github.whois-api-llc, and official Python and Go clients exist (15). The MCP server's source was not found on GitHub, and the SDK repositories show no activity since 2023 (3 of 10). 30 + 20 + 8 + 15 + 3 = 76."
        },
        "scores": {
          "a": 85,
          "b": 76
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "IPinfo Inc.",
        "b": "Whois API, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.ipinfo.io/",
        "b": "https://mcp-hosted.whoisxmlapi.com/mcp",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "6",
        "b": "35",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.ipinfo/mcp",
        "b": "io.github.whois-api-llc/mcp-whoisxmlapi",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "2026-11-03",
        "name": "Last release"
      },
      {
        "a": "2024-06-03",
        "b": "2025-03-03",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-29",
        "b": "2020-04-06",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "IPinfo scores 62.7 (B) on agent readiness against WhoisXML API's 56.8 (C), and leads in 6 of 7 scored categories. WhoisXML API leads on reliability.",
        "question": "Which is better for AI agents, IPinfo or WhoisXML API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do IPinfo and WhoisXML API need an API key?"
      },
      {
        "answer": "Yes. IPinfo has a hosted endpoint at https://mcp.ipinfo.io/ and WhoisXML API at https://mcp-hosted.whoisxmlapi.com/mcp.",
        "question": "Can an agent call IPinfo and WhoisXML API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 76 against 70",
          "Agent ergonomics, 84 against 65",
          "Security \u0026 auth, 60 against 39",
          "Payments \u0026 pricing, 40 against 25",
          "Maintenance \u0026 community, 85 against 76",
          "Transparency \u0026 trust, 70 against 60"
        ],
        "also": null,
        "goodFor": "An agent that needs to enrich an IP with location, network and anonymiser flags at volume, free for country and ASN, paid for city and privacy signals.",
        "slug": "ipinfo",
        "watchFor": "No status page, incident history or SLA was found; the terms supply the service as is"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 38"
        ],
        "also": null,
        "goodFor": "An agent investigating a domain's registration, history, DNS, certificates or related domains at scale, on a prepaid credit pool.",
        "slug": "whoisxml-api",
        "watchFor": "Per-credit prices are not published outside a calculator; the only public figure is from $129 a month, and orders are non-refundable"
      }
    ],
    "history": null,
    "job": {
      "capability": "secintel.ip-enrichment",
      "name": "Secintel ip enrichment"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/abuseipdb-vs-ipinfo.json",
        "title": "AbuseIPDB vs IPinfo",
        "url": "https://www.anchorterminal.com/compare/abuseipdb-vs-ipinfo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/abuseipdb-vs-whoisxml-api.json",
        "title": "AbuseIPDB vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/abuseipdb-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greynoise-vs-ipinfo.json",
        "title": "GreyNoise vs IPinfo",
        "url": "https://www.anchorterminal.com/compare/greynoise-vs-ipinfo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greynoise-vs-whoisxml-api.json",
        "title": "GreyNoise vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/greynoise-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ipinfo-vs-virustotal.json",
        "title": "IPinfo vs VirusTotal",
        "url": "https://www.anchorterminal.com/compare/ipinfo-vs-virustotal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/virustotal-vs-whoisxml-api.json",
        "title": "VirusTotal vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/virustotal-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/censys-vs-ipinfo.json",
        "title": "Censys vs IPinfo",
        "url": "https://www.anchorterminal.com/compare/censys-vs-ipinfo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.json",
        "title": "IPinfo vs Pulsedive",
        "url": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ipinfo-vs-securitytrails.json",
        "title": "IPinfo vs SecurityTrails",
        "url": "https://www.anchorterminal.com/compare/ipinfo-vs-securitytrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ipinfo-vs-shodan.json",
        "title": "IPinfo vs Shodan",
        "url": "https://www.anchorterminal.com/compare/ipinfo-vs-shodan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/censys-vs-whoisxml-api.json",
        "title": "Censys vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/censys-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/securitytrails-vs-whoisxml-api.json",
        "title": "SecurityTrails vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/securitytrails-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/shodan-vs-whoisxml-api.json",
        "title": "Shodan vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/shodan-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pulsedive-vs-whoisxml-api.json",
        "title": "Pulsedive vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/pulsedive-vs-whoisxml-api"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "whoisxml-api",
        "ipinfo": 38,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "whoisxml-api": 65
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "ipinfo",
        "ipinfo": 76,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "whoisxml-api": 70
      },
      {
        "by": 19,
        "edge": "ipinfo",
        "ipinfo": 84,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "whoisxml-api": 65
      },
      {
        "by": 21,
        "edge": "ipinfo",
        "ipinfo": 60,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "whoisxml-api": 39
      },
      {
        "by": 15,
        "edge": "ipinfo",
        "ipinfo": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "whoisxml-api": 25
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "ipinfo",
        "ipinfo": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "whoisxml-api": 76
      },
      {
        "by": 10,
        "edge": "ipinfo",
        "ipinfo": 70,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "whoisxml-api": 60
      }
    ],
    "summary": "IPinfo scores 62.7 (B) on agent readiness against WhoisXML API's 56.8 (C), and leads in 6 of 7 scored categories. WhoisXML API leads on reliability. Both do secintel ip enrichment.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "ipinfo": "A free Lite tier with no request cap, a public OpenAPI document, llms.txt, a batch endpoint of 1,000 lookups and a six-tool hosted MCP server with OAuth. No status page or SLA was found, the only documented error is 429, the token may travel in a query string, and city-level and privacy data need a paid plan.",
      "whoisxml-api": "500 free credits with no card, JSON Schema and XSD for every response, 429s with Retry-After, cache controls that set the price per lookup, and a 35-tool hosted MCP server with OAuth. Per-credit prices sit behind a calculator, the terms confine data to one site and forbid AI training on it, and the key is accepted in the query string."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api",
    "json": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.min.md"
  },
  "markdown": "IPinfo scores 62.7 (B) on agent readiness against WhoisXML API's 56.8 (C), and leads in 6 of 7 scored categories. WhoisXML API leads on reliability. Both do secintel ip enrichment.\n\n- IPinfo: grade B, 62.7/100, rank #464 of 1349. Markdown https://www.anchorterminal.com/tools/ipinfo.md · JSON https://www.anchorterminal.com/api/v1/tools/ipinfo.json\n- WhoisXML API: grade C, 56.8/100, rank #771 of 1349. Markdown https://www.anchorterminal.com/tools/whoisxml-api.md · JSON https://www.anchorterminal.com/api/v1/tools/whoisxml-api.json\n- Best threat and security intelligence APIs for AI agents: https://www.anchorterminal.com/best/security-intelligence/index.md\n- All 33 security intel comparisons: https://www.anchorterminal.com/compare/security-intelligence/index.md\n\n## Which one, for what\n\n### IPinfo (B)\n\nGood for: An agent that needs to enrich an IP with location, network and anonymiser flags at volume, free for country and ASN, paid for city and privacy signals.\n\nAhead on:\n- Schema \u0026 documentation, 76 against 70\n- Agent ergonomics, 84 against 65\n- Security \u0026 auth, 60 against 39\n- Payments \u0026 pricing, 40 against 25\n- Maintenance \u0026 community, 85 against 76\n- Transparency \u0026 trust, 70 against 60\n\nWatch for: No status page, incident history or SLA was found; the terms supply the service as is\n\n### WhoisXML API (C)\n\nGood for: An agent investigating a domain's registration, history, DNS, certificates or related domains at scale, on a prepaid credit pool.\n\nAhead on:\n- Reliability, 65 against 38\n\nWatch for: Per-credit prices are not published outside a calculator; the only public figure is from $129 a month, and orders are non-refundable\n\n\n## Why the edge\n\n### Reliability: WhoisXML API +27\n\n- IPinfo (38): Read with the hosted lines. No status page was found; status.ipinfo.io does not resolve and the site, docs and llms.txt link none (0). No readable history (5). Limits are published with numbers, Lite unlimited, Core 150,000 and Max 250,000 requests a month, with no per-second cap (15). A 429 is documented in the OpenAPI document and the developer page for the monthly quota, and the MCP server maps it to RATE_LIMITED, but no Retry-After or backoff guidance was found; every call is a read (8 of 15). No SLA; the terms supply the service as is and as available (0). The API and the MCP server are generally available (10). 0 + 5 + 15 + 8 + 0 + 10 = 38.\n- WhoisXML API (65): Read with the hosted lines. The vendor's own Service Status and Data Releases page is linked from the docs and describes a per-API JSON status file with four levels (20). It shows no incident history and the status file's live values could not be read, so no 90-day record (5). The docs give 200 requests a second with rejection until the next second; the terms give 50 a second, 20 concurrent and 5 concurrent bulk requests, so numbers are published even though they disagree (15). A 429 AUTHENTICATE_06 carries Retry-After and every response X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, with guidance to slow before zero; all calls are reads (15). No SLA; the terms guarantee no minimum uptime and cite a historical 99.9 per cent, with enterprise SLAs by separate agreement (0). The API is generally available (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.\n\n### Security \u0026 auth: IPinfo +21\n\n- IPinfo (60): One access token per account, accepted as a Bearer header, HTTP Basic or a token query parameter, with no scopes found; the hosted MCP server adds OAuth with short-lived tokens (20 less 10 for the query string, plus 4 for OAuth on the MCP server, so 14). Every endpoint is a read and tools return ACCESS_DENIED outside the plan, but there is no read-only or restricted token (16 of 20). Responses are structured network data rather than third-party free text (10 of 15). The dashboard shows request graphs and lookup history per the pricing page, with no per-call log documented (8 of 15). security.txt valid until 21 August 2027 with a PGP key, a SECURITY.md with 2-day acknowledgement and a 90-day disclosure window, no bug bounty or certification found beyond a bank-grade claim (12 of 20). 14 + 16 + 10 + 8 + 12 = 60.\n- WhoisXML API (39): An API key with no scopes found, accepted as an apiKey query parameter that overrides the Authorization header, or as a Bearer token including a server-to-server OAuth token; an IP allowlist can be set on the account (20 less 10 for the query string, plus 4 for OAuth and the allowlist, so 14). Every call is a read and the MCP server has no write tools, but there is no read-only or restricted key (12 of 20). Records include raw registrar text from third parties with no guidance on treating it as untrusted (5 of 15). The MCP server's account_balance tool reports credits per product and the account page shows usage, with no per-call log documented (5 of 15). security.txt returns 404, no disclosure policy, bug bounty or certification was found, and the payment page names only a PCI-compliant card processor (3 of 20). 14 + 12 + 5 + 5 + 3 = 39.\n\n### Agent ergonomics: IPinfo +19\n\n- IPinfo (84): Field paths such as /country return one value, the Lite and lookup objects are small, and the MCP server has six compact tools with a per-session cache (23 of 25). Batch takes up to 1,000 lookups with filter=1 to drop empty results; no pagination is needed on single lookups, and ASN and range responses have no size control (16 of 20). The only documented error is 429; the MCP server returns coded errors with a message and a suggestion (12 of 20). Every call is a read, batch is a read over POST, and the MCP tools carry tool annotations (18 of 20). One parameter per call, sensible defaults and official SDKs in eleven languages (15). 23 + 16 + 12 + 18 + 15 = 84.\n- WhoisXML API (65): ignoreRawTexts drops the raw text fields, cmd=GET_DN_AVAILABILITY returns a two-field record, and the MCP server's reverse_whois defaults to a count-only mode; the MCP server lists 35 tools, more than 30, with a tool_search for deferred loading over stdio only (17 of 25). The WHOIS API returns one record per call with no pagination; bulk variants take up to 10,000 domains as jobs with status and results tools (8 of 20). Errors carry a code and a message an agent can branch on, though WHOIS_01 names both a validation error on HTTP 200 and an internal error on 500 (14 of 20). Every call is a read, and the cache flags make a repeat cheap, but a retry with _hardRefresh costs 5 credits each time and no annotations were found on the MCP tools (14 of 20). One required parameter, sensible defaults, and official Python and Go client libraries in the vendor's GitHub organisation, last pushed in 2023 (12 of 15). 17 + 8 + 14 + 14 + 12 = 65.\n\n### Payments \u0026 pricing: IPinfo +15\n\n- IPinfo (40): No x402, MPP or L402 (0). Plan prices and per-1,000 overage rates are public on the pricing page (20). Lite is free with no card and no request cap (20). The token comes from the dashboard after a browser signup, and no key API was found (0). 0 + 20 + 20 + 0 = 40.\n- WhoisXML API (25): No x402, MPP or L402 (0). The only public price is from $129 a month for a universal credit pool; per-credit rates are behind a calculator whose output was not read and enterprise packages are by sales (5 of 20). 500 free WHOIS credits on signup with no card (20). The key comes from the account after a browser signup and no key API was found (0). 0 + 5 + 20 + 0 = 25.\n\n### Transparency \u0026 trust: IPinfo +10\n\n- IPinfo (70): A closed service with clear terms naming IPinfo Inc. and the governing law, with the MCP server and SDKs under Apache-2.0 (17 of 30). The privacy policy of 29 October 2026 lists processors, links a DPA and says data is kept as long as needed, with no periods (16 of 30). No deprecation policy; the legacy API is maintained for existing users with no end date (6 of 20). Processors named and hosting in the United States (16 of 20). 17 + 16 + 6 + 16 = 55.\n- WhoisXML API (60): A closed service with clear terms naming Whois API, Inc. and California law, though they confine data to one site, bar sharing it and forbid AI training on it (15 of 30). The privacy policy was last modified on 6 April 2020, cites the Privacy Shield frameworks, keeps data as long as there is a reasonable basis, and names no DPA (6 of 30). Deprecated parameters are listed and still accepted, with no notice periods or policy (8 of 20). No subprocessors or data locations are named (2 of 20). 15 + 6 + 8 + 2 = 31.\n\n### Maintenance \u0026 community: IPinfo +9\n\n- IPinfo (85): Read as a closed service with an official MCP server and SDKs. MCP server v0.2.3 on 29 October 2026, a commit on 3 November, and SDK repositories pushed in October and November (30). Eight MCP releases since 8 September 2026, v0.1.12 to v0.2.3 (20). GitHub releases for the MCP server, a community forum, a help centre and a support form, but no changelog for the API and GitHub issue pages could not be read (10 of 15). The MCP server is in the official registry as io.github.ipinfo/mcp and the SDKs are official (15). The MCP package has tests, CI with pinned actions, CodeQL and Scorecard workflows and a lock file (10). 30 + 20 + 10 + 15 + 10 = 85.\n- WhoisXML API (76): Read as a closed service with an official MCP server. MCP server 1.13.0 was published in the official registry on 3 November 2026 and the ProfessionalServices and ipgeo-community repositories were pushed the same day (30). 1.8.6 on 8 September through 1.13.0 on 3 November 2026 is nine registry versions in 90 days (20). Product updates are summarised in yearly press releases, the newest 9 May 2025, support is a contact form with tiered response times sold separately, and the client library repositories were last pushed in 2023 (8 of 15). The MCP server is in the official registry under io.github.whois-api-llc, and official Python and Go clients exist (15). The MCP server's source was not found on GitHub, and the SDK repositories show no activity since 2023 (3 of 10). 30 + 20 + 8 + 15 + 3 = 76.\n\n## Score by category\n\n| Category | Weight | IPinfo | WhoisXML API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 65 | WhoisXML API +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 70 | IPinfo +6 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 65 | IPinfo +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 39 | IPinfo +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 25 | IPinfo +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 76 | IPinfo +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 60 | IPinfo +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.7 · B** | **56.8 · C** | |\n\n## Facts side by side\n\n| Fact | IPinfo | WhoisXML API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | IPinfo Inc. | Whois API, Inc. |\n| Hosted endpoint | `https://mcp.ipinfo.io/` | `https://mcp-hosted.whoisxmlapi.com/mcp` |\n| Transports | Streamable HTTP, stdio | Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Tools exposed | 6 | 35 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.ipinfo/mcp` | `io.github.whois-api-llc/mcp-whoisxmlapi` |\n| Last release | 2026-10-29 | 2026-11-03 |\n| Terms last updated | 2024-06-03 | 2025-03-03 |\n| Privacy policy last updated | 2026-10-29 | 2020-04-06 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 2 stars | none |\n\n## Verdicts\n\n**IPinfo.** A free Lite tier with no request cap, a public OpenAPI document, llms.txt, a batch endpoint of 1,000 lookups and a six-tool hosted MCP server with OAuth. No status page or SLA was found, the only documented error is 429, the token may travel in a query string, and city-level and privacy data need a paid plan.\n\n**WhoisXML API.** 500 free credits with no card, JSON Schema and XSD for every response, 429s with Retry-After, cache controls that set the price per lookup, and a 35-tool hosted MCP server with OAuth. Per-credit prices sit behind a calculator, the terms confine data to one site and forbid AI training on it, and the key is accepted in the query string.\n\n## Before you call either\n\n### IPinfo\n\n1. Call `https://api.ipinfo.io/lite/{ip}` with `Authorization: Bearer` on a free token; `/lookup/{ip}` and `detailed=true` in the MCP tools return ACCESS_DENIED without a paid plan\n2. Batch up to 1,000 addresses in one POST to `/batch/lite` or `/batch` with `filter=1`; each address counts as one request against the monthly quota\n3. Append a field path such as `/country` or `/asn` to get a single plain-text value instead of the full object\n4. On a 429 the monthly plan quota is spent; there is no Retry-After, so stop and report rather than retry\n5. Treat the data as licensed for internal use; selling or reselling it needs IPinfo's written consent under the terms\n\n### WhoisXML API\n\n1. Send the key as `Authorization: Bearer` and `outputFormat=JSON`; the default output is XML and an `apiKey` query parameter overrides the header\n2. Leave the cache flags alone for 1 credit a lookup; `_hardRefresh=1` costs 5 credits, and `_dbOnly=1` returns WHOIS_03 when nothing is cached\n3. Read `audit.updatedDate` before trusting a record, and check `dataError` for MASKED_WHOIS_DATA or PARTIAL_DATA\n4. Watch `X-RateLimit-Remaining` and on 429 AUTHENTICATE_06 wait for `Retry-After`; a 401 AUTHENTICATE_05 means the balance is spent, so stop\n5. Keep results inside the customer's own systems; the terms forbid passing data to third parties or using it to train models\n\n## Questions\n\n### Which is better for AI agents, IPinfo or WhoisXML API?\n\nIPinfo scores 62.7 (B) on agent readiness against WhoisXML API's 56.8 (C), and leads in 6 of 7 scored categories. WhoisXML API leads on reliability.\n\n### Do IPinfo and WhoisXML API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call IPinfo and WhoisXML API without installing anything?\n\nYes. IPinfo has a hosted endpoint at https://mcp.ipinfo.io/ and WhoisXML API at https://mcp-hosted.whoisxmlapi.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ipinfo\", \"b\": \"whoisxml-api\"}`. From a terminal: `anchor compare ipinfo whoisxml-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ipinfo.json and https://www.anchorterminal.com/api/v1/tools/whoisxml-api.json\n\n## Other comparisons with IPinfo or WhoisXML API\n\n- [AbuseIPDB vs IPinfo](https://www.anchorterminal.com/compare/abuseipdb-vs-ipinfo.md)\n- [AbuseIPDB vs WhoisXML API](https://www.anchorterminal.com/compare/abuseipdb-vs-whoisxml-api.md)\n- [GreyNoise vs IPinfo](https://www.anchorterminal.com/compare/greynoise-vs-ipinfo.md)\n- [GreyNoise vs WhoisXML API](https://www.anchorterminal.com/compare/greynoise-vs-whoisxml-api.md)\n- [IPinfo vs VirusTotal](https://www.anchorterminal.com/compare/ipinfo-vs-virustotal.md)\n- [VirusTotal vs WhoisXML API](https://www.anchorterminal.com/compare/virustotal-vs-whoisxml-api.md)\n- [Censys vs IPinfo](https://www.anchorterminal.com/compare/censys-vs-ipinfo.md)\n- [IPinfo vs Pulsedive](https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.md)\n- [IPinfo vs SecurityTrails](https://www.anchorterminal.com/compare/ipinfo-vs-securitytrails.md)\n- [IPinfo vs Shodan](https://www.anchorterminal.com/compare/ipinfo-vs-shodan.md)\n- [Censys vs WhoisXML API](https://www.anchorterminal.com/compare/censys-vs-whoisxml-api.md)\n- [SecurityTrails vs WhoisXML API](https://www.anchorterminal.com/compare/securitytrails-vs-whoisxml-api.md)\n- [Shodan vs WhoisXML API](https://www.anchorterminal.com/compare/shodan-vs-whoisxml-api.md)\n- [Pulsedive vs WhoisXML API](https://www.anchorterminal.com/compare/pulsedive-vs-whoisxml-api.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "IPinfo vs WhoisXML API",
        "url": ""
      }
    ],
    "description": "IPinfo scores 62.7 (B) to WhoisXML's 56.8 (C) for secintel ip enrichment. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "IPinfo B 62.7",
      "WhoisXML API C 56.8",
      "scores"
    ],
    "h1": "IPinfo vs WhoisXML API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/ipinfo-vs-whoisxml-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "IPinfo vs WhoisXML for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api"
  },
  "tokens": {
    "markdown": 4300,
    "slim": 2680
  },
  "version": 1
}
