{
  "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": 494,
        "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-04T21:27:55.175680565Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 141,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 155,
          "p95ms24h": 410,
          "samples24h": 62,
          "samples30d": 62,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 62,
              "ok": 62
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "ipinfo/mcp",
            "version": "v0.2.3",
            "released": "2026-10-29",
            "seenAt": "2026-11-04T20:26:26.080174035Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.ipinfo/mcp",
            "version": "0.2.3",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "pypi",
            "name": "ipinfo-mcp-server",
            "version": "0.2.3",
            "released": "2026-10-29",
            "seenAt": "2026-11-04T20:26:25.272903794Z"
          }
        ],
        "githubStars": 2,
        "pypiWeekly": 264,
        "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-04T21:27:55.175680565Z"
      }
    },
    "answer": "IPinfo scores 62.7 (B) on agent readiness against Pulsedive's 47.9 (D), and leads in 5 of 7 scored categories. Pulsedive leads on payments \u0026 pricing.",
    "b": {
      "slug": "pulsedive",
      "name": "Pulsedive",
      "vendor": "Pulsedive LLC",
      "vendorUrl": "https://pulsedive.com",
      "kind": "http-api",
      "category": "security-intelligence",
      "summary": "Pulsedive is a threat intelligence platform from Pulsedive LLC in New Jersey. Its API looks up domains, IP addresses and URLs for risk scores, linked threats and feeds, scans new indicators on demand and exports STIX over TAXII 2.1.",
      "url": "https://www.anchorterminal.com/tools/pulsedive",
      "markdownUrl": "https://www.anchorterminal.com/tools/pulsedive.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pulsedive.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pulsedive.json",
      "dns": "pulsedive.grade.anchorterminal.com",
      "transports": [],
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key from the account page after a free browser signup, sent only as a `key` query parameter. Requests without a key are accepted at a much lower limit (10 a day and 100 a month per the March 2024 plan post). No scopes, rotation or header option was found. The TAXII server takes the key by HTTP Basic or query parameter.",
      "pricing": "freemium",
      "pricingNotes": "Free registered account, no card, 50 API requests a day and 500 a month per the March 2024 plan post. Pro $29 a month (250 a day, 2,500 a month) per the site menu and that post, which also gave Team API $300 a month for 25,000 requests and Business API $900 a month for 100,000 with soft limits, Custom by contact, and feed subscriptions from $1,500 to $3,000 a month. The current pricing pages render by script, so the 2024 figures for Team and Business are the latest read.",
      "priceSummary": "$29 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI files, the terms or the plan posts (checked 2026-11-03). A spent quota answers 429 with an error string that points to the plan page.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.pulsedive.com/",
      "llmsTxt": "https://docs.pulsedive.com/llms.txt",
      "openapi": "https://docs.pulsedive.com/api/indicator/indicator-by-value.yaml",
      "capabilities": [
        "secintel.indicators",
        "secintel.reputation",
        "secintel.dns",
        "secintel.ip-enrichment"
      ],
      "tags": [
        "hosted",
        "freemium",
        "no-card",
        "free-tier",
        "no-auth",
        "api-key",
        "llms-txt",
        "openapi",
        "async-jobs",
        "closed-source",
        "no-status-page"
      ],
      "lastRelease": "2026-10-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.9,
        "grade": "D",
        "agentReady": false,
        "rank": 1047,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 64,
          "maintenance": 40,
          "payments": 50,
          "reliability": 31,
          "schema": 77,
          "security": 23,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Lookups work with no key at all, a free account allows 50 requests a day, and the docs ship llms.txt, per-endpoint OpenAPI files and timestamps for every scan. The key travels only in the query string, numeric limits live in a 2024 blog post rather than the docs, and there is no status page, SLA, security.txt or official SDK.",
        "bestFor": "An agent that needs a quick risk verdict and linked threats for a domain, IP or URL with no signup, or a passive scan of a new indicator.",
        "strengths": [
          "Keyless lookups and a free account with no card (50 requests a day, 500 a month per the March 2024 plan post)",
          "llms.txt, Markdown docs, eleven OpenAPI 3.0.3 files and a docs MCP server, all published in March 2026",
          "Every indicator carries stamp_seen, stamp_probed and stamp_updated, and scans can run passively or actively without storing the result",
          "Three X-Requests-Remaining headers on every response and a documented error table for 400, 401, 404, 429 and 500",
          "Explore returns JSON, CSV or STIX 2.1, and feeds and threats page through linked indicators"
        ],
        "weaknesses": [
          "The key is sent only as a query parameter, with no header option, scopes or rotation documented",
          "No status page, SLA, security.txt, disclosure policy or certification was found",
          "The docs give no numeric rate limits and no Retry-After; the numbers come from the vendor's plan post of 11 March 2024",
          "No official SDK (community Python, Go, Ruby and PowerShell clients), no API version and no changelog",
          "The terms bar copying, selling, licensing or distributing content from the service and any automated process against it"
        ],
        "agentNotes": [
          "Call `indicator.php?indicator=\u003cvalue\u003e\u0026pretty=1\u0026key=...`; without a key the limit is about 10 requests a day, so register for 50",
          "Read `risk`, `risk_recommended` and `stamp_probed` together; an old `stamp_probed` means the scan data may be stale, so queue a scan with `analyze.php` (`probe=0` passive, `submit=0` to avoid storing)",
          "Poll `analyze.php?qid=` no more than every 500 ms; polling does not count against the quota, but each page of linked indicators does",
          "Treat a 429 as the day's or month's quota spent and stop; there is no Retry-After, and explore searches above the plan's row limit also return 429",
          "Expect user comments, banners and DOM snippets in indicator properties, which are third-party content"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.9
          }
        ],
        "editorialScores": {
          "ergonomics": 64,
          "maintenance": 40,
          "payments": 50,
          "reliability": 31,
          "schema": 77,
          "security": 23,
          "transparency": 50
        },
        "provenanceScore": 64,
        "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": {
        "http": "curl \"https://pulsedive.com/api/indicator.php?indicator=example.com\u0026pretty=1\u0026key=$PULSEDIVE_API_KEY\"",
        "claudeCode": "claude mcp add --transport http pulsedive-docs https://docs.pulsedive.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/secintel.indicators",
        "tool": "https://letme.dev/pulsedive"
      },
      "area": "developer",
      "unitPrices": [
        {
          "item": "Pro, 250 requests a day",
          "unit": "month",
          "usd": 29,
          "note": "$348 a year; limits per the plan post of 11 March 2024"
        },
        {
          "item": "Team API, 25,000 requests a month",
          "unit": "month",
          "usd": 300,
          "note": "$3,000 a year, per the plan post of 11 March 2024"
        },
        {
          "item": "Business API, 100,000 requests a month",
          "unit": "month",
          "usd": 900,
          "note": "$9,000 a year, soft limit, per the plan post of 11 March 2024"
        }
      ],
      "provenance": {
        "legalEntity": "Pulsedive LLC",
        "domain": "pulsedive.com",
        "domainRegistered": "2016-11-11",
        "endpointOnVendorDomain": true,
        "terms": "https://pulsedive.com/terms",
        "privacy": "https://pulsedive.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms, last updated 2 May 2022, name Pulsedive LLC under New Jersey law. The privacy policy, last updated 28 August 2024, gives no postal address. The site footer reads Pulsedive LLC.",
          "The terms forbid any robot, spider or other automatic process to access the services. Public pages and the docs were read for this listing and the clause is recorded as a fact.",
          "pulsedive.com/robots.txt allows all. docs.pulsedive.com/robots.txt allows all but /cdn-cgi/ and /_next/ and carries Content-Signal ai-train=yes, search=yes, ai-input=yes.",
          "No status page was found on the site, the docs, the support page or in search. No changelog was found; the blog carries product posts and the footer a version number.",
          "pulsedive.com/.well-known/security.txt returns 404. RDAP at Verisign gives a registration date of 11 November 2016."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pulsedive.json",
      "live": {
        "slug": "pulsedive",
        "securityTxt": {
          "url": "https://pulsedive.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:46.13864767Z"
        },
        "updatedAt": "2026-11-04T15:54:46.13864767Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "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. The site footer shows version 6.3.18 dated 27 October, seven days before the check, and the newest blog post is 29 September 2026 (30). No changelog lists releases, so three dated changes in 90 days could not be shown (0 of 20). A Discord, support@pulsedive.com, a contact form and a docs troubleshooting section; the GitHub feedback repository is archived since 2020 (10 of 15). No entry in the official MCP registry (the docs MCP server is not listed and the registry's pulsedive entries are third-party) and no official SDK (0 of 15). No official packages to assess (0 of 10). 30 + 0 + 10 + 0 + 0 = 40."
        },
        "scores": {
          "a": 85,
          "b": 40
        }
      },
      {
        "by": 37,
        "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": "One key per account sent only as a query parameter, with no scopes, header option or rotation documented (10 for one all-powerful key less 10 for the query string, so 0). Lookups read, submit=1 writes to the public dataset and keyless use is read-only in practice, but there is no read-only key (10 of 20). Responses include community comments, banners and DOM snippets from scans with no guidance on treating them as untrusted (3 of 15). The privacy policy says web and API logs are available from the account page (10 of 15). security.txt returns 404 and no disclosure policy, bug bounty or certification was found (0 of 20). 0 + 10 + 3 + 10 + 0 = 23."
        },
        "scores": {
          "a": 60,
          "b": 23
        }
      },
      {
        "by": 20,
        "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": "limit on explore, pretty, get=links or properties, historical and schema flags, and submit=0 keeps a scan out of the dataset, but an indicator record carries every property group with no field selection (16 of 25). Linked indicators page with page_current and page_next, 1 to 10 pages per request by plan, explore rows capped by tier, and CSV or STIX output (14 of 20). Errors are a single string with a status code; the 429 body names the limit (12 of 20). Every lookup is a GET, scanning an existing indicator updates it, and polling by qid is free (14 of 20). One required parameter per call and keyless defaults, but no official SDK (8 of 15). 16 + 14 + 12 + 14 + 8 = 64."
        },
        "scores": {
          "a": 84,
          "b": 64
        }
      },
      {
        "by": 13,
        "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 terms naming Pulsedive LLC and New Jersey law, with the OpenAPI files under Apache 2.0 (15 of 30). The privacy policy of 28 August 2024 lists processors and what is logged, keeps deleted-account data for compliance with no periods, and names no DPA; an enterprise privacy page exists and was not read (14 of 30). The recent field is marked deprecated in the spec with no date and there is no policy (5 of 20). DigitalOcean, Plausible, Stripe, SendGrid, Google Workspace, Monday, QuickBooks and Typeform named, storage in the United States (16 of 20). 15 + 14 + 5 + 16 = 50."
        },
        "scores": {
          "a": 70,
          "b": 57
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "pulsedive",
        "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). Pro $29 a month is on the site menu and the Team and Business API prices are in the vendor's plan post of 11 March 2024, sold as monthly quotas rather than per call (10). A free account needs no card (20). Requests without a key are accepted, so an agent can look up an indicator with no signup at about 10 a day (20). 0 + 10 + 20 + 20 = 50."
        },
        "scores": {
          "a": 40,
          "b": 50
        }
      },
      {
        "by": 7,
        "category": "reliability",
        "leads": "ipinfo",
        "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. No status page was found on the site, the docs, the support page or in search (0). No readable history (5). The limits page names Free, Pro, Commercial and Enterprise tiers and three remaining-request headers but gives no numbers, pointing to the account page; the vendor's plan post of 11 March 2024 gives 50 a day on Free and 250 on Pro (8 of 15). A 429 returns a JSON error naming the limit and the headers show what remains, with no Retry-After or backoff guidance; scans are safe to repeat and polling is free (8 of 15). No SLA; the terms supply the services as is and as available (0). The API is generally available (10). 0 + 5 + 8 + 8 + 0 + 10 = 31."
        },
        "scores": {
          "a": 38,
          "b": 31
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "IPinfo Inc.",
        "b": "Pulsedive LLC",
        "name": "Vendor"
      },
      {
        "a": "https://mcp.ipinfo.io/",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "Streamable HTTP, stdio",
        "b": "",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "6",
        "b": "0",
        "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": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-27",
        "name": "Last release"
      },
      {
        "a": "2024-06-03",
        "b": "2022-05-02",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-29",
        "b": "2024-08-28",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "IPinfo scores 62.7 (B) on agent readiness against Pulsedive's 47.9 (D), and leads in 5 of 7 scored categories. Pulsedive leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, IPinfo or Pulsedive?"
      },
      {
        "answer": "IPinfo takes an API key or an OAuth sign-in. Pulsedive needs an API key.",
        "question": "Do IPinfo and Pulsedive need an API key?"
      },
      {
        "answer": "IPinfo has a hosted endpoint at https://mcp.ipinfo.io/. No hosted endpoint is listed for Pulsedive.",
        "question": "Can an agent call IPinfo and Pulsedive without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 38 against 31",
          "Agent ergonomics, 84 against 64",
          "Security \u0026 auth, 60 against 23",
          "Maintenance \u0026 community, 85 against 40",
          "Transparency \u0026 trust, 70 against 57"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "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": [
          "Payments \u0026 pricing, 50 against 40"
        ],
        "also": null,
        "goodFor": "An agent that needs a quick risk verdict and linked threats for a domain, IP or URL with no signup, or a passive scan of a new indicator.",
        "slug": "pulsedive",
        "watchFor": "The key is sent only as a query parameter, with no header option, scopes or rotation documented"
      }
    ],
    "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-pulsedive.json",
        "title": "AbuseIPDB vs Pulsedive",
        "url": "https://www.anchorterminal.com/compare/abuseipdb-vs-pulsedive"
      },
      {
        "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-pulsedive.json",
        "title": "GreyNoise vs Pulsedive",
        "url": "https://www.anchorterminal.com/compare/greynoise-vs-pulsedive"
      },
      {
        "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/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-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/ipinfo-vs-whoisxml-api.json",
        "title": "IPinfo vs WhoisXML API",
        "url": "https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.json",
        "title": "Pulsedive vs SecurityTrails",
        "url": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails"
      },
      {
        "json": "https://www.anchorterminal.com/compare/censys-vs-pulsedive.json",
        "title": "Censys vs Pulsedive",
        "url": "https://www.anchorterminal.com/compare/censys-vs-pulsedive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pulsedive-vs-shodan.json",
        "title": "Pulsedive vs Shodan",
        "url": "https://www.anchorterminal.com/compare/pulsedive-vs-shodan"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pulsedive-vs-virustotal.json",
        "title": "Pulsedive vs VirusTotal",
        "url": "https://www.anchorterminal.com/compare/pulsedive-vs-virustotal"
      },
      {
        "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": 7,
        "edge": "ipinfo",
        "ipinfo": 38,
        "key": "reliability",
        "name": "Reliability",
        "pulsedive": 31,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "pulsedive",
        "ipinfo": 76,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pulsedive": 77,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "ipinfo",
        "ipinfo": 84,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pulsedive": 64,
        "weight": 13
      },
      {
        "by": 37,
        "edge": "ipinfo",
        "ipinfo": 60,
        "key": "security",
        "name": "Security \u0026 auth",
        "pulsedive": 23,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "pulsedive",
        "ipinfo": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pulsedive": 50,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 45,
        "edge": "ipinfo",
        "ipinfo": 85,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pulsedive": 40,
        "weight": 7
      },
      {
        "by": 13,
        "edge": "ipinfo",
        "ipinfo": 70,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pulsedive": 57,
        "weight": 7
      }
    ],
    "summary": "IPinfo scores 62.7 (B) on agent readiness against Pulsedive's 47.9 (D), and leads in 5 of 7 scored categories. Pulsedive leads on payments \u0026 pricing. 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.",
      "pulsedive": "Lookups work with no key at all, a free account allows 50 requests a day, and the docs ship llms.txt, per-endpoint OpenAPI files and timestamps for every scan. The key travels only in the query string, numeric limits live in a 2024 blog post rather than the docs, and there is no status page, SLA, security.txt or official SDK."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive",
    "json": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.min.md"
  },
  "markdown": "IPinfo scores 62.7 (B) on agent readiness against Pulsedive's 47.9 (D), and leads in 5 of 7 scored categories. Pulsedive leads on payments \u0026 pricing. Both do secintel ip enrichment.\n\n- IPinfo: grade B, 62.7/100, rank #494 of 1349. Markdown https://www.anchorterminal.com/tools/ipinfo.md · JSON https://www.anchorterminal.com/api/v1/tools/ipinfo.json\n- Pulsedive: grade D, 47.9/100, rank #1047 of 1349. Markdown https://www.anchorterminal.com/tools/pulsedive.md · JSON https://www.anchorterminal.com/api/v1/tools/pulsedive.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- Reliability, 38 against 31\n- Agent ergonomics, 84 against 64\n- Security \u0026 auth, 60 against 23\n- Maintenance \u0026 community, 85 against 40\n- Transparency \u0026 trust, 70 against 57\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: No status page, incident history or SLA was found; the terms supply the service as is\n\n### Pulsedive (D)\n\nGood for: An agent that needs a quick risk verdict and linked threats for a domain, IP or URL with no signup, or a passive scan of a new indicator.\n\nAhead on:\n- Payments \u0026 pricing, 50 against 40\n\nWatch for: The key is sent only as a query parameter, with no header option, scopes or rotation documented\n\n\n## Why the edge\n\n### Maintenance \u0026 community: IPinfo +45\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- Pulsedive (40): Read as a closed service. The site footer shows version 6.3.18 dated 27 October, seven days before the check, and the newest blog post is 29 September 2026 (30). No changelog lists releases, so three dated changes in 90 days could not be shown (0 of 20). A Discord, support@pulsedive.com, a contact form and a docs troubleshooting section; the GitHub feedback repository is archived since 2020 (10 of 15). No entry in the official MCP registry (the docs MCP server is not listed and the registry's pulsedive entries are third-party) and no official SDK (0 of 15). No official packages to assess (0 of 10). 30 + 0 + 10 + 0 + 0 = 40.\n\n### Security \u0026 auth: IPinfo +37\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- Pulsedive (23): One key per account sent only as a query parameter, with no scopes, header option or rotation documented (10 for one all-powerful key less 10 for the query string, so 0). Lookups read, submit=1 writes to the public dataset and keyless use is read-only in practice, but there is no read-only key (10 of 20). Responses include community comments, banners and DOM snippets from scans with no guidance on treating them as untrusted (3 of 15). The privacy policy says web and API logs are available from the account page (10 of 15). security.txt returns 404 and no disclosure policy, bug bounty or certification was found (0 of 20). 0 + 10 + 3 + 10 + 0 = 23.\n\n### Agent ergonomics: IPinfo +20\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- Pulsedive (64): limit on explore, pretty, get=links or properties, historical and schema flags, and submit=0 keeps a scan out of the dataset, but an indicator record carries every property group with no field selection (16 of 25). Linked indicators page with page_current and page_next, 1 to 10 pages per request by plan, explore rows capped by tier, and CSV or STIX output (14 of 20). Errors are a single string with a status code; the 429 body names the limit (12 of 20). Every lookup is a GET, scanning an existing indicator updates it, and polling by qid is free (14 of 20). One required parameter per call and keyless defaults, but no official SDK (8 of 15). 16 + 14 + 12 + 14 + 8 = 64.\n\n### Transparency \u0026 trust: IPinfo +13\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- Pulsedive (57): A closed service with terms naming Pulsedive LLC and New Jersey law, with the OpenAPI files under Apache 2.0 (15 of 30). The privacy policy of 28 August 2024 lists processors and what is logged, keeps deleted-account data for compliance with no periods, and names no DPA; an enterprise privacy page exists and was not read (14 of 30). The recent field is marked deprecated in the spec with no date and there is no policy (5 of 20). DigitalOcean, Plausible, Stripe, SendGrid, Google Workspace, Monday, QuickBooks and Typeform named, storage in the United States (16 of 20). 15 + 14 + 5 + 16 = 50.\n\n### Payments \u0026 pricing: Pulsedive +10\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- Pulsedive (50): No x402, MPP or L402 (0). Pro $29 a month is on the site menu and the Team and Business API prices are in the vendor's plan post of 11 March 2024, sold as monthly quotas rather than per call (10). A free account needs no card (20). Requests without a key are accepted, so an agent can look up an indicator with no signup at about 10 a day (20). 0 + 10 + 20 + 20 = 50.\n\n### Reliability: IPinfo +7\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- Pulsedive (31): Read with the hosted lines. No status page was found on the site, the docs, the support page or in search (0). No readable history (5). The limits page names Free, Pro, Commercial and Enterprise tiers and three remaining-request headers but gives no numbers, pointing to the account page; the vendor's plan post of 11 March 2024 gives 50 a day on Free and 250 on Pro (8 of 15). A 429 returns a JSON error naming the limit and the headers show what remains, with no Retry-After or backoff guidance; scans are safe to repeat and polling is free (8 of 15). No SLA; the terms supply the services as is and as available (0). The API is generally available (10). 0 + 5 + 8 + 8 + 0 + 10 = 31.\n\n## Score by category\n\n| Category | Weight | IPinfo | Pulsedive | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 38 | 31 | IPinfo +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 76 | 77 | Pulsedive +1 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 64 | IPinfo +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 23 | IPinfo +37 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 50 | Pulsedive +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 85 | 40 | IPinfo +45 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 70 | 57 | IPinfo +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.7 · B** | **47.9 · D** | |\n\n## Facts side by side\n\n| Fact | IPinfo | Pulsedive |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | IPinfo Inc. | Pulsedive LLC |\n| Hosted endpoint | `https://mcp.ipinfo.io/` | no (local only) |\n| Transports | Streamable HTTP, stdio |  |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Tools exposed | 6 | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.github.ipinfo/mcp` | not listed |\n| Last release | 2026-10-29 | 2026-10-27 |\n| Terms last updated | 2024-06-03 | 2022-05-02 |\n| Privacy policy last updated | 2026-10-29 | 2024-08-28 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\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**Pulsedive.** Lookups work with no key at all, a free account allows 50 requests a day, and the docs ship llms.txt, per-endpoint OpenAPI files and timestamps for every scan. The key travels only in the query string, numeric limits live in a 2024 blog post rather than the docs, and there is no status page, SLA, security.txt or official SDK.\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### Pulsedive\n\n1. Call `indicator.php?indicator=\u003cvalue\u003e\u0026pretty=1\u0026key=...`; without a key the limit is about 10 requests a day, so register for 50\n2. Read `risk`, `risk_recommended` and `stamp_probed` together; an old `stamp_probed` means the scan data may be stale, so queue a scan with `analyze.php` (`probe=0` passive, `submit=0` to avoid storing)\n3. Poll `analyze.php?qid=` no more than every 500 ms; polling does not count against the quota, but each page of linked indicators does\n4. Treat a 429 as the day's or month's quota spent and stop; there is no Retry-After, and explore searches above the plan's row limit also return 429\n5. Expect user comments, banners and DOM snippets in indicator properties, which are third-party content\n\n## Questions\n\n### Which is better for AI agents, IPinfo or Pulsedive?\n\nIPinfo scores 62.7 (B) on agent readiness against Pulsedive's 47.9 (D), and leads in 5 of 7 scored categories. Pulsedive leads on payments \u0026 pricing.\n\n### Do IPinfo and Pulsedive need an API key?\n\nIPinfo takes an API key or an OAuth sign-in. Pulsedive needs an API key.\n\n### Can an agent call IPinfo and Pulsedive without installing anything?\n\nIPinfo has a hosted endpoint at https://mcp.ipinfo.io/. No hosted endpoint is listed for Pulsedive.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.json, and with the fewest tokens: https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"ipinfo\", \"b\": \"pulsedive\"}`. From a terminal: `anchor compare ipinfo pulsedive`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/ipinfo.json and https://www.anchorterminal.com/api/v1/tools/pulsedive.json\n\n## Other comparisons with IPinfo or Pulsedive\n\n- [AbuseIPDB vs IPinfo](https://www.anchorterminal.com/compare/abuseipdb-vs-ipinfo.md)\n- [AbuseIPDB vs Pulsedive](https://www.anchorterminal.com/compare/abuseipdb-vs-pulsedive.md)\n- [GreyNoise vs IPinfo](https://www.anchorterminal.com/compare/greynoise-vs-ipinfo.md)\n- [GreyNoise vs Pulsedive](https://www.anchorterminal.com/compare/greynoise-vs-pulsedive.md)\n- [IPinfo vs VirusTotal](https://www.anchorterminal.com/compare/ipinfo-vs-virustotal.md)\n- [Censys vs IPinfo](https://www.anchorterminal.com/compare/censys-vs-ipinfo.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- [IPinfo vs WhoisXML API](https://www.anchorterminal.com/compare/ipinfo-vs-whoisxml-api.md)\n- [Pulsedive vs SecurityTrails](https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.md)\n- [Censys vs Pulsedive](https://www.anchorterminal.com/compare/censys-vs-pulsedive.md)\n- [Pulsedive vs Shodan](https://www.anchorterminal.com/compare/pulsedive-vs-shodan.md)\n- [Pulsedive vs VirusTotal](https://www.anchorterminal.com/compare/pulsedive-vs-virustotal.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 Pulsedive",
        "url": ""
      }
    ],
    "description": "IPinfo scores 62.7 (B) to Pulsedive's 47.9 (D) for secintel ip enrichment. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "IPinfo B 62.7",
      "Pulsedive D 47.9",
      "scores"
    ],
    "h1": "IPinfo vs Pulsedive",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/ipinfo-vs-pulsedive",
    "published": "2026-10-01",
    "section": "tools",
    "title": "IPinfo vs Pulsedive for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/ipinfo-vs-pulsedive"
  },
  "tokens": {
    "markdown": 4050,
    "slim": 2480
  },
  "version": 1
}
