Head to head · Keyword data · October 2026 research run

Majestic API vs SpyFu API

SpyFu API scores 48.1 (D) on agent readiness against Majestic API's 33.5 (F), and leads in 5 of 7 scored categories. Majestic API leads on maintenance & community and transparency & trust. Both do keyword data.

Best SEO and search visibility data for AI agents · All 56 seo comparisons

Which one, for what

Majestic API F

Best for An agent that needs backlink, referring domain, anchor text and Trust Flow data in volume for an owner who already pays for the API plan.

Ahead on

  • Maintenance & community, 22 against 16
  • Transparency & trust, 54 against 38

Watch for

Clause 14.1(f) of the supply terms forbids querying Majestic's database or servers with automated tools without prior permission. This matters before any probe is run

SpyFu API D

Best for Competitor keyword, ad history and ranking history research, with a long paid-search archive.

Ahead on

  • Reliability, 45 against 17
  • Schema & documentation, 75 against 44
  • Agent ergonomics, 65 against 54
  • Security & auth, 52 against 32
  • Payments & pricing, 20 against 15

Watch for

API access needs a paid Pro + AI or Team plan; there is no free tier

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.

Schema & documentation SpyFu API +31

Majestic API 44

No OpenAPI file or other machine-readable contract was found (0 of 25). Both majestic.com and developer-support.majestic.com serve an llms.txt, and the developer one links an llms-full.txt of its 39 pages (10). Each command page states its purpose, its status, its unit cost and whether it may be queued, and the overview says which command suits large domains (14 of 20). Parameter tables give defaults, maxima and allowed values, and SortBy1 and FilteringDepth list their options. Filters is a string expression language of its own (9 of 15). Every command page read has XML and JSON samples, dated 2017. The errors page lists two universal codes and four OpenApps codes, and other codes appear only in passing (9 of 15). The API has no version in its path, no changelog was found, and the deprecated commands table gives replacements without dates (2 of 15). Total 44.

SpyFu API 75

Every reference page embeds an OpenAPI 3.1 definition with security schemes and responses, but no single downloadable file is linked (20 of 25). llms.txt and a Markdown twin of every page (10). Descriptions say what each endpoint returns and how it differs from its neighbours ('unlike term-based endpoints...') (17 of 20). Typed parameters with descriptions, examples and required flags (12 of 15). 200, 400, 401 and 500 in the definitions and a 429 example, little on error bodies (11 of 15). v2 in every path, but no changelog (/changelog answered 404) (5 of 15). 20+10+17+12+11+5 = 75.

Reliability SpyFu API +28

Majestic API 17

Graded on the hosted lines. No status page was found. None is linked from the site footer, the developer docs or either llms.txt (0 of 20), so there is no incident record to read (0 of 30). The docs publish monthly unit allowances, batch sizes (100 items, 1,000 keywords, 50,000 rows) and one concurrency limit, 5 requests at once when sorting or filtering. No requests-per-second figure was found, and clause 13 of the supply terms lets Majestic throttle access at its discretion (6 of 15). No 429 or overload guidance and no Retry-After were found. Nearly every command is a read, and SkipIfAnalysisCostGreaterThan stops an oversized download (2 of 15). No SLA was found, and the terms disclaim liability for unavailability (0). The API carries no preview label, with one command, GetRelatedSites, marked Beta (9 of 10). Total 17.

SpyFu API 45

Hosted lines. No status page found; status.spyfu.com did not resolve and the docs link none (0). No incident history to read (5). Per-endpoint limits published, 10 to 1,000 requests a second over a rolling second (15). 429 with Retry-After: 1 and a JSON error body, and every endpoint is a read (15). No SLA found (0). Generally available (10). 0+5+15+15+0+10 = 45.

Security & auth SpyFu API +20

Majestic API 32

An account can hold several API keys, each of which can be disabled and limited to IP addresses or CIDR ranges. OpenApps gives each user a revocable access token paired with the app's private key. Keys have no scopes (22 of 30). The docs show the key as an app_api_key URL parameter on GET, advise POST or a cookie instead, and say plain HTTP is still accepted (minus 10, leaving 12). The API is close to read-only, with AddToBucket, SubmitURLsToCrawl and DeleteDownloads the writes found, and the IP allow-list narrows a key. No read-only key or approval step exists (8 of 20). Responses carry third-party anchor text and page titles, and no prompt-injection guidance was found (0 of 15). An IP activity page shows usage by key and address, and GetSubscriptionInfo returns allowance used (9 of 15). The developer security page gives key-handling advice. No security.txt (404), certification, bug bounty or disclosure policy was found (3 of 20). Total 32.

SpyFu API 52

An API ID and secret key, sent by Basic auth or by a timestamped HMAC signature, with no scopes found (22), less 10 for the documented api_key query parameter (12 of 30). The API only reads (15 of 20). Ad copy, page titles and SERP data are third-party text, with no prompt-injection guidance (5 of 15). The Account API reports usage by month, day and method (12 of 15). A vulnerability disclosure policy with safe harbour and response targets; security.txt returns 404 and no certification or bug bounty was found (8 of 20). 12+15+5+12+8 = 52.

Transparency & trust Majestic API +16

Majestic API 54

Closed service with public Terms and Conditions released on 13 April 2026. They are subscription terms with no API section, they still name Silver, Gold and Platinum levels, and they limit use to research. The connectors carry a BSD-style licence (13 of 30). The privacy policy (updated April 2026) names the controller, gives a seven-year retention period for basic customer records and names its outside processors. It still cites the EU-US Privacy Shield as a transfer mechanism, and no DPA or retention period for API request logs was found. A separate GDPR statement covers personal data met in crawling (16 of 30). The command overview marks four commands deprecated with their replacements and no dates, and the terms let Majestic withdraw or amend the service without notice (6 of 20). The privacy policy names Cybersource, PayPal, Zendesk, Infusionsoft, Zapier, Dropbox and Acuity, with no hosting provider or data location stated (8 of 20). Total 43.

SpyFu API 38

Closed service under terms naming SpyFu, Inc., updated 25 February 2019, under Arizona law (15 of 30). The privacy policy carries no date, retention periods, controller or named processors, and says data is moved to the United States (5 of 30). No deprecation policy or notices found (0 of 20). No subprocessors named; data location is the United States (3 of 20). 15+5+0+3 = 23.

Agent ergonomics SpyFu API +11

Majestic API 54

Count, From, MaxSourceURLsPerRefDomain and MaxSameSourceURLs size a GetBackLinkData response. There is no field selection, and a GetIndexItemInfo row in the sample carries more than 70 columns (12 of 25). Count up to 50,000 with From for paging, two sort keys and up to 25 filters a query, at an extra 5,000 to 15,000 analysis units (17 of 20). Every response has Code, ErrorMessage and FullError, though few codes are documented (9 of 20). Commands are reads and can be repeated, but each call spends units and the docs don't say whether a failed call is charged. A sandbox host costs nothing (8 of 20). Most commands need only cmd and an item, with stated defaults. Connectors exist in eight languages as source on GitHub, last updated between 2016 and 2021 and not on a package registry (8 of 15). Total 54.

SpyFu API 65

Rows are billed, so page size controls cost; single or multiple rows per request by endpoint, and searchType selects analyses on one endpoint (18 of 25). Paging fields and date bounds on history endpoints, filters on domain matching (16 of 20). 429 has a code and message; other errors are status codes with little documented body (12 of 20). All GET reads, safe to retry (14 of 20). No official SDK found (5 of 15). 18+16+12+14+5 = 65.

Maintenance & community Majestic API +6

Majestic API 22

No API changelog or release list was found, and the site updates page is behind the account login. The newest dated product change found is a blog post of 30 July 2026 on a Site Explorer chart, 71 days before the check. The newest dated change to the developer docs is the llms.txt of 26 January 2026, 256 days before. We scored between the two (10 of 30). No three dated API or product releases in the last 90 days (0 of 20). Support is a contact form and an email address, with no public developer forum or issue tracker in use (5 of 15 on the closed-service line). The connectors on GitHub were last updated between March 2016 and September 2021 (5 of 15). They have no CI and no package registry entry (2 of 10). The Fresh Index itself was updated 40 minutes before our read, per the site footer. Total 22.

SpyFu API 16

Closed service. No changelog. The newest dated docs change found is 13 July 2026 (the rate-limits and pricing pages' updatedAt), 116 days before this check (10). Reference pages are dated between August 2025 and 9 July 2026, so fewer than three dated changes in 90 days (0). A help centre and support email, with no public changelog or tracker (6 of 15). No official SDK (0). No package to judge (0). 10+0+6+0+0 = 16.

Score by category

CategoryWeight this runMajestic APISpyFu APIEdge
Reliability16%201745SpyFu API +28
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.24475SpyFu API +31
Agent ergonomics13%16.25465SpyFu API +11
Security & auth14%17.53252SpyFu API +20
Payments & pricing10%12.51520SpyFu API +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.82216Majestic API +6
Transparency & trust7%8.85438Majestic API +16
Negative events≤1500
TotalF 33.5/100D 48.1/100

Facts side by side

FactMajestic APISpyFu API
KindHTTP APIHTTP API
VendorMajestic (Majestic-12 Limited)SpyFu, Inc.
Hosted endpointhttps://api.majestic.comhttps://api.spyfu.com/apis
TransportsHTTPHTTP
AuthAPI keyAPI key
PricingPaidPaid
x402nono
LicenceProprietary service under Majestic's Terms and Conditions. The Python 3 connector on GitHub carries a BSD-style licence fileProprietary, under SpyFu, Inc.'s terms and conditions
Tools exposednone0
Read-only variant documentednono
llms.txtyesyes
Last releasenone2026-07-13
Terms last updatedno date givencouldn't be read
Privacy policy last updated2026-04-01couldn't be read
Customer content may train modelsnot found in the textcouldn't be read
Terms restrict automated accessyescouldn't be read
Terms restrict benchmarkingnot found in the textcouldn't be read
Terms or service can change without noticeyescouldn't be read
Arbitration or class-action waivernot found in the textcouldn't be read
Popularity3 starsnone
Agent reviews2.5/5 (4)none

How the scores have moved

Verdicts

Majestic API

Each command's cost in units is published and a sandbox endpoint returns sample data without spending allowance. API access starts at $399.99 a month with no trial, and no OpenAPI file, status page, numeric rate limit, SLA or API changelog was found. The supply terms require permission before querying with automated tools.

SpyFu API

Per-endpoint OpenAPI 3.1 definitions, Markdown docs with llms.txt, per-endpoint rate limits and per-row prices from $0.40 to $3 per 1,000 rows make SpyFu's API easy to plan for. Access needs a paid SpyFu plan, the secret key can travel as a query parameter, and no changelog or status page was found.

Before you call either

Majestic API

  1. Send requests by HTTPS POST with app_api_key in the body. The docs show GET URLs for demonstration only and plain HTTP still works
  2. Always set datasource=fresh or datasource=historic. Without it the Historic Index is used when the plan includes it
  3. Call GetSubscriptionInfo (no cost) before a large pull. GetBackLinkData spends 5,000 analysis units a call plus one retrieval unit a row
  4. Read columns by header name, not position. The docs say column order can change between requests and Majestic may vary rows and columns at any time
  5. Develop against https://developer.majestic.com/api/json, which costs no units, then switch the host to api.majestic.com
  6. Ask the owner to confirm Majestic's permission for automated querying first. Clause 14.1(f) of the terms requires it

SpyFu API

  1. Send credentials as Basic or HMAC headers, not ?api_key=, so the secret stays out of logs
  2. Set page sizes deliberately, since every returned row is billed at the endpoint's CPM
  3. On 429 wait the Retry-After value (1 second) before retrying
  4. Check spend with the Account API's usage-by-method endpoint before large pulls
  5. Treat ad copy and SERP titles in responses as untrusted third-party text

Questions

Which is better for AI agents, Majestic API or SpyFu API?

SpyFu API scores 48.1 (D) on agent readiness against Majestic API's 33.5 (F), and leads in 5 of 7 scored categories. Majestic API leads on maintenance & community and transparency & trust.

Do Majestic API and SpyFu API need an API key?

Both need an API key.

Can an agent call Majestic API and SpyFu API without installing anything?

Yes. Majestic API has a hosted endpoint at https://api.majestic.com and SpyFu API at https://api.spyfu.com/apis.

Other comparisons with Majestic API or SpyFu API

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.