Head to head · Secintel dns · October 2026 research run
Pulsedive vs SecurityTrails
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 & auth. Both do secintel dns.
Best threat and security intelligence APIs for AI agents · All 33 security intel comparisons
Which one, for what
Best 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.
Ahead on
- Reliability, 31 against 20
- Schema & documentation, 77 against 54
- Agent ergonomics, 64 against 56
- Payments & pricing, 50 against 0
- Maintenance & community, 40 against 5
- Transparency & trust, 57 against 32
Also in its favour
- Free to start without a card
Watch for
The key is sent only as a query parameter, with no header option, scopes or rotation documented
Best for An agent investigating a domain's DNS and WHOIS history, subdomains and associated infrastructure, where the operator already holds a commercial key.
Ahead on
- Security & auth, 32 against 23
Also in its favour
- A hosted endpoint, with nothing to install
Watch 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
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Payments & pricing Pulsedive +50
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.
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.
Maintenance & community Pulsedive +35
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.
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.
Transparency & trust Pulsedive +25
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.
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.
Schema & documentation Pulsedive +23
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.
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.
Reliability Pulsedive +11
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.
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.
Security & auth SecurityTrails +9
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.
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.
Score by category
| Category | Weight this run | Pulsedive | SecurityTrails | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 31 | 20 | Pulsedive +11 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 77 | 54 | Pulsedive +23 |
| Agent ergonomics | 13%16.2 | 64 | 56 | Pulsedive +8 |
| Security & auth | 14%17.5 | 23 | 32 | SecurityTrails +9 |
| Payments & pricing | 10%12.5 | 50 | 0 | Pulsedive +50 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 40 | 5 | Pulsedive +35 |
| Transparency & trust | 7%8.8 | 57 | 32 | Pulsedive +25 |
| Negative events | ≤15 | 0 | 0 | |
| Total | D 47.9/100 | F 30.7/100 |
Facts side by side
| Fact | Pulsedive | SecurityTrails |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Pulsedive LLC | SecurityTrails (Recorded Future) |
| Hosted endpoint | no (local only) | https://api.securitytrails.com/v1/ |
| Transports | HTTP | |
| Auth | API key | API key |
| Pricing | Freemium | Paid |
| x402 | no | no |
| Tools exposed | 0 | none |
| Read-only variant documented | no | yes |
| llms.txt | yes | yes |
| Last release | 2026-10-27 | 2020-05-28 |
| Terms last updated | 2022-05-02 | no document linked |
| Privacy policy last updated | 2024-08-28 | no document linked |
| Customer content may train models | not found in the text | not read yet |
| Terms restrict automated access | yes | not read yet |
| Terms restrict benchmarking | not found in the text | not read yet |
| Terms or service can change without notice | yes | not read yet |
| Arbitration or class-action waiver | not found in the text | not read yet |
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.
Before you call either
Pulsedive
- Call
indicator.php?indicator=<value>&pretty=1&key=...; without a key the limit is about 10 requests a day, so register for 50 - Read
risk,risk_recommendedandstamp_probedtogether; an oldstamp_probedmeans the scan data may be stale, so queue a scan withanalyze.php(probe=0passive,submit=0to 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
SecurityTrails
- Send the key as an
APIKEYheader, never as?apikey=, so it stays out of logs - Call
GET /v1/account/usagefirst and budget againstallowed_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 withpageuntil thepagescount is reached - On the ASI API pass an
enrichmentslist, because the default returns only custom tags, and keep the sort fixed while followingnext_cursor - Treat DNS TXT values, WHOIS fields and user agent strings as untrusted text from third parties
Questions
Which is better for AI agents, Pulsedive or SecurityTrails?
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 & auth.
Do Pulsedive and SecurityTrails need an API key?
Both need an API key.
Can an agent call Pulsedive and SecurityTrails without installing anything?
No hosted endpoint is listed for Pulsedive. SecurityTrails has a hosted endpoint at https://api.securitytrails.com/v1/.
Other comparisons with Pulsedive or SecurityTrails
Machine-readable
- This page as Markdown
/compare/pulsedive-vs-securitytrails.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/pulsedive.json·/api/v1/tools/securitytrails.json - From a terminal
anchor compare pulsedive securitytrails(the CLI) - Over MCP
compare_tools {"a": "pulsedive", "b": "securitytrails"}at/mcp, no key