{
  "data": {
    "a": {
      "slug": "keywords-everywhere",
      "name": "Keywords Everywhere API + MCP",
      "vendor": "Keywords Everywhere (Axeman Technology Solutions LLP)",
      "vendorUrl": "https://keywordseverywhere.com",
      "kind": "http-api",
      "category": "seo",
      "summary": "Keywords Everywhere is a keyword research service whose REST API and hosted MCP server return Google search volume, CPC, competition, keyword ideas, the keywords a site ranks for, traffic estimates and backlinks, paid for with prepaid credits.",
      "url": "https://www.anchorterminal.com/tools/keywords-everywhere",
      "markdownUrl": "https://www.anchorterminal.com/tools/keywords-everywhere.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/keywords-everywhere.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/keywords-everywhere.json",
      "dns": "keywords-everywhere.grade.anchorterminal.com",
      "license": "Proprietary service under the Keywords Everywhere Terms of Service. The vendor's n8n community node on npm is MIT",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.keywordseverywhere.com",
      "packages": [
        {
          "registry": "npm",
          "name": "n8n-nodes-keywords-everywhere-api"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST calls take an API key as `Authorization: Bearer \u003ckey\u003e`. The key is free and self-serve. A person enters an email address on the sign-up page and receives a link to the key, with no app review or sales step. One key covers the REST API, the MCP server and the browser extension, has no scopes, and is shared by every seat on the plan (1 to 20 people). It is reset through an emailed link. The MCP server accepts the same key as a Bearer token, or OAuth 2.1 with dynamic client registration and PKCE, where the user pastes the key on the vendor's sign-in page. OAuth access tokens expire after 3 hours and refresh for up to 90 days.",
      "pricing": "paid",
      "pricingNotes": "Data calls spend prepaid credits from an annual plan. Bronze is $84 a year for 100,000 credits, Silver $168 for 400,000, Gold $480 for 2 million and Platinum $1,440 for 8 million. There is no monthly plan, and credits expire a year after purchase. Each endpoint's credit cost is published, from 1 credit a keyword to 5 a unique backlink. The API and the MCP server are on every plan with no separate fee. No free credits or trial were found, so an agent can't pull data without a purchase. Only balance, country and currency lookups are free. Top-up prices sit behind the account page.",
      "priceSummary": "$7 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the MCP docs or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": 14,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://api.keywordseverywhere.com/docs/",
      "registryName": "com.keywordseverywhere/keywords-everywhere",
      "capabilities": [
        "seo.keywords",
        "seo.backlinks",
        "seo.traffic",
        "seo.rankings"
      ],
      "tags": [
        "official",
        "hosted",
        "mcp",
        "oauth",
        "api-key",
        "closed-source",
        "usage-credits",
        "prepaid",
        "annual-plan",
        "read-only",
        "status-page"
      ],
      "lastRelease": "2025-06-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1306,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 10,
          "payments": 15,
          "reliability": 42,
          "schema": 43,
          "security": 47,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-05"
        },
        "negative": 0,
        "verdict": "Fourteen read-only lookups with a published credit cost each, over REST and a hosted MCP server with OAuth sign-in. Data needs an annual plan from $84, with no trial. No OpenAPI file, REST rate limit or API changelog was found, no dated API change since June 2025, and the status page tracks only the website.",
        "bestFor": "An agent that needs Google Keyword Planner volume, CPC and competition for lists of keywords at a low price per keyword, plus keyword ideas and a quick view of a site's ranking keywords, traffic estimate and top backlinks.",
        "strengths": [
          "Every REST endpoint and MCP tool is read-only, and each one's credit cost is published, from 1 credit a keyword to 5 a unique backlink",
          "Hosted MCP server at `https://mcp.keywordseverywhere.com/mcp` with 14 tools, using the same key and credits as the REST API",
          "MCP sign-in is OAuth 2.1 with dynamic client registration and PKCE. Access tokens expire after 3 hours, per the server's docs",
          "Each response returns the credits consumed, and balance, country and currency lookups cost nothing",
          "A DPA applies to every customer without signature and names six sub-processors with locations and 30 days' notice of changes"
        ],
        "weaknesses": [
          "No free credits or trial. Data calls need an annual plan, from $84 for 100,000 credits that expire after a year",
          "No OpenAPI file, llms.txt or official SDK was found. The reference is 15 Markdown pages behind a docsify viewer",
          "No rate limit is documented for the REST API. The only published limit is 120 MCP tool calls a minute per account",
          "No dated change to the API or the MCP server was found since the 7 June 2025 plan banner; the only changelog is the extension's",
          "One unscoped key per account, shared by up to 20 seats and by the browser extension, with no spending cap per key found",
          "The Terms of Service date from 30 May 2023 and say nothing about the API, data reuse, rate limits or deprecation"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer \u003ckey\u003e` to `https://api.keywordseverywhere.com/v1`. The same key works on the MCP server",
          "Call `GET /v1/account/credits` (free) before a large pull. A short balance returns 402 with `402 Insufficient Credits`",
          "Set `num` on domain, URL and backlink lookups. It accepts 1 to 10,000 and every returned row is charged 1, 2 or 5 credits",
          "Batch up to 100 keywords in one `get_keyword_data` call and set `country`. Without it the figures are global",
          "Keep MCP use under 120 tool calls a minute per account, and wait a minute after a Too many requests error"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 2.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.1
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 10,
          "payments": 15,
          "reliability": 42,
          "schema": 43,
          "security": 47,
          "transparency": 49
        },
        "provenanceScore": 87,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-05",
            "maintenance": "2026-11-05",
            "payments": "2026-11-05",
            "reliability": "2026-11-05",
            "schema": "2026-11-05",
            "security": "2026-11-05",
            "transparency": "2026-11-05"
          },
          "last": "2026-11-05",
          "lastMoved": "2026-11-05",
          "oldest": "2026-11-05",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -X POST \"https://api.keywordseverywhere.com/v1/get_keyword_data\" -H \"Authorization: Bearer YOUR_API_KEY\" -H \"Accept: application/json\" -d \"dataSource=gkp\" -d \"country=us\" -d \"currency=usd\" -d \"kw[]=digital marketing\"",
        "claudeCode": "claude mcp add --transport http keywords-everywhere https://mcp.keywordseverywhere.com/mcp -H \"Authorization: Bearer YOUR_KE_API_KEY\"",
        "config": {
          "mcpServers": {
            "keywords-everywhere": {
              "headers": {
                "Authorization": "Bearer YOUR_KE_API_KEY"
              },
              "url": "https://mcp.keywordseverywhere.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/seo.keywords",
        "tool": "https://letme.dev/keywords-everywhere"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Bronze plan, 100,000 credits a year",
          "unit": "month",
          "usd": 7,
          "note": "$84 billed annually. No monthly billing. Credits expire a year after purchase"
        },
        {
          "item": "Credit, Bronze plan",
          "unit": "credit",
          "usd": 0.00084,
          "note": "$84 for 100,000. $0.00042 on Silver, $0.00024 on Gold and $0.00018 on Platinum"
        },
        {
          "item": "Keyword metrics (volume, CPC, competition, trend), per keyword",
          "unit": "record",
          "usd": 0.00084,
          "note": "1 credit at the Bronze rate"
        },
        {
          "item": "Ranking keyword, related keyword or People Also Search For row",
          "unit": "record",
          "usd": 0.00168,
          "note": "2 credits a row at the Bronze rate"
        },
        {
          "item": "Backlink row",
          "unit": "record",
          "usd": 0.00084,
          "note": "1 credit at the Bronze rate. A unique backlink (one per source domain) is 5 credits, $0.0042"
        }
      ],
      "provenance": {
        "legalEntity": "Axeman Technology Solutions LLP",
        "domain": "keywordseverywhere.com",
        "domainRegistered": "2016-07-01",
        "endpointOnVendorDomain": true,
        "terms": "https://keywordseverywhere.com/terms.html",
        "privacy": "https://keywordseverywhere.com/privacy.html",
        "statusPage": "https://status.keywordseverywhere.com/",
        "changelog": "https://keywordseverywhere.com/changelog.html",
        "securityTxt": "none",
        "checked": "2026-11-05",
        "notes": [
          "The privacy policy (15 August 2025), the security overview and the DPA (both July 2026) name Axeman Technology Solutions LLP, a limited liability partnership registered in India, as the operator.",
          "The Terms of Service (30 May 2023) are the only terms published and the DPA calls them the Principal Agreement. They name no legal entity and don't mention the API.",
          "The privacy policy describes its scope as the browser add-on and website. The DPA covers the APIs by name.",
          "The REST API answers at api.keywordseverywhere.com and the MCP server at mcp.keywordseverywhere.com.",
          "keywordseverywhere.com/.well-known/security.txt answered 404 on 9 October 2026. The security overview gives privacy@keywordseverywhere.com for security enquiries.",
          "The changelog covers the browser extension only. No changelog for the API or the MCP server was found.",
          "On 9 October 2026 the status page had one component, Keywords Everywhere Website, with a 90-day timeline by day. On 5 November 2026 its robots.txt answered with the status page's HTML, so the host wasn't read again.",
          "Paddle.com Market Limited is the merchant of record for all purchases.",
          "robots.txt on keywordseverywhere.com and api.keywordseverywhere.com disallows /service/ and /ke/ only. On mcp.keywordseverywhere.com it allows /docs and disallows every other path, so the MCP endpoint and its discovery documents were not requested. None carries a Content-Signal line."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/keywords-everywhere.json",
      "live": {
        "slug": "keywords-everywhere",
        "probe": {
          "target": "https://api.keywordseverywhere.com",
          "method": "get",
          "lastAt": "2026-11-07T19:22:14.676641119Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 394,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.89,
          "p50ms24h": 351,
          "p95ms24h": 455,
          "samples24h": 238,
          "samples30d": 7215,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 241
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 246
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 250
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 197
            }
          ],
          "outages": [
            {
              "start": "2026-10-10T05:21:15.011278216Z",
              "end": "2026-10-10T05:56:57.987559277Z",
              "note": "HTTP 503 server error"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.keywordseverywhere.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:58.248464237Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.keywordseverywhere/keywords-everywhere",
            "version": "2.0.0",
            "seenAt": "2026-11-07T18:16:28.95801333Z"
          },
          {
            "registry": "npm",
            "name": "n8n-nodes-keywords-everywhere-api",
            "version": "0.1.5",
            "seenAt": "2026-11-06T23:36:50.310229849Z"
          }
        ],
        "npmWeekly": 15,
        "securityTxt": {
          "url": "https://keywordseverywhere.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:53.77118304Z"
        },
        "domain": {
          "domain": "keywordseverywhere.com",
          "registered": "2016-07-01",
          "source": "https://rdap.verisign.com/com/v1/domain/keywordseverywhere.com",
          "checkedAt": "2026-11-01T14:07:54.242889781Z"
        },
        "pages": [
          {
            "url": "https://keywordseverywhere.com/changelog.html",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:11:53.714892141Z",
            "changedAt": "2026-10-25T02:49:03.472949218Z",
            "fingerprint": "818617123d2c"
          },
          {
            "url": "https://keywordseverywhere.com/privacy.html",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:11:55.915390689Z",
            "changedAt": "2026-10-23T01:49:36.398559083Z",
            "fingerprint": "73bc5e4cace1"
          },
          {
            "url": "https://keywordseverywhere.com/terms.html",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:11:57.845568313Z",
            "changedAt": "2026-11-02T07:18:56.47448226Z",
            "fingerprint": "e4877e6398fc"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.keywordseverywhere.com/mcp",
          "checkedAt": "2026-11-07T01:45:39.381199161Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:45:39.381199161Z"
        },
        "updatedAt": "2026-11-07T19:22:14.676641119Z"
      }
    },
    "answer": "SpyFu API scores 48.1 (D) on agent readiness against Keywords Everywhere API + MCP's 41.1 (E), and leads in 6 of 7 scored categories. Keywords Everywhere API + MCP leads on transparency \u0026 trust.",
    "b": {
      "slug": "spyfu",
      "name": "SpyFu API",
      "vendor": "SpyFu, Inc.",
      "vendorUrl": "https://www.spyfu.com",
      "kind": "http-api",
      "category": "seo",
      "summary": "SpyFu's REST API returns competitor SEO and paid-search data from SpyFu's index, including domain stats over time, organic and paid keywords, ad history, ranking history and competitors, billed per row returned.",
      "url": "https://www.anchorterminal.com/tools/spyfu",
      "markdownUrl": "https://www.anchorterminal.com/tools/spyfu.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/spyfu.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/spyfu.json",
      "dns": "spyfu.grade.anchorterminal.com",
      "license": "Proprietary, under SpyFu, Inc.'s terms and conditions",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.spyfu.com/apis",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API ID and secret key from Account Settings \u003e API Usage. Sent as HTTP Basic (Base64 of `API_ID:SECRET_KEY`), as a timestamped HMAC signature in an `Authentication` header, or as an `api_key` query parameter. No scopes found.",
      "pricing": "paid",
      "pricingNotes": "API access comes with a SpyFu Pro + AI plan ($40 monthly API credit included) or Team/Agency plan ($100 credit). Usage is billed per 1,000 rows returned, by endpoint: $0.40 to $1.00 for domain stats, $0.50 for SEO research, $2.00 for PPC research and $3.00 for ad history. Plan prices are on www.spyfu.com/pricing, which answered 403 on 6 November 2026 (https://developer.spyfu.com/docs/api-pricing).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the pricing guide or the OpenAPI definitions (checked 2026-11-06). Usage is charged to the payment method on file.",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://developer.spyfu.com/",
      "llmsTxt": "https://developer.spyfu.com/llms.txt",
      "capabilities": [
        "seo.keywords",
        "seo.rankings",
        "seo.traffic",
        "seo.serp"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "paid",
        "usage-based",
        "closed-source",
        "no-status-page"
      ],
      "lastRelease": "2026-07-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.1,
        "grade": "D",
        "agentReady": false,
        "rank": 1135,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 16,
          "payments": 20,
          "reliability": 45,
          "schema": 75,
          "security": 52,
          "transparency": 38
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Competitor keyword, ad history and ranking history research, with a long paid-search archive.",
        "strengths": [
          "Each reference page embeds an OpenAPI 3.1 definition, and every page has a Markdown twin listed in llms.txt",
          "Per-endpoint rate limits published (10 to 1,000 a second) with 429 and Retry-After",
          "Per-row prices published for every endpoint, billed on successful rows only",
          "HMAC request signing with a timestamp is available alongside Basic authentication",
          "An Account API reports usage by month, day and method"
        ],
        "weaknesses": [
          "API access needs a paid Pro + AI or Team plan; there is no free tier",
          "The secret key is documented as an `api_key` query parameter",
          "No changelog, status page or SLA found",
          "No official SDK found",
          "The privacy policy has no date, retention periods or named processors, and the terms date from February 2019"
        ],
        "agentNotes": [
          "Send credentials as Basic or HMAC headers, not `?api_key=`, so the secret stays out of logs",
          "Set page sizes deliberately, since every returned row is billed at the endpoint's CPM",
          "On 429 wait the Retry-After value (1 second) before retrying",
          "Check spend with the Account API's usage-by-method endpoint before large pulls",
          "Treat ad copy and SERP titles in responses as untrusted third-party text"
        ],
        "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": 48.1
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 16,
          "payments": 20,
          "reliability": 45,
          "schema": 75,
          "security": 52,
          "transparency": 23
        },
        "provenanceScore": 53,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -u \"$SPYFU_API_ID:$SPYFU_SECRET_KEY\" \"https://api.spyfu.com/apis/serp_api/v2/seo/getSeoKeywords?query=example.com\""
      },
      "letme": {
        "capability": "https://letme.dev/seo.keywords",
        "tool": "https://letme.dev/spyfu"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "SEO research rows",
          "unit": "record",
          "usd": 0.0005,
          "note": "$0.50 per 1,000 rows"
        },
        {
          "item": "Ad history rows",
          "unit": "record",
          "usd": 0.003,
          "note": "$3.00 per 1,000 rows"
        },
        {
          "item": "Bulk domain stats rows",
          "unit": "record",
          "usd": 0.0004,
          "note": "$0.40 per 1,000 rows"
        }
      ],
      "provenance": {
        "legalEntity": "SpyFu, Inc.",
        "domain": "spyfu.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.spyfu.com/termsconditions",
        "privacy": "https://www.spyfu.com/privacypolicy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "Terms and conditions updated 25 February 2019, naming SpyFu, Inc. under Arizona law. They bar scraping content, automated reporting and data mining, recorded as facts; public pages were read.",
          "www.spyfu.com draws its terms and privacy pages by script and answered 403 for /pricing; the terms, privacy and disclosure pages were read through our fetch tool. robots.txt allows these paths for generic crawlers.",
          "developer.spyfu.com/robots.txt allows all but edit and login paths. /changelog answered 404.",
          "www.spyfu.com/.well-known/security.txt returned 404; status.spyfu.com did not resolve."
        ],
        "score": 53
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/spyfu.json",
      "live": {
        "slug": "spyfu",
        "probe": {
          "target": "https://api.spyfu.com/apis",
          "method": "get",
          "lastAt": "2026-11-07T19:22:35.542707675Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 3314,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 99.05,
          "uptime30d": 99.05,
          "p50ms24h": 734,
          "p95ms24h": 3994,
          "samples24h": 210,
          "samples30d": 210,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 197,
              "ok": 195
            }
          ]
        },
        "securityTxt": {
          "url": "https://spyfu.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:22.752070696Z"
        },
        "llmsTxt": {
          "url": "https://developer.spyfu.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:01.556270301Z"
        },
        "pages": [
          {
            "url": "https://developer.spyfu.com/docs/api-pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:03:21.211542645Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f047f1c4ba95"
          },
          {
            "url": "https://www.spyfu.com/privacypolicy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:02.32286005Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "72b0d52bf200"
          },
          {
            "url": "https://www.spyfu.com/termsconditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:04.716024989Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "72b0d52bf200"
          }
        ],
        "updatedAt": "2026-11-07T19:22:35.542707675Z"
      }
    },
    "edges": [
      {
        "by": 32,
        "category": "schema",
        "leads": "spyfu",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI file or other machine-readable contract was found for the REST API, and the MCP server's input schemas weren't read because its robots.txt closes the endpoint, so the contract line has no evidence (0). keywordseverywhere.com/llms.txt answered 404 on 9 October. The API reference is a docsify site whose pages are plain Markdown files listed in its sidebar, which a model can read directly (5 of 10). Each page states the endpoint's purpose and credit cost in a line or two, and the API overview says the service is not a rank tracker and that competition is an advertiser metric (11 of 20). Parameter tables give type, examples, options (`gkp` or `cli`), a range of 1 to 10,000 for `num` and a 100-keyword ceiling. Required status isn't stated (9 of 15). Every endpoint has request samples in eight languages, a sample response, a status code table and sample 401 and 402 bodies. There is no sample for 400 (13 of 15). Paths are versioned under `/v1`. The only changelog is the browser extension's, and the registry version the 9 October check also counted came from a JSON API this re-check doesn't use (5 of 15, an earlier partial kept). 0+5+11+9+13+5 = 43.",
          "b": "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."
        },
        "scores": {
          "a": 43,
          "b": 75
        }
      },
      {
        "by": 30,
        "category": "transparency",
        "leads": "keywords-everywhere",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Closed service. The Terms of Service date from 30 May 2023, are adapted from the WordPress terms, and don't mention the API, reuse or resale of the data, or the legal entity. The vendor's n8n node is MIT (8 of 30). A privacy policy of 15 August 2025 (per the 9 October check), a DPA of July 2026 that applies to every customer without signature, and a security overview give retention figures of about 30 days for web server logs and no more than 90 days for backups, and the MCP docs say the server keeps request counters and short-lived logs only. The privacy policy describes its scope as the browser add-on and says only an email address is required, while the DPA lists names, keyword queries and usage data (19 of 30). No deprecation policy was found. The terms allow termination of access at any time without notice, and the only dated API notice is the banner of 7 June 2025 (3 of 20). Six sub-processors are named with purpose and location, with 30 days' notice of changes, and the DPA says data is stored mainly in the EU, also in the United States, and accessed from India (19 of 20). 8+19+3+19 = 49.",
          "b": "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."
        },
        "scores": {
          "a": 68,
          "b": 38
        }
      },
      {
        "by": 11,
        "category": "ergonomics",
        "leads": "spyfu",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The MCP server has 14 tools, which is 15 on the MCP line. The size of the definitions wasn't read (15 of 25). `num` caps the rows returned by keyword and backlink lists and `get_keyword_data` takes up to 100 keywords a call. No offset, cursor, filter or field selection was found, so a second page of results can't be requested (9 of 20). Errors are JSON with a `message` such as `402 Insufficient Credits` and, on some endpoints, a `description`. 400 is documented only as invalid request data (11 of 20). Every endpoint and tool is a read, so a retry changes nothing in the account, though a repeated call spends credits again. The vendor says every tool is read-only. Tool annotations weren't read (12 of 20). Most parameters are optional and volume is global when `country` is omitted. No SDK was found. The vendor publishes an n8n node and code samples in eight languages (7 of 15). 15+9+11+12+7 = 54.",
          "b": "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."
        },
        "scores": {
          "a": 54,
          "b": 65
        }
      },
      {
        "by": 6,
        "category": "maintenance",
        "leads": "spyfu",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "No dated change to the REST API or the MCP server was found in a source this re-check can use. The newest is the API docs banner of 7 June 2025 (all methods on all plans), and the vendor's n8n node has been at 0.1.5 since 27 April 2025, both over 180 days ago (0). The 9 October award rested on the official registry's version date of 10 September 2026, read from the registry's JSON API, which this re-check doesn't use, and on the July 2026 dates of the security overview and DPA, which record no API change. The extension changelog (newest v11.56, 24 October 2026) covers the browser extension, which isn't graded here. No dated API or MCP entry in the 90 days from 7 August (0). A product news page lists known issues with fix dates, and support is by email. No forum or public issue tracker was found (8 of 15, an earlier partial kept). No registry page could be read, so registry presence rests on the vendor's claim and scores 0, and no SDK was found (0). The n8n node has been at 0.1.5 since 27 April 2025 (2 of 10). 0+0+8+0+2 = 10.",
          "b": "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."
        },
        "scores": {
          "a": 10,
          "b": 16
        }
      },
      {
        "by": 5,
        "category": "security",
        "leads": "spyfu",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One API key per account, sent as a Bearer token and reset through an emailed link. It has no scopes and is shared by every seat on the plan and by the browser extension. The MCP server adds OAuth 2.1 with dynamic client registration, PKCE and 3-hour access tokens, and its docs say the key is stored encrypted with AES-256-GCM. Per the 9 October check, links on the vendor's own site carry the key as an `apiKey` query parameter to the subscription pages. The API docs show only the header (18 of 30, an earlier partial kept). Every endpoint and tool is read-only and nothing in the account can be changed. A key can spend the whole credit balance, and no cap per key was found (14 of 20). Responses carry third-party anchor text, URLs and keywords, and no prompt-injection guidance was found (3 of 15). Each response returns `credits_consumed` and the account has a stats page. No per-call log for the customer is documented (5 of 15). The security overview (last updated July 2026) describes access control, patching and 72-hour breach notice, gives privacy@keywordseverywhere.com for security enquiries, and states that the vendor holds no SOC 2 or ISO 27001 certification of its own. No security.txt, vulnerability disclosure policy or bug bounty was found (7 of 20, an earlier partial kept). 18+14+3+5+7 = 47.",
          "b": "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."
        },
        "scores": {
          "a": 47,
          "b": 52
        }
      },
      {
        "by": 5,
        "category": "payments",
        "leads": "spyfu",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Four annual plans are priced in public with their credit amounts, the pricing page says \"1 Credit = 1 Keyword\", and the docs give a credit cost for every endpoint, so a keyword lookup works out at $0.00084 on Bronze and $0.00018 on Platinum. Credits are sold publicly only inside annual plans, and top-up prices sit behind the account, so plan prices plus a credit formula take 15, as creatomate, bannerbear, placid and templated do (15). The API key is free, but data calls need a paid plan and no trial or free credits were found. Only balance, country and currency lookups cost nothing (0). A person enters an email address in a browser form and follows an emailed link to get the key, and buys a plan through Paddle (0). 0+15+0+0 = 15.",
          "b": "No x402, MPP or L402 (0). Per-row prices for every endpoint are public on the developer site (20). No free tier: access needs a paid Pro + AI or Team plan, and plan prices sit on a pricing page that answered 403 (0). A person signs up and pays in a browser (0). 0+20+0+0 = 20."
        },
        "scores": {
          "a": 15,
          "b": 20
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Keywords Everywhere (Axeman Technology Solutions LLP)",
        "b": "SpyFu, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.keywordseverywhere.com",
        "b": "https://api.spyfu.com/apis",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "$0.0008 per record",
        "b": "not published",
        "name": "Price for keyword data"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Keywords Everywhere Terms of Service. The vendor's n8n community node on npm is MIT",
        "b": "Proprietary, under SpyFu, Inc.'s terms and conditions",
        "name": "Licence"
      },
      {
        "a": "14",
        "b": "0",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "com.keywordseverywhere/keywords-everywhere",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2025-06-07",
        "b": "2026-07-13",
        "name": "Last release"
      },
      {
        "a": "2023-05-30",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2025-08-15",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.8/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "SpyFu API scores 48.1 (D) on agent readiness against Keywords Everywhere API + MCP's 41.1 (E), and leads in 6 of 7 scored categories. Keywords Everywhere API + MCP leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Keywords Everywhere API + MCP or SpyFu API?"
      },
      {
        "answer": "Keywords Everywhere API + MCP takes an API key or an OAuth sign-in. SpyFu API needs an API key.",
        "question": "Do Keywords Everywhere API + MCP and SpyFu API need an API key?"
      },
      {
        "answer": "Yes. Keywords Everywhere API + MCP has a hosted endpoint at https://api.keywordseverywhere.com and SpyFu API at https://api.spyfu.com/apis.",
        "question": "Can an agent call Keywords Everywhere API + MCP and SpyFu API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Transparency \u0026 trust, 68 against 38"
        ],
        "also": null,
        "goodFor": "An agent that needs Google Keyword Planner volume, CPC and competition for lists of keywords at a low price per keyword, plus keyword ideas and a quick view of a site's ranking keywords, traffic estimate and top backlinks.",
        "slug": "keywords-everywhere",
        "watchFor": "No free credits or trial. Data calls need an annual plan, from $84 for 100,000 credits that expire after a year"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 75 against 43",
          "Agent ergonomics, 65 against 54",
          "Security \u0026 auth, 52 against 47",
          "Payments \u0026 pricing, 20 against 15",
          "Maintenance \u0026 community, 16 against 10"
        ],
        "also": null,
        "goodFor": "Competitor keyword, ad history and ranking history research, with a long paid-search archive.",
        "slug": "spyfu",
        "watchFor": "API access needs a paid Pro + AI or Team plan; there is no free tier"
      }
    ],
    "history": {
      "keywords-everywhere": [
        {
          "causes": [
            "correction"
          ],
          "date": "2026-11-05",
          "delta": -6.1,
          "from": 47.2,
          "fromGrade": "D",
          "to": 41.1,
          "toGrade": "E"
        },
        {
          "causes": [
            "correction"
          ],
          "date": "2026-10-28",
          "delta": -0.1,
          "from": 47.3,
          "fromGrade": "D",
          "to": 47.2,
          "toGrade": "D"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 47.2,
          "fromGrade": "D",
          "to": 47.3,
          "toGrade": "D"
        }
      ],
      "spyfu": null
    },
    "job": {
      "capability": "seo.keywords",
      "name": "Keyword data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahrefs-vs-keywords-everywhere.json",
        "title": "Ahrefs vs Keywords Everywhere API + MCP",
        "url": "https://www.anchorterminal.com/compare/ahrefs-vs-keywords-everywhere"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahrefs-vs-spyfu.json",
        "title": "Ahrefs vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/ahrefs-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-keywords-everywhere.json",
        "title": "DataForSEO vs Keywords Everywhere API + MCP",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-keywords-everywhere"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-spyfu.json",
        "title": "DataForSEO vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-majestic.json",
        "title": "Keywords Everywhere API + MCP vs Majestic API",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-majestic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-manifold-mcp.json",
        "title": "Keywords Everywhere API + MCP vs Manifold",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-manifold-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-moz-api.json",
        "title": "Keywords Everywhere API + MCP vs Moz API",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-moz-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-se-ranking.json",
        "title": "Keywords Everywhere API + MCP vs SE Ranking API + MCP",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-se-ranking"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-semrush.json",
        "title": "Keywords Everywhere API + MCP vs Semrush API + MCP",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-semrush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-similarweb.json",
        "title": "Keywords Everywhere API + MCP vs Similarweb",
        "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-similarweb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/majestic-vs-spyfu.json",
        "title": "Majestic API vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/majestic-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/manifold-mcp-vs-spyfu.json",
        "title": "Manifold vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/manifold-mcp-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/moz-api-vs-spyfu.json",
        "title": "Moz API vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/moz-api-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/se-ranking-vs-spyfu.json",
        "title": "SE Ranking API + MCP vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/se-ranking-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/semrush-vs-spyfu.json",
        "title": "Semrush API + MCP vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/semrush-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-keywords-everywhere.json",
        "title": "Google Search Console API vs Keywords Everywhere API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-keywords-everywhere"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-spyfu.json",
        "title": "Google Search Console API vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-spyfu"
      },
      {
        "json": "https://www.anchorterminal.com/compare/similarweb-vs-spyfu.json",
        "title": "Similarweb vs SpyFu API",
        "url": "https://www.anchorterminal.com/compare/similarweb-vs-spyfu"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 3,
        "edge": "spyfu",
        "key": "reliability",
        "keywords-everywhere": 42,
        "name": "Reliability",
        "spyfu": 45,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 32,
        "edge": "spyfu",
        "key": "schema",
        "keywords-everywhere": 43,
        "name": "Schema \u0026 documentation",
        "spyfu": 75,
        "weight": 13
      },
      {
        "by": 11,
        "edge": "spyfu",
        "key": "ergonomics",
        "keywords-everywhere": 54,
        "name": "Agent ergonomics",
        "spyfu": 65,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "spyfu",
        "key": "security",
        "keywords-everywhere": 47,
        "name": "Security \u0026 auth",
        "spyfu": 52,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "spyfu",
        "key": "payments",
        "keywords-everywhere": 15,
        "name": "Payments \u0026 pricing",
        "spyfu": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "spyfu",
        "key": "maintenance",
        "keywords-everywhere": 10,
        "name": "Maintenance \u0026 community",
        "spyfu": 16,
        "weight": 7
      },
      {
        "by": 30,
        "edge": "keywords-everywhere",
        "key": "transparency",
        "keywords-everywhere": 68,
        "name": "Transparency \u0026 trust",
        "spyfu": 38,
        "weight": 7
      }
    ],
    "summary": "SpyFu API scores 48.1 (D) on agent readiness against Keywords Everywhere API + MCP's 41.1 (E), and leads in 6 of 7 scored categories. Keywords Everywhere API + MCP leads on transparency \u0026 trust. Both do keyword data.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "keywords-everywhere": "Fourteen read-only lookups with a published credit cost each, over REST and a hosted MCP server with OAuth sign-in. Data needs an annual plan from $84, with no trial. No OpenAPI file, REST rate limit or API changelog was found, no dated API change since June 2025, and the status page tracks only the website.",
      "spyfu": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu",
    "json": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu.min.md"
  },
  "markdown": "SpyFu API scores 48.1 (D) on agent readiness against Keywords Everywhere API + MCP's 41.1 (E), and leads in 6 of 7 scored categories. Keywords Everywhere API + MCP leads on transparency \u0026 trust. Both do keyword data.\n\n- Keywords Everywhere API + MCP: grade E, 41.1/100, rank #1306 of 1510. Markdown https://www.anchorterminal.com/tools/keywords-everywhere.md · JSON https://www.anchorterminal.com/api/v1/tools/keywords-everywhere.json\n- SpyFu API: grade D, 48.1/100, rank #1135 of 1510. Markdown https://www.anchorterminal.com/tools/spyfu.md · JSON https://www.anchorterminal.com/api/v1/tools/spyfu.json\n- Best SEO and search visibility data for AI agents: https://www.anchorterminal.com/best/seo/index.md\n- All 56 seo comparisons: https://www.anchorterminal.com/compare/seo/index.md\n\n## Which one, for what\n\n### Keywords Everywhere API + MCP (E)\n\nGood for: An agent that needs Google Keyword Planner volume, CPC and competition for lists of keywords at a low price per keyword, plus keyword ideas and a quick view of a site's ranking keywords, traffic estimate and top backlinks.\n\nAhead on:\n- Transparency \u0026 trust, 68 against 38\n\nWatch for: No free credits or trial. Data calls need an annual plan, from $84 for 100,000 credits that expire after a year\n\n### SpyFu API (D)\n\nGood for: Competitor keyword, ad history and ranking history research, with a long paid-search archive.\n\nAhead on:\n- Schema \u0026 documentation, 75 against 43\n- Agent ergonomics, 65 against 54\n- Security \u0026 auth, 52 against 47\n- Payments \u0026 pricing, 20 against 15\n- Maintenance \u0026 community, 16 against 10\n\nWatch for: API access needs a paid Pro + AI or Team plan; there is no free tier\n\n\n## Why the edge\n\n### Schema \u0026 documentation: SpyFu API +32\n\n- Keywords Everywhere API + MCP (43): No OpenAPI file or other machine-readable contract was found for the REST API, and the MCP server's input schemas weren't read because its robots.txt closes the endpoint, so the contract line has no evidence (0). keywordseverywhere.com/llms.txt answered 404 on 9 October. The API reference is a docsify site whose pages are plain Markdown files listed in its sidebar, which a model can read directly (5 of 10). Each page states the endpoint's purpose and credit cost in a line or two, and the API overview says the service is not a rank tracker and that competition is an advertiser metric (11 of 20). Parameter tables give type, examples, options (`gkp` or `cli`), a range of 1 to 10,000 for `num` and a 100-keyword ceiling. Required status isn't stated (9 of 15). Every endpoint has request samples in eight languages, a sample response, a status code table and sample 401 and 402 bodies. There is no sample for 400 (13 of 15). Paths are versioned under `/v1`. The only changelog is the browser extension's, and the registry version the 9 October check also counted came from a JSON API this re-check doesn't use (5 of 15, an earlier partial kept). 0+5+11+9+13+5 = 43.\n- 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.\n\n### Transparency \u0026 trust: Keywords Everywhere API + MCP +30\n\n- Keywords Everywhere API + MCP (68): Closed service. The Terms of Service date from 30 May 2023, are adapted from the WordPress terms, and don't mention the API, reuse or resale of the data, or the legal entity. The vendor's n8n node is MIT (8 of 30). A privacy policy of 15 August 2025 (per the 9 October check), a DPA of July 2026 that applies to every customer without signature, and a security overview give retention figures of about 30 days for web server logs and no more than 90 days for backups, and the MCP docs say the server keeps request counters and short-lived logs only. The privacy policy describes its scope as the browser add-on and says only an email address is required, while the DPA lists names, keyword queries and usage data (19 of 30). No deprecation policy was found. The terms allow termination of access at any time without notice, and the only dated API notice is the banner of 7 June 2025 (3 of 20). Six sub-processors are named with purpose and location, with 30 days' notice of changes, and the DPA says data is stored mainly in the EU, also in the United States, and accessed from India (19 of 20). 8+19+3+19 = 49.\n- 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.\n\n### Agent ergonomics: SpyFu API +11\n\n- Keywords Everywhere API + MCP (54): The MCP server has 14 tools, which is 15 on the MCP line. The size of the definitions wasn't read (15 of 25). `num` caps the rows returned by keyword and backlink lists and `get_keyword_data` takes up to 100 keywords a call. No offset, cursor, filter or field selection was found, so a second page of results can't be requested (9 of 20). Errors are JSON with a `message` such as `402 Insufficient Credits` and, on some endpoints, a `description`. 400 is documented only as invalid request data (11 of 20). Every endpoint and tool is a read, so a retry changes nothing in the account, though a repeated call spends credits again. The vendor says every tool is read-only. Tool annotations weren't read (12 of 20). Most parameters are optional and volume is global when `country` is omitted. No SDK was found. The vendor publishes an n8n node and code samples in eight languages (7 of 15). 15+9+11+12+7 = 54.\n- 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.\n\n### Maintenance \u0026 community: SpyFu API +6\n\n- Keywords Everywhere API + MCP (10): No dated change to the REST API or the MCP server was found in a source this re-check can use. The newest is the API docs banner of 7 June 2025 (all methods on all plans), and the vendor's n8n node has been at 0.1.5 since 27 April 2025, both over 180 days ago (0). The 9 October award rested on the official registry's version date of 10 September 2026, read from the registry's JSON API, which this re-check doesn't use, and on the July 2026 dates of the security overview and DPA, which record no API change. The extension changelog (newest v11.56, 24 October 2026) covers the browser extension, which isn't graded here. No dated API or MCP entry in the 90 days from 7 August (0). A product news page lists known issues with fix dates, and support is by email. No forum or public issue tracker was found (8 of 15, an earlier partial kept). No registry page could be read, so registry presence rests on the vendor's claim and scores 0, and no SDK was found (0). The n8n node has been at 0.1.5 since 27 April 2025 (2 of 10). 0+0+8+0+2 = 10.\n- 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.\n\n### Security \u0026 auth: SpyFu API +5\n\n- Keywords Everywhere API + MCP (47): One API key per account, sent as a Bearer token and reset through an emailed link. It has no scopes and is shared by every seat on the plan and by the browser extension. The MCP server adds OAuth 2.1 with dynamic client registration, PKCE and 3-hour access tokens, and its docs say the key is stored encrypted with AES-256-GCM. Per the 9 October check, links on the vendor's own site carry the key as an `apiKey` query parameter to the subscription pages. The API docs show only the header (18 of 30, an earlier partial kept). Every endpoint and tool is read-only and nothing in the account can be changed. A key can spend the whole credit balance, and no cap per key was found (14 of 20). Responses carry third-party anchor text, URLs and keywords, and no prompt-injection guidance was found (3 of 15). Each response returns `credits_consumed` and the account has a stats page. No per-call log for the customer is documented (5 of 15). The security overview (last updated July 2026) describes access control, patching and 72-hour breach notice, gives privacy@keywordseverywhere.com for security enquiries, and states that the vendor holds no SOC 2 or ISO 27001 certification of its own. No security.txt, vulnerability disclosure policy or bug bounty was found (7 of 20, an earlier partial kept). 18+14+3+5+7 = 47.\n- 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.\n\n### Payments \u0026 pricing: SpyFu API +5\n\n- Keywords Everywhere API + MCP (15): No x402, MPP or L402 (0). Four annual plans are priced in public with their credit amounts, the pricing page says \"1 Credit = 1 Keyword\", and the docs give a credit cost for every endpoint, so a keyword lookup works out at $0.00084 on Bronze and $0.00018 on Platinum. Credits are sold publicly only inside annual plans, and top-up prices sit behind the account, so plan prices plus a credit formula take 15, as creatomate, bannerbear, placid and templated do (15). The API key is free, but data calls need a paid plan and no trial or free credits were found. Only balance, country and currency lookups cost nothing (0). A person enters an email address in a browser form and follows an emailed link to get the key, and buys a plan through Paddle (0). 0+15+0+0 = 15.\n- SpyFu API (20): No x402, MPP or L402 (0). Per-row prices for every endpoint are public on the developer site (20). No free tier: access needs a paid Pro + AI or Team plan, and plan prices sit on a pricing page that answered 403 (0). A person signs up and pays in a browser (0). 0+20+0+0 = 20.\n\n## Score by category\n\n| Category | Weight | Keywords Everywhere API + MCP | SpyFu API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 42 | 45 | SpyFu API +3 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 43 | 75 | SpyFu API +32 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 65 | SpyFu API +11 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 52 | SpyFu API +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 20 | SpyFu API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 10 | 16 | SpyFu API +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 38 | Keywords Everywhere API + MCP +30 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **41.1 · E** | **48.1 · D** | |\n\n## Facts side by side\n\n| Fact | Keywords Everywhere API + MCP | SpyFu API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Keywords Everywhere (Axeman Technology Solutions LLP) | SpyFu, Inc. |\n| Hosted endpoint | `https://api.keywordseverywhere.com` | `https://api.spyfu.com/apis` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\n| Price for keyword data | $0.0008 per record | not published |\n| x402 | no | no |\n| Licence | Proprietary service under the Keywords Everywhere Terms of Service. The vendor's n8n community node on npm is MIT | Proprietary, under SpyFu, Inc.'s terms and conditions |\n| Tools exposed | 14 | 0 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| MCP registry | `com.keywordseverywhere/keywords-everywhere` | not listed |\n| Last release | 2025-06-07 | 2026-07-13 |\n| Terms last updated | 2023-05-30 | couldn't be read |\n| Privacy policy last updated | 2025-08-15 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Agent reviews | 2.8/5 (4) | none |\n\n## How the scores have moved\n\n### Keywords Everywhere API + MCP\n\n- -6.1 on 5 November 2026 (D to E): correction\n- -0.1 on 28 October 2026: correction\n- +0.1 on 27 October 2026: checklist\n\n### SpyFu API\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Keywords Everywhere API + MCP.** Fourteen read-only lookups with a published credit cost each, over REST and a hosted MCP server with OAuth sign-in. Data needs an annual plan from $84, with no trial. No OpenAPI file, REST rate limit or API changelog was found, no dated API change since June 2025, and the status page tracks only the website.\n\n**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.\n\n## Before you call either\n\n### Keywords Everywhere API + MCP\n\n1. Send the key as `Authorization: Bearer \u003ckey\u003e` to `https://api.keywordseverywhere.com/v1`. The same key works on the MCP server\n2. Call `GET /v1/account/credits` (free) before a large pull. A short balance returns 402 with `402 Insufficient Credits`\n3. Set `num` on domain, URL and backlink lookups. It accepts 1 to 10,000 and every returned row is charged 1, 2 or 5 credits\n4. Batch up to 100 keywords in one `get_keyword_data` call and set `country`. Without it the figures are global\n5. Keep MCP use under 120 tool calls a minute per account, and wait a minute after a Too many requests error\n\n### SpyFu API\n\n1. Send credentials as Basic or HMAC headers, not `?api_key=`, so the secret stays out of logs\n2. Set page sizes deliberately, since every returned row is billed at the endpoint's CPM\n3. On 429 wait the Retry-After value (1 second) before retrying\n4. Check spend with the Account API's usage-by-method endpoint before large pulls\n5. Treat ad copy and SERP titles in responses as untrusted third-party text\n\n## Questions\n\n### Which is better for AI agents, Keywords Everywhere API + MCP or SpyFu API?\n\nSpyFu API scores 48.1 (D) on agent readiness against Keywords Everywhere API + MCP's 41.1 (E), and leads in 6 of 7 scored categories. Keywords Everywhere API + MCP leads on transparency \u0026 trust.\n\n### Do Keywords Everywhere API + MCP and SpyFu API need an API key?\n\nKeywords Everywhere API + MCP takes an API key or an OAuth sign-in. SpyFu API needs an API key.\n\n### Can an agent call Keywords Everywhere API + MCP and SpyFu API without installing anything?\n\nYes. Keywords Everywhere API + MCP has a hosted endpoint at https://api.keywordseverywhere.com and SpyFu API at https://api.spyfu.com/apis.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu.json, and with the fewest tokens: https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"keywords-everywhere\", \"b\": \"spyfu\"}`. From a terminal: `anchor compare keywords-everywhere spyfu`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/keywords-everywhere.json and https://www.anchorterminal.com/api/v1/tools/spyfu.json\n\n## Other comparisons with Keywords Everywhere API + MCP or SpyFu API\n\n- [Ahrefs vs Keywords Everywhere API + MCP](https://www.anchorterminal.com/compare/ahrefs-vs-keywords-everywhere.md)\n- [Ahrefs vs SpyFu API](https://www.anchorterminal.com/compare/ahrefs-vs-spyfu.md)\n- [DataForSEO vs Keywords Everywhere API + MCP](https://www.anchorterminal.com/compare/dataforseo-vs-keywords-everywhere.md)\n- [DataForSEO vs SpyFu API](https://www.anchorterminal.com/compare/dataforseo-vs-spyfu.md)\n- [Keywords Everywhere API + MCP vs Majestic API](https://www.anchorterminal.com/compare/keywords-everywhere-vs-majestic.md)\n- [Keywords Everywhere API + MCP vs Manifold](https://www.anchorterminal.com/compare/keywords-everywhere-vs-manifold-mcp.md)\n- [Keywords Everywhere API + MCP vs Moz API](https://www.anchorterminal.com/compare/keywords-everywhere-vs-moz-api.md)\n- [Keywords Everywhere API + MCP vs SE Ranking API + MCP](https://www.anchorterminal.com/compare/keywords-everywhere-vs-se-ranking.md)\n- [Keywords Everywhere API + MCP vs Semrush API + MCP](https://www.anchorterminal.com/compare/keywords-everywhere-vs-semrush.md)\n- [Keywords Everywhere API + MCP vs Similarweb](https://www.anchorterminal.com/compare/keywords-everywhere-vs-similarweb.md)\n- [Majestic API vs SpyFu API](https://www.anchorterminal.com/compare/majestic-vs-spyfu.md)\n- [Manifold vs SpyFu API](https://www.anchorterminal.com/compare/manifold-mcp-vs-spyfu.md)\n- [Moz API vs SpyFu API](https://www.anchorterminal.com/compare/moz-api-vs-spyfu.md)\n- [SE Ranking API + MCP vs SpyFu API](https://www.anchorterminal.com/compare/se-ranking-vs-spyfu.md)\n- [Semrush API + MCP vs SpyFu API](https://www.anchorterminal.com/compare/semrush-vs-spyfu.md)\n- [Google Search Console API vs Keywords Everywhere API + MCP](https://www.anchorterminal.com/compare/google-search-console-vs-keywords-everywhere.md)\n- [Google Search Console API vs SpyFu API](https://www.anchorterminal.com/compare/google-search-console-vs-spyfu.md)\n- [Similarweb vs SpyFu API](https://www.anchorterminal.com/compare/similarweb-vs-spyfu.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-07",
    "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": "Keywords Everywhere API + MCP vs SpyFu API",
        "url": ""
      }
    ],
    "description": "SpyFu scores 48.1 (D) to Keywords Everywhere's 41.1 (E) for keyword data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Keywords Everywhere API + MCP E 41.1",
      "SpyFu API D 48.1",
      "scores"
    ],
    "h1": "Keywords Everywhere API + MCP vs SpyFu API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/keywords-everywhere-vs-spyfu",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Keywords Everywhere vs SpyFu for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/keywords-everywhere-vs-spyfu"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 3180
  },
  "version": 1
}
