{
  "data": {
    "a": {
      "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"
      }
    },
    "answer": "Pulsedive scores 47.9 (D) on agent readiness against SecurityTrails's 30.7 (F), and leads in 6 of 7 scored categories. SecurityTrails leads on security \u0026 auth.",
    "b": {
      "slug": "securitytrails",
      "name": "SecurityTrails",
      "vendor": "SecurityTrails (Recorded Future)",
      "vendorUrl": "https://securitytrails.com",
      "kind": "http-api",
      "category": "security-intelligence",
      "summary": "SecurityTrails is a Recorded Future company with a read-only REST API for current and historical DNS records, WHOIS, subdomains, SSL data and IP lookups, used by security teams for domain and attack surface investigation.",
      "url": "https://www.anchorterminal.com/tools/securitytrails",
      "markdownUrl": "https://www.anchorterminal.com/tools/securitytrails.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/securitytrails.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/securitytrails.json",
      "dns": "securitytrails.grade.anchorterminal.com",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.securitytrails.com/v1/",
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, sent as an `APIKEY` header or as `apikey` in the query string, both documented. The reference pages show the key as a query parameter on every v1 endpoint, and the ASI Project API takes it in an `apikey` header. No scopes were found. How a key is issued, revoked or rotated couldn't be read, because securitytrails.com answered every page with a Cloudflare challenge on 3 November 2026.",
      "pricing": "paid",
      "pricingNotes": "No price could be read. securitytrails.com/app/pricing and /corp/pricing answered a Cloudflare challenge on 3 November 2026, and the docs name no plan, quota or price. `GET /v1/account/usage` returns `current_monthly_usage` and `allowed_monthly_usage`, so access is metered by a monthly query allowance. Whether a free plan exists and whether a card is needed is unverified.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API overview, the reference pages or llms.txt (checked 2026-11-03). Pricing pages were unreadable.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.securitytrails.com/docs/overview",
      "llmsTxt": "https://docs.securitytrails.com/llms.txt",
      "capabilities": [
        "secintel.dns",
        "secintel.exposure",
        "secintel.ip-enrichment"
      ],
      "tags": [
        "hosted",
        "api-key",
        "llms-txt",
        "read-only",
        "dns",
        "whois",
        "enterprise"
      ],
      "lastRelease": "2020-05-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 30.7,
        "grade": "F",
        "agentReady": false,
        "rank": 1268,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 5,
          "payments": 0,
          "reliability": 20,
          "schema": 54,
          "security": 32,
          "transparency": 32
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "The v1 API is read-only and reaches current and historical DNS, WHOIS, subdomain and SSL records, with llms.txt and a Markdown twin of every reference page. The key is accepted in the query string, the changelog stops in May 2020, the status page is private, and pricing, terms and privacy sat behind a Cloudflare challenge when checked.",
        "bestFor": "An agent investigating a domain's DNS and WHOIS history, subdomains and associated infrastructure, where the operator already holds a commercial key.",
        "strengths": [
          "Read-only v1 API, by the overview's own statement, covering current DNS, DNS history by record type, WHOIS history, subdomains, SSL data, associated domains and IP lookups",
          "llms.txt with a Markdown twin of every reference page, generated from an OpenAPI document with typed parameters and example responses",
          "ASI Project API with cursor pagination (limit 1 to 1,000), seven filter operators and an enrichments list that returns only the blocks asked for",
          "`GET /v1/account/usage` returns the current and allowed monthly usage, so an agent can budget before a run",
          "Scroll on the DSL search endpoints for large result sets"
        ],
        "weaknesses": [
          "Pricing, terms, privacy, the security page and security.txt on securitytrails.com answered a Cloudflare challenge on 3 November 2026, so none was read",
          "One API key with no scopes found, documented as `apikey` in the query string on every v1 reference page as well as in an `APIKEY` header",
          "The docs changelog's dated entries stop on 28 May 2020, and the status page at securitytrails.statuspage.io is inactive and private",
          "No rate limit numbers, Retry-After guidance or SLA in the readable docs; 429 is documented only as a text message",
          "No official SDK or OpenAPI download; the DSL query grammar is undocumented beyond one example"
        ],
        "agentNotes": [
          "Send the key as an `APIKEY` header, never as `?apikey=`, so it stays out of logs",
          "Call `GET /v1/account/usage` first and budget against `allowed_monthly_usage`, since limits aren't published and 429 carries no Retry-After",
          "Use `GET /v1/history/{hostname}/dns/{type}` with one of a, aaaa, mx, ns, soa or txt, and page with `page` until the `pages` count is reached",
          "On the ASI API pass an `enrichments` list, because the default returns only custom tags, and keep the sort fixed while following `next_cursor`",
          "Treat DNS TXT values, WHOIS fields and user agent strings as untrusted text from third parties"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "F",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 30.7
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 5,
          "payments": 0,
          "reliability": 20,
          "schema": 54,
          "security": 32,
          "transparency": 5
        },
        "provenanceScore": 58,
        "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 -H \"APIKEY: $SECURITYTRAILS_API_KEY\" https://api.securitytrails.com/v1/domain/example.com"
      },
      "letme": {
        "capability": "https://letme.dev/secintel.dns",
        "tool": "https://letme.dev/securitytrails"
      },
      "area": "developer",
      "provenance": {
        "legalEntity": "SecurityTrails (Recorded Future)",
        "domain": "securitytrails.com",
        "domainRegistered": "2017-06-21",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://docs.securitytrails.com/changelog/project-api-170-update",
        "securityTxt": "unknown",
        "checked": "2026-11-03",
        "notes": [
          "The legal entity name couldn't be read. Recorded Future's company timeline says Recorded Future acquired SecurityTrails in January 2022 and Mastercard acquired Recorded Future in December 2024.",
          "securitytrails.com answered every page with a Cloudflare challenge (HTTP 403, a cf-mitigated header of challenge) on 3 November 2026, so the terms, privacy policy, security page and /.well-known/security.txt are unread. The terms' clause on automated access, if any, is unknown.",
          "securitytrails.com/robots.txt disallows /support/ and some system paths; docs.securitytrails.com/robots.txt disallows /*/api-next, /edit/ and login paths. Nothing disallowed was fetched.",
          "status.securitytrails.com redirects to securitytrails.statuspage.io, which is inactive and visible to team members only, so no status page is counted.",
          "RDAP (Verisign) gives securitytrails.com a registration date of 21 June 2017.",
          "api.securitytrails.com answers /.well-known/security.txt with 401."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/securitytrails.json",
      "live": {
        "slug": "securitytrails",
        "probe": {
          "target": "https://api.securitytrails.com/v1/",
          "method": "get",
          "lastAt": "2026-11-04T21:28:11.765319743Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 360,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 403,
          "p95ms24h": 487,
          "samples24h": 62,
          "samples30d": 62,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 62,
              "ok": 62
            }
          ]
        },
        "securityTxt": {
          "url": "https://securitytrails.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:53:17.620028402Z"
        },
        "updatedAt": "2026-11-04T21:28:11.765319743Z"
      }
    },
    "edges": [
      {
        "by": 50,
        "category": "payments",
        "leads": "pulsedive",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). securitytrails.com/app/pricing and /corp/pricing answered a Cloudflare challenge, and the docs name no price, so no public price was read (0). Whether a free plan exists couldn't be confirmed; the usage endpoint shows only that each account has a monthly allowance (0). A key comes from a browser signup on securitytrails.com, with no programmatic route found (0). 0 + 0 + 0 + 0 = 0, scored as Contentful and Personio were on 7 October 2026 when their pricing pages were unreadable."
        },
        "scores": {
          "a": 50,
          "b": 0
        }
      },
      {
        "by": 35,
        "category": "maintenance",
        "leads": "pulsedive",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "The newest dated changelog entry is 28 May 2020, the Project API 1.7.0 entry is undated and the SurfaceBrowser changelog ends on 26 February 2019, so no change within 180 days was found (0 of 30). No entries in the last 90 days (0). A public changelog exists but is five years stale, and the support page is disallowed by robots.txt (3 of 25). No official SDK; the npm package of October 2021 names the vendor as author with no repository (0 of 15). The docs site serves llms.txt and Markdown twins, which shows the documentation platform is current (2 of 10). 0 + 0 + 3 + 0 + 2 = 5."
        },
        "scores": {
          "a": 40,
          "b": 5
        }
      },
      {
        "by": 25,
        "category": "transparency",
        "leads": "pulsedive",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "A closed service whose terms couldn't be read because of the Cloudflare challenge (5 of 30, for a known commercial product with unread terms). The privacy policy was unread and no retention statement or DPA was found (0 of 30). No deprecation policy; the operation ids carry '-old' with deprecated set to false and no notice explains them (0 of 20). No subprocessor or data location statement readable (0 of 20). 5 + 0 + 0 + 0 = 5."
        },
        "scores": {
          "a": 57,
          "b": 32
        }
      },
      {
        "by": 23,
        "category": "schema",
        "leads": "pulsedive",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0.3 documents for every endpoint, eleven YAML files under Apache 2.0, with typed parameters and response schemas, though split per endpoint and without a securitySchemes block in the scan and explore file (22 of 25). llms.txt and a Markdown twin of every page, plus a docs MCP server (10). Each endpoint states its purpose, probe and submit are explained with their side effects, and the collection page says what each timestamp means, with little on when not to call (15 of 20). Enumerated 0 or 1 flags, required parameters marked, risk and type enums, but key is optional while 401 describes it missing, and explore summaries allow types the indicator schema does not (11 of 15). curl examples on every page and an error table for 400, 401, 404, 429 and 500 with an example body (12 of 15). No API version or changelog; the docs launch post of 30 March 2026 and a footer version number are the only dated changes, and the spec marks the recent field deprecated with no date (7 of 15). 22 + 10 + 15 + 11 + 12 + 7 = 77.",
          "b": "The reference pages are generated from an OpenAPI document (operation ids, deprecated flags and typed schemas show on each page), but no spec is published for download and docs.securitytrails.com/openapi redirects to 404 (12 of 25). llms.txt with a Markdown twin of every page (10). Each endpoint has a one-line purpose and nothing on when to use it or not (8 of 20). Path and query parameters are typed, the DNS history type is an enum of six values, and the ASI API has enums, operators and a 1 to 1,000 limit, but the v1 filter object is untyped strings and the DSL query is a free string whose grammar isn't documented (8 of 15). Example responses on every page, with errors mostly limited to 400 and a message, 401 and 429 only on the ping page and 422 on the ASI API (8 of 15). Versioned paths (/v1, /v2) and a changelog whose dated entries stop on 28 May 2020, with one undated Project API 1.7.0 entry (8 of 15). 12 + 10 + 8 + 8 + 8 + 8 = 54."
        },
        "scores": {
          "a": 77,
          "b": 54
        }
      },
      {
        "by": 11,
        "category": "reliability",
        "leads": "pulsedive",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Read with the hosted lines. status.securitytrails.com redirects to securitytrails.statuspage.io, which says it is inactive and visible to team members only, so no public status page (0) and no readable history (5). No rate limit numbers in the readable docs; the pricing page, which may carry them, answered a Cloudflare challenge (0). 429 is documented on the ping page with the message 'API rate limit exceeded' and no Retry-After or backoff guidance, and every v1 call is a read (5 of 15). No SLA found (0). The v1 API is live and not marked beta, though every operation id carries an '-old' suffix with deprecated set to false (10). 0 + 5 + 0 + 5 + 0 + 10 = 20."
        },
        "scores": {
          "a": 31,
          "b": 20
        }
      },
      {
        "by": 9,
        "category": "security",
        "leads": "securitytrails",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "One API key with no scopes found, accepted as an `APIKEY` header or as `apikey` in the query string, which the reference pages show on every v1 endpoint (20 less 10, so 10). Revocation and rotation couldn't be read. The v1 API is read-only by the overview's own statement; the ASI API writes tags with no approval step (14 of 20). DNS TXT values, WHOIS fields and user agent strings are third-party text, with no guidance on treating them as untrusted (5 of 15). /v1/account/usage reports monthly counts and nothing per call (3 of 15). security.txt on securitytrails.com and the security page are behind the Cloudflare challenge, api.securitytrails.com answers security.txt with 401, and no disclosure policy, bug bounty or certification was readable (0 of 20). 10 + 14 + 5 + 3 + 0 = 32."
        },
        "scores": {
          "a": 23,
          "b": 32
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Pulsedive LLC",
        "b": "SecurityTrails (Recorded Future)",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.securitytrails.com/v1/",
        "name": "Hosted endpoint"
      },
      {
        "a": "",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "0",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-27",
        "b": "2020-05-28",
        "name": "Last release"
      },
      {
        "a": "2022-05-02",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "2024-08-28",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not read yet",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not read yet",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Pulsedive scores 47.9 (D) on agent readiness against SecurityTrails's 30.7 (F), and leads in 6 of 7 scored categories. SecurityTrails leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Pulsedive or SecurityTrails?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Pulsedive and SecurityTrails need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Pulsedive. SecurityTrails has a hosted endpoint at https://api.securitytrails.com/v1/.",
        "question": "Can an agent call Pulsedive and SecurityTrails without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 31 against 20",
          "Schema \u0026 documentation, 77 against 54",
          "Agent ergonomics, 64 against 56",
          "Payments \u0026 pricing, 50 against 0",
          "Maintenance \u0026 community, 40 against 5",
          "Transparency \u0026 trust, 57 against 32"
        ],
        "also": [
          "Free to start without a card"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 32 against 23"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "An agent investigating a domain's DNS and WHOIS history, subdomains and associated infrastructure, where the operator already holds a commercial key.",
        "slug": "securitytrails",
        "watchFor": "Pricing, terms, privacy, the security page and security.txt on securitytrails.com answered a Cloudflare challenge on 3 November 2026, so none was read"
      }
    ],
    "history": null,
    "job": {
      "capability": "secintel.dns",
      "name": "Secintel dns"
    },
    "others": [
      {
        "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-pulsedive.json",
        "title": "GreyNoise vs Pulsedive",
        "url": "https://www.anchorterminal.com/compare/greynoise-vs-pulsedive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/greynoise-vs-securitytrails.json",
        "title": "GreyNoise vs SecurityTrails",
        "url": "https://www.anchorterminal.com/compare/greynoise-vs-securitytrails"
      },
      {
        "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/securitytrails-vs-shodan.json",
        "title": "SecurityTrails vs Shodan",
        "url": "https://www.anchorterminal.com/compare/securitytrails-vs-shodan"
      },
      {
        "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/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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/censys-vs-securitytrails.json",
        "title": "Censys vs SecurityTrails",
        "url": "https://www.anchorterminal.com/compare/censys-vs-securitytrails"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 11,
        "edge": "pulsedive",
        "key": "reliability",
        "name": "Reliability",
        "pulsedive": 31,
        "securitytrails": 20,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "pulsedive",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "pulsedive": 77,
        "securitytrails": 54,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "pulsedive",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "pulsedive": 64,
        "securitytrails": 56,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "securitytrails",
        "key": "security",
        "name": "Security \u0026 auth",
        "pulsedive": 23,
        "securitytrails": 32,
        "weight": 14
      },
      {
        "by": 50,
        "edge": "pulsedive",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "pulsedive": 50,
        "securitytrails": 0,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "pulsedive",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "pulsedive": 40,
        "securitytrails": 5,
        "weight": 7
      },
      {
        "by": 25,
        "edge": "pulsedive",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "pulsedive": 57,
        "securitytrails": 32,
        "weight": 7
      }
    ],
    "summary": "Pulsedive scores 47.9 (D) on agent readiness against SecurityTrails's 30.7 (F), and leads in 6 of 7 scored categories. SecurityTrails leads on security \u0026 auth. Both do secintel dns.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "securitytrails": "The v1 API is read-only and reaches current and historical DNS, WHOIS, subdomain and SSL records, with llms.txt and a Markdown twin of every reference page. The key is accepted in the query string, the changelog stops in May 2020, the status page is private, and pricing, terms and privacy sat behind a Cloudflare challenge when checked."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails",
    "json": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.min.md"
  },
  "markdown": "Pulsedive scores 47.9 (D) on agent readiness against SecurityTrails's 30.7 (F), and leads in 6 of 7 scored categories. SecurityTrails leads on security \u0026 auth. Both do secintel dns.\n\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- SecurityTrails: grade F, 30.7/100, rank #1268 of 1349. Markdown https://www.anchorterminal.com/tools/securitytrails.md · JSON https://www.anchorterminal.com/api/v1/tools/securitytrails.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### 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- Reliability, 31 against 20\n- Schema \u0026 documentation, 77 against 54\n- Agent ergonomics, 64 against 56\n- Payments \u0026 pricing, 50 against 0\n- Maintenance \u0026 community, 40 against 5\n- Transparency \u0026 trust, 57 against 32\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The key is sent only as a query parameter, with no header option, scopes or rotation documented\n\n### SecurityTrails (F)\n\nGood for: An agent investigating a domain's DNS and WHOIS history, subdomains and associated infrastructure, where the operator already holds a commercial key.\n\nAhead on:\n- Security \u0026 auth, 32 against 23\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: Pricing, terms, privacy, the security page and security.txt on securitytrails.com answered a Cloudflare challenge on 3 November 2026, so none was read\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Pulsedive +50\n\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- SecurityTrails (0): No x402, MPP or L402 (0). securitytrails.com/app/pricing and /corp/pricing answered a Cloudflare challenge, and the docs name no price, so no public price was read (0). Whether a free plan exists couldn't be confirmed; the usage endpoint shows only that each account has a monthly allowance (0). A key comes from a browser signup on securitytrails.com, with no programmatic route found (0). 0 + 0 + 0 + 0 = 0, scored as Contentful and Personio were on 7 October 2026 when their pricing pages were unreadable.\n\n### Maintenance \u0026 community: Pulsedive +35\n\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- SecurityTrails (5): The newest dated changelog entry is 28 May 2020, the Project API 1.7.0 entry is undated and the SurfaceBrowser changelog ends on 26 February 2019, so no change within 180 days was found (0 of 30). No entries in the last 90 days (0). A public changelog exists but is five years stale, and the support page is disallowed by robots.txt (3 of 25). No official SDK; the npm package of October 2021 names the vendor as author with no repository (0 of 15). The docs site serves llms.txt and Markdown twins, which shows the documentation platform is current (2 of 10). 0 + 0 + 3 + 0 + 2 = 5.\n\n### Transparency \u0026 trust: Pulsedive +25\n\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- SecurityTrails (32): A closed service whose terms couldn't be read because of the Cloudflare challenge (5 of 30, for a known commercial product with unread terms). The privacy policy was unread and no retention statement or DPA was found (0 of 30). No deprecation policy; the operation ids carry '-old' with deprecated set to false and no notice explains them (0 of 20). No subprocessor or data location statement readable (0 of 20). 5 + 0 + 0 + 0 = 5.\n\n### Schema \u0026 documentation: Pulsedive +23\n\n- Pulsedive (77): OpenAPI 3.0.3 documents for every endpoint, eleven YAML files under Apache 2.0, with typed parameters and response schemas, though split per endpoint and without a securitySchemes block in the scan and explore file (22 of 25). llms.txt and a Markdown twin of every page, plus a docs MCP server (10). Each endpoint states its purpose, probe and submit are explained with their side effects, and the collection page says what each timestamp means, with little on when not to call (15 of 20). Enumerated 0 or 1 flags, required parameters marked, risk and type enums, but key is optional while 401 describes it missing, and explore summaries allow types the indicator schema does not (11 of 15). curl examples on every page and an error table for 400, 401, 404, 429 and 500 with an example body (12 of 15). No API version or changelog; the docs launch post of 30 March 2026 and a footer version number are the only dated changes, and the spec marks the recent field deprecated with no date (7 of 15). 22 + 10 + 15 + 11 + 12 + 7 = 77.\n- SecurityTrails (54): The reference pages are generated from an OpenAPI document (operation ids, deprecated flags and typed schemas show on each page), but no spec is published for download and docs.securitytrails.com/openapi redirects to 404 (12 of 25). llms.txt with a Markdown twin of every page (10). Each endpoint has a one-line purpose and nothing on when to use it or not (8 of 20). Path and query parameters are typed, the DNS history type is an enum of six values, and the ASI API has enums, operators and a 1 to 1,000 limit, but the v1 filter object is untyped strings and the DSL query is a free string whose grammar isn't documented (8 of 15). Example responses on every page, with errors mostly limited to 400 and a message, 401 and 429 only on the ping page and 422 on the ASI API (8 of 15). Versioned paths (/v1, /v2) and a changelog whose dated entries stop on 28 May 2020, with one undated Project API 1.7.0 entry (8 of 15). 12 + 10 + 8 + 8 + 8 + 8 = 54.\n\n### Reliability: Pulsedive +11\n\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- SecurityTrails (20): Read with the hosted lines. status.securitytrails.com redirects to securitytrails.statuspage.io, which says it is inactive and visible to team members only, so no public status page (0) and no readable history (5). No rate limit numbers in the readable docs; the pricing page, which may carry them, answered a Cloudflare challenge (0). 429 is documented on the ping page with the message 'API rate limit exceeded' and no Retry-After or backoff guidance, and every v1 call is a read (5 of 15). No SLA found (0). The v1 API is live and not marked beta, though every operation id carries an '-old' suffix with deprecated set to false (10). 0 + 5 + 0 + 5 + 0 + 10 = 20.\n\n### Security \u0026 auth: SecurityTrails +9\n\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- SecurityTrails (32): One API key with no scopes found, accepted as an `APIKEY` header or as `apikey` in the query string, which the reference pages show on every v1 endpoint (20 less 10, so 10). Revocation and rotation couldn't be read. The v1 API is read-only by the overview's own statement; the ASI API writes tags with no approval step (14 of 20). DNS TXT values, WHOIS fields and user agent strings are third-party text, with no guidance on treating them as untrusted (5 of 15). /v1/account/usage reports monthly counts and nothing per call (3 of 15). security.txt on securitytrails.com and the security page are behind the Cloudflare challenge, api.securitytrails.com answers security.txt with 401, and no disclosure policy, bug bounty or certification was readable (0 of 20). 10 + 14 + 5 + 3 + 0 = 32.\n\n## Score by category\n\n| Category | Weight | Pulsedive | SecurityTrails | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 31 | 20 | Pulsedive +11 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 54 | Pulsedive +23 |\n| Agent ergonomics | 13% (16.2 this run) | 64 | 56 | Pulsedive +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 23 | 32 | SecurityTrails +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 0 | Pulsedive +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 40 | 5 | Pulsedive +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 32 | Pulsedive +25 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47.9 · D** | **30.7 · F** | |\n\n## Facts side by side\n\n| Fact | Pulsedive | SecurityTrails |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Pulsedive LLC | SecurityTrails (Recorded Future) |\n| Hosted endpoint | no (local only) | `https://api.securitytrails.com/v1/` |\n| Transports |  | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Tools exposed | 0 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-10-27 | 2020-05-28 |\n| Terms last updated | 2022-05-02 | no document linked |\n| Privacy policy last updated | 2024-08-28 | no document linked |\n| Customer content may train models | not found in the text | not read yet |\n| Terms restrict automated access | yes | not read yet |\n| Terms restrict benchmarking | not found in the text | not read yet |\n| Terms or service can change without notice | yes | not read yet |\n| Arbitration or class-action waiver | not found in the text | not read yet |\n\n## Verdicts\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**SecurityTrails.** The v1 API is read-only and reaches current and historical DNS, WHOIS, subdomain and SSL records, with llms.txt and a Markdown twin of every reference page. The key is accepted in the query string, the changelog stops in May 2020, the status page is private, and pricing, terms and privacy sat behind a Cloudflare challenge when checked.\n\n## Before you call either\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### SecurityTrails\n\n1. Send the key as an `APIKEY` header, never as `?apikey=`, so it stays out of logs\n2. Call `GET /v1/account/usage` first and budget against `allowed_monthly_usage`, since limits aren't published and 429 carries no Retry-After\n3. Use `GET /v1/history/{hostname}/dns/{type}` with one of a, aaaa, mx, ns, soa or txt, and page with `page` until the `pages` count is reached\n4. On the ASI API pass an `enrichments` list, because the default returns only custom tags, and keep the sort fixed while following `next_cursor`\n5. Treat DNS TXT values, WHOIS fields and user agent strings as untrusted text from third parties\n\n## Questions\n\n### Which is better for AI agents, Pulsedive or SecurityTrails?\n\nPulsedive scores 47.9 (D) on agent readiness against SecurityTrails's 30.7 (F), and leads in 6 of 7 scored categories. SecurityTrails leads on security \u0026 auth.\n\n### Do Pulsedive and SecurityTrails need an API key?\n\nBoth need an API key.\n\n### Can an agent call Pulsedive and SecurityTrails without installing anything?\n\nNo hosted endpoint is listed for Pulsedive. SecurityTrails has a hosted endpoint at https://api.securitytrails.com/v1/.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.json, and with the fewest tokens: https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"pulsedive\", \"b\": \"securitytrails\"}`. From a terminal: `anchor compare pulsedive securitytrails`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/pulsedive.json and https://www.anchorterminal.com/api/v1/tools/securitytrails.json\n\n## Other comparisons with Pulsedive or SecurityTrails\n\n- [AbuseIPDB vs Pulsedive](https://www.anchorterminal.com/compare/abuseipdb-vs-pulsedive.md)\n- [GreyNoise vs Pulsedive](https://www.anchorterminal.com/compare/greynoise-vs-pulsedive.md)\n- [GreyNoise vs SecurityTrails](https://www.anchorterminal.com/compare/greynoise-vs-securitytrails.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- [SecurityTrails vs Shodan](https://www.anchorterminal.com/compare/securitytrails-vs-shodan.md)\n- [SecurityTrails vs WhoisXML API](https://www.anchorterminal.com/compare/securitytrails-vs-whoisxml-api.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- [Censys vs SecurityTrails](https://www.anchorterminal.com/compare/censys-vs-securitytrails.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": "Pulsedive vs SecurityTrails",
        "url": ""
      }
    ],
    "description": "Pulsedive scores 47.9 (D) to SecurityTrails's 30.7 (F) for secintel dns. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Pulsedive D 47.9",
      "SecurityTrails F 30.7",
      "scores"
    ],
    "h1": "Pulsedive vs SecurityTrails",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/pulsedive-vs-securitytrails",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pulsedive vs SecurityTrails for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/pulsedive-vs-securitytrails"
  },
  "tokens": {
    "markdown": 4300,
    "slim": 2780
  },
  "version": 1
}
