{
  "data": {
    "a": {
      "slug": "dataforseo",
      "name": "DataForSEO",
      "vendor": "DataForSEO OÜ",
      "vendorUrl": "https://dataforseo.com",
      "kind": "http-api",
      "category": "seo",
      "summary": "SEO data API from DataForSEO OÜ in Estonia. It returns search results pages, keyword volumes, backlinks, ranked keywords and traffic estimates as JSON, billed per request from a prepaid balance, with an official MCP server.",
      "url": "https://www.anchorterminal.com/tools/dataforseo",
      "markdownUrl": "https://www.anchorterminal.com/tools/dataforseo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/dataforseo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/dataforseo.json",
      "repo": "https://github.com/dataforseo/mcp-server-typescript",
      "license": "Proprietary service under DataForSEO's terms of service. The MCP server is Apache-2.0 and the Python client is MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.dataforseo.com/v3/",
      "packages": [
        {
          "registry": "npm",
          "name": "dataforseo-mcp-server"
        },
        {
          "registry": "npm",
          "name": "dataforseo-client"
        },
        {
          "registry": "pypi",
          "name": "dataforseo-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve. A person registers at app.dataforseo.com and verifies an email address or phone number, and the dashboard issues one API login and an automatically generated API password. The REST API accepts only HTTP Basic in the `Authorization` header, and the docs say credentials can't be passed in URL parameters. The credentials cover every API on the account, with no scopes. An optional IP whitelist and daily cost limits are set in the dashboard. The hosted MCP server also accepts OAuth 2.0 (authorisation code grant with PKCE, dynamic client registration, refresh and revocation, scopes `api` and `profile`).",
      "pricing": "usage",
      "pricingNotes": "Pay as you go from a prepaid balance, with a $50 minimum payment and funds that don't expire. Registration adds a $1 credit, and the sandbox at sandbox.dataforseo.com is free and returns dummy data, so an agent can start without a contract. Prices are per request and differ by API and by queue (Standard, Priority or Live). The errors page says Backlinks API access needs a minimal commitment, and the amount wasn't found (checked 2026-10-08).",
      "priceSummary": "$0.60 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the docs introduction, the pricing pages or the home page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 251,
        "npmWeekly": 31548,
        "pypiWeekly": 49757,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.dataforseo.com/v3/",
      "llmsTxt": "https://dataforseo.com/llms.txt",
      "openapi": "https://github.com/dataforseo/OpenApiDocumentation/blob/master/openapi_specification.yaml",
      "capabilities": [
        "seo.keywords",
        "seo.backlinks",
        "seo.serp",
        "seo.rankings",
        "seo.traffic",
        "search.serp"
      ],
      "tags": [
        "hosted",
        "usage-based",
        "prepaid",
        "mcp",
        "oauth",
        "openapi",
        "llms-txt",
        "python",
        "typescript",
        "csharp",
        "java",
        "php",
        "sandbox",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-10-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 64.9,
        "grade": "B",
        "agentReady": false,
        "rank": 304,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 40,
          "reliability": 84,
          "schema": 86,
          "security": 45,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": -6,
        "negativeNotes": [
          "26 to 27 March 2026. An attacker took over an admin session on the WordPress marketing website through the Flamingo plugin and deployed two webshells with command execution. DataForSEO says the site holds no customer data and no other infrastructure was affected, and published a postmortem on 28 March. Fixed and documented, so the deduction is reduced (-3). https://dataforseo.com/update/postmortem-wp-incident-march-27",
          "16 September 2026. The Pinterest API and the Social Media API suite were retired with an announcement dated the same day, and the docs pages now return 404. We found no earlier public notice, though customers may have been told by email (-3). https://dataforseo.com/update/ending-support-pinterest-and-social-media-ap%d1%96"
        ],
        "verdict": "Per-request prices are public for every endpoint, a $1 credit and a free sandbox need no payment, and the status feed shows no incident since 15 June 2026. The REST API accepts one account-wide login and password with no scopes, and no SLA or security certification was found in the reviewed pages.",
        "bestFor": "Agents and products that need raw SEO data in bulk at a low unit price, across SERPs, keyword volumes, backlinks, ranked keywords and traffic estimates, and that can work with a task queue.",
        "strengths": [
          "Per-request prices published for every API, from $0.0006 a results page in the standard queue, with the cost returned in each response",
          "OpenAPI 3.0.1 specification with 564 operations, llms.txt and a Markdown copy of each docs page",
          "Status feed shows no incident between 16 June and 8 October 2026 across 13 API components",
          "Appending `.ai` to a path trims the response and sets `limit` and `depth` to 10",
          "Hosted MCP server with four tools, OAuth 2.0 with PKCE, dynamic client registration and token revocation"
        ],
        "weaknesses": [
          "The REST API takes one account-wide login and password over HTTP Basic, with no scopes or read-only credential",
          "No SLA found, and the terms disclaim liability for downtime",
          "Errors arrive as HTTP 200 with a `status_code` in the body, at both the response and the task level",
          "No security.txt, certification or bug bounty found, and the marketing website was compromised on 26 March 2026",
          "Pinterest and the Social Media API were retired on 16 September 2026, the day of the announcement"
        ],
        "agentNotes": [
          "Check `status_code` on the response and on every task. HTTP 200 is returned for most errors, and 20000 or 20100 means success",
          "Append `.ai` to Live and Task GET paths to get the trimmed response. The MCP `api_request` tool does this unless `noAiMode` is true",
          "Build against https://sandbox.dataforseo.com/v3/ first. It is free and returns dummy data in the production structure",
          "Use the standard queue (`task_post`, then `task_get` or a `postback_url`) for bulk work. Live Google Ads endpoints allow 12 requests a minute",
          "Ask the account owner to set daily cost limits and an IP whitelist, since the credentials carry the whole prepaid balance"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 64.9
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 40,
          "reliability": 84,
          "schema": 86,
          "security": 45,
          "transparency": 65
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "npx dataforseo-mcp-server@latest",
        "http": "curl --location --request POST \"https://api.dataforseo.com/v3/serp/google/organic/live/regular\" --header \"Authorization: Basic ${cred}\" --header \"Content-Type: application/json\" --data-raw '[{\"keyword\":\"dataforseo\",\"location_code\":2840,\"language_code\":\"en\"}]'",
        "claudeCode": "claude mcp add --header \"Authorization: Basic \u003cbasic_auth_token\u003e\" --transport http dfs-mcp https://mcp.dataforseo.com/http",
        "config": {
          "mcpServers": {
            "dataforseo": {
              "url": "https://mcp.dataforseo.com/v3/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/seo.keywords",
        "tool": "https://letme.dev/dataforseo"
      },
      "area": "web-data",
      "unitPrices": [
        {
          "item": "Google Organic SERP, standard queue, per 1,000 results pages",
          "unit": "1k-requests",
          "usd": 0.6,
          "note": "$0.0006 a page of 10 results, about 5 minutes on average"
        },
        {
          "item": "Google Organic SERP, priority queue, per 1,000 results pages",
          "unit": "1k-requests",
          "usd": 1.2,
          "note": "$0.0012 a page, up to 1 minute on average"
        },
        {
          "item": "Google Organic SERP, Live, per 1,000 results pages",
          "unit": "1k-requests",
          "usd": 2,
          "note": "$0.002 a page, up to 6 seconds on average"
        },
        {
          "item": "Backlinks API, per request",
          "unit": "call",
          "usd": 0.024,
          "note": "plus $0.000036 a row, so $0.06 for a request returning 1,000 rows"
        },
        {
          "item": "Google Ads keyword data, standard task",
          "unit": "call",
          "usd": 0.06,
          "note": "up to 1,000 keywords a task. $0.09 in Live mode"
        },
        {
          "item": "DataForSEO Labs Google, most endpoints, per task",
          "unit": "call",
          "usd": 0.012,
          "note": "plus a per-item charge. Historical Rank is $0.12 a task plus $0.0012 an item"
        },
        {
          "item": "Minimum payment",
          "unit": "tx",
          "usd": 50,
          "note": "prepaid balance, funds don't expire"
        }
      ],
      "provenance": {
        "legalEntity": "DataForSEO OÜ",
        "domain": "dataforseo.com",
        "domainRegistered": "2016-10-24",
        "endpointOnVendorDomain": true,
        "terms": "https://dataforseo.com/terms-of-service/",
        "privacy": "https://dataforseo.com/privacy-policy/",
        "statusPage": "https://status.dataforseo.com/",
        "changelog": "https://dataforseo.com/updates",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms of service (updated 12 June 2026) name DataForSEO OU, company number 14502291, registered in the Republic of Estonia. The site footer gives an address in Tallinn and one in Kharkiv, Ukraine.",
          "The API answers at https://api.dataforseo.com/v3/, the sandbox at https://sandbox.dataforseo.com/v3/ and the hosted MCP server at https://mcp.dataforseo.com/v3/mcp, with OAuth served from https://data.dataforseo.com.",
          "https://dataforseo.com/.well-known/security.txt returns 403, the same path on docs.dataforseo.com returns 404 and on api.dataforseo.com 401. No security contact or disclosure policy was found in the reviewed pages.",
          "The status page is the vendor's own application. Its public feed at data.dataforseo.com returns daily incident records for up to 365 days.",
          "RDAP for dataforseo.com gives a registration date of 2016-10-24."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/dataforseo.json",
      "live": {
        "slug": "dataforseo",
        "probe": {
          "target": "https://api.dataforseo.com/v3/",
          "method": "get",
          "lastAt": "2026-10-09T10:42:40.890938301Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 140,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 92,
          "p95ms24h": 140,
          "samples24h": 207,
          "samples30d": 207,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 93
            },
            {
              "date": "2026-10-09",
              "probes": 114,
              "ok": 114
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.dataforseo.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:46.912767877Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "dataforseo-client",
            "version": "2.1.8",
            "seenAt": "2026-10-08T16:07:49.124412304Z"
          },
          {
            "registry": "npm",
            "name": "dataforseo-mcp-server",
            "version": "3.1.3",
            "seenAt": "2026-10-08T16:07:46.059014661Z"
          },
          {
            "registry": "pypi",
            "name": "dataforseo-client",
            "version": "2.1.8",
            "released": "2026-09-30",
            "seenAt": "2026-10-08T16:07:49.38827501Z"
          }
        ],
        "githubStars": 252,
        "npmWeekly": 23858,
        "pypiWeekly": 49757,
        "securityTxt": {
          "url": "https://dataforseo.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:34.030952357Z"
        },
        "pages": [
          {
            "url": "https://dataforseo.com/updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:55.613928649Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "68c5489e7f0a"
          },
          {
            "url": "https://dataforseo.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:51.451608893Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7788afd43626"
          },
          {
            "url": "https://dataforseo.com/terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:16:53.75601832Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bcc4a8c60fed"
          }
        ],
        "updatedAt": "2026-10-09T10:42:40.890938301Z"
      }
    },
    "answer": "DataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth.",
    "b": {
      "slug": "google-search-console",
      "name": "Google Search Console API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/webmaster-tools",
      "kind": "http-api",
      "category": "seo",
      "summary": "REST API from Google for Search Console data on sites the user manages. It returns clicks, impressions and average position by query, page, country and device, inspects a URL's index status and manages sitemaps. Access is by OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/google-search-console",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-search-console.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-search-console.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-search-console.json",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://searchconsole.googleapis.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/searchconsole"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only, set up by a person in a Google Cloud project with a consent screen. No partner or sales approval. Two scopes, `webmasters` for read and write and `webmasters.readonly`. The user must have owner, full or read permission on a property in Search Console, and a token reaches every property that user can. The docs say no other protocol is supported, though the testing tools method takes an API key.",
      "pricing": "free",
      "pricingNotes": "All use of the API is free of charge, subject to usage limits, per the pricing page. A free Google account with a verified property can start without a card or contract. There is no sandbox. Limits are 1,200 Search Analytics queries a minute per site and per user, 2,000 URL inspections a day per site, and 20 requests a second per user on other methods (https://developers.google.com/webmaster-tools/pricing; https://developers.google.com/webmaster-tools/limits).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the limits and pricing pages or the discovery document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 12262,
        "npmWeekly": 69577,
        "pypiWeekly": 31750331,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.google.com/webmaster-tools/about",
      "capabilities": [
        "seo.rankings",
        "seo.keywords",
        "seo.traffic"
      ],
      "tags": [
        "hosted",
        "official",
        "free-tier",
        "closed-source",
        "oauth",
        "typescript",
        "python",
        "no-status-page"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 508,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 71,
          "payments": 40,
          "reliability": 37,
          "schema": 75,
          "security": 56,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The API is free, with published quotas of 1,200 Search Analytics queries a minute per site and typed filters that accept regular expressions. It covers only properties the signed-in user manages, returns at most 50,000 rows a day per search type, and has no status page, SLA or dedicated changelog. A person must complete OAuth consent first.",
        "bestFor": "An agent reporting on or monitoring search performance and index status for sites its user owns, with first-party click and impression counts.",
        "strengths": [
          "All use is free of charge per the pricing page, with no card needed",
          "Quotas are published with numbers, 1,200 Search Analytics queries a minute per site and per user and 40,000 a minute per project",
          "Public discovery document (revision 20261007, 11 methods, 30 schemas) with enums for dimensions, search types, data states and six filter operators",
          "`webmasters.readonly` is a separate read-only OAuth scope, and seven of the eleven methods accept it",
          "`rowLimit` (1 to 25,000, default 1,000) and `startRow` size and page results, and `dataState` set to `hourly_all` returns hourly data"
        ],
        "weaknesses": [
          "Data covers only properties the signed-in user has owner, full or read access to. It cannot be asked about any other domain",
          "Search Analytics exposes at most 50,000 rows a day per search type, and the reference says it returns top rows, not all rows",
          "No status page, SLA or dedicated changelog was found. Google's Search Status Dashboard lists Crawling, Indexing, Ranking and Serving only",
          "A scope covers every property the user can reach. No per-property scope and no audit log of API calls were found",
          "The discovery document still lists `urlTestingTools.mobileFriendlyTest.run`, whose reference page returns 404"
        ],
        "agentNotes": [
          "URL-encode the property in the path. A URL-prefix property needs its trailing slash, and a Domain property is written `sc-domain:example.com`",
          "Query one day at a time and page with `startRow` in steps of 25,000 until a response has no rows",
          "Leave `page` and `query` out of `dimensions` when totals must be accurate. Grouping by either drops some data",
          "Ask for `webmasters.readonly` unless the task adds or deletes properties or sitemaps",
          "After a quota exceeded error wait 15 minutes. If it repeats, the daily load quota is spent, so shorten date ranges and drop page or query grouping"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 71,
          "payments": 40,
          "reliability": 37,
          "schema": 75,
          "security": 56,
          "transparency": 41
        },
        "provenanceScore": 74
      },
      "connect": {
        "install": "npm install @googleapis/searchconsole",
        "http": "curl -X POST \"https://searchconsole.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"startDate\": \"2026-09-01\", \"endDate\": \"2026-09-01\", \"dimensions\": [\"country\", \"device\"]}'"
      },
      "letme": {
        "capability": "https://letme.dev/seo.rankings",
        "tool": "https://letme.dev/google-search-console"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "gemini-live",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "firebase-cloud-messaging",
        "google-drive-api",
        "gemini-cli",
        "google-ads-api",
        "google-forms",
        "google-sheets-api",
        "gmail-api"
      ],
      "area": "web-data",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Google APIs Terms of Service (last modified 9 November 2021) name Google LLC, 1600 Amphitheatre Parkway, Mountain View.",
          "RDAP for google.com gives a registration date of 1997-09-15.",
          "www.google.com/.well-known/security.txt expires on 1 April 2030 and names g.co/vulnz, security@google.com and the vulnerability reward programme.",
          "Google publishes a discovery document for the API, not an OpenAPI spec.",
          "No status page covers Search Console or its API. status.search.google.com lists Crawling, Indexing, Ranking and Serving.",
          "No release notes for the API were found. Changes appear on reference pages and the Search Central blog.",
          "The Google privacy policy read on 8 October 2026 is the version effective 1 October 2026."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-search-console.json",
      "live": {
        "slug": "google-search-console",
        "probe": {
          "target": "https://searchconsole.googleapis.com",
          "method": "get",
          "lastAt": "2026-10-09T10:42:44.440145681Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 44,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 48,
          "p95ms24h": 117,
          "samples24h": 33,
          "samples30d": 33,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 33,
              "ok": 33
            }
          ]
        },
        "updatedAt": "2026-10-09T10:42:44.440145681Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "DataForSEO OÜ",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "https://api.dataforseo.com/v3/",
        "b": "https://searchconsole.googleapis.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "$0.06 per call",
        "b": "free",
        "name": "Price for seo keywords"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under DataForSEO's terms of service. The MCP server is Apache-2.0 and the Python client is MIT",
        "b": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-06",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "2026-06-12",
        "b": "2021-11-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-07-24",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "251 stars, 32k npm/wk, 50k PyPI/wk",
        "b": "12k stars, 70k npm/wk, 31.8M PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "DataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth.",
        "question": "Which is better for AI agents, DataForSEO or Google Search Console API?"
      },
      {
        "answer": "Google Search Console API, at free against $0.06 per call for DataForSEO. These are the vendors' published prices for the job.",
        "question": "Which is cheaper for seo keywords, DataForSEO or Google Search Console API?"
      },
      {
        "answer": "DataForSEO takes an API key or an OAuth sign-in. Google Search Console API uses an OAuth sign-in.",
        "question": "Do DataForSEO and Google Search Console API need an API key?"
      },
      {
        "answer": "Yes. DataForSEO has a hosted endpoint at https://api.dataforseo.com/v3/ and Google Search Console API at https://searchconsole.googleapis.com.",
        "question": "Can an agent call DataForSEO and Google Search Console API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 37",
          "Schema \u0026 documentation, 86 against 75",
          "Maintenance \u0026 community, 82 against 71",
          "Transparency \u0026 trust, 74 against 58"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "goodFor": "Agents and products that need raw SEO data in bulk at a low unit price, across SERPs, keyword volumes, backlinks, ranked keywords and traffic estimates, and that can work with a task queue.",
        "slug": "dataforseo",
        "watchFor": "The REST API takes one account-wide login and password over HTTP Basic, with no scopes or read-only credential"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 56 against 45"
        ],
        "also": [
          "No incidents deducted, where DataForSEO loses 6 points for them"
        ],
        "goodFor": "An agent reporting on or monitoring search performance and index status for sites its user owns, with first-party click and impression counts.",
        "slug": "google-search-console",
        "watchFor": "Data covers only properties the signed-in user has owner, full or read access to. It cannot be asked about any other domain"
      }
    ],
    "job": {
      "capability": "seo.keywords",
      "name": "Seo keywords"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/ahrefs-vs-dataforseo.json",
        "title": "Ahrefs vs DataForSEO",
        "url": "https://www.anchorterminal.com/compare/ahrefs-vs-dataforseo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/ahrefs-vs-google-search-console.json",
        "title": "Ahrefs vs Google Search Console API",
        "url": "https://www.anchorterminal.com/compare/ahrefs-vs-google-search-console"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-manifold-mcp.json",
        "title": "DataForSEO vs Manifold",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-manifold-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-moz-api.json",
        "title": "DataForSEO vs Moz API",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-moz-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-se-ranking.json",
        "title": "DataForSEO vs SE Ranking API + MCP",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-se-ranking"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-semrush.json",
        "title": "DataForSEO vs Semrush API + MCP",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-semrush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/dataforseo-vs-similarweb.json",
        "title": "DataForSEO vs Similarweb",
        "url": "https://www.anchorterminal.com/compare/dataforseo-vs-similarweb"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-manifold-mcp.json",
        "title": "Google Search Console API vs Manifold",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-manifold-mcp"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-moz-api.json",
        "title": "Google Search Console API vs Moz API",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-moz-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-se-ranking.json",
        "title": "Google Search Console API vs SE Ranking API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-se-ranking"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-semrush.json",
        "title": "Google Search Console API vs Semrush API + MCP",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-semrush"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-search-console-vs-similarweb.json",
        "title": "Google Search Console API vs Similarweb",
        "url": "https://www.anchorterminal.com/compare/google-search-console-vs-similarweb"
      }
    ],
    "scores": [
      {
        "by": 47,
        "dataforseo": 84,
        "edge": "dataforseo",
        "google-search-console": 37,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "dataforseo": 86,
        "edge": "dataforseo",
        "google-search-console": 75,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "dataforseo": 84,
        "edge": "dataforseo",
        "google-search-console": 82,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 11,
        "dataforseo": 45,
        "edge": "google-search-console",
        "google-search-console": 56,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "dataforseo": 40,
        "edge": "",
        "google-search-console": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 11,
        "dataforseo": 82,
        "edge": "dataforseo",
        "google-search-console": 71,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 16,
        "dataforseo": 74,
        "edge": "dataforseo",
        "google-search-console": 58,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "DataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth. Both do seo keywords.",
    "verdicts": {
      "dataforseo": "Per-request prices are public for every endpoint, a $1 credit and a free sandbox need no payment, and the status feed shows no incident since 15 June 2026. The REST API accepts one account-wide login and password with no scopes, and no SLA or security certification was found in the reviewed pages.",
      "google-search-console": "The API is free, with published quotas of 1,200 Search Analytics queries a minute per site and typed filters that accept regular expressions. It covers only properties the signed-in user manages, returns at most 50,000 rows a day per search type, and has no status page, SLA or dedicated changelog. A person must complete OAuth consent first."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console",
    "json": "https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console.md",
    "slim": "https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console.min.md"
  },
  "markdown": "DataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth. Both do seo keywords.\n\n- DataForSEO: grade B, 64.9/100, rank #304 of 842. Markdown https://www.anchorterminal.com/tools/dataforseo.md · JSON https://www.anchorterminal.com/api/v1/tools/dataforseo.json\n- Google Search Console API: grade C, 59/100, rank #508 of 842. Markdown https://www.anchorterminal.com/tools/google-search-console.md · JSON https://www.anchorterminal.com/api/v1/tools/google-search-console.json\n\n## Which one, for what\n\n### DataForSEO (B)\n\nGood for: Agents and products that need raw SEO data in bulk at a low unit price, across SERPs, keyword volumes, backlinks, ranked keywords and traffic estimates, and that can work with a task queue.\n\nAhead on:\n- Reliability, 84 against 37\n- Schema \u0026 documentation, 86 against 75\n- Maintenance \u0026 community, 82 against 71\n- Transparency \u0026 trust, 74 against 58\n\nAlso in its favour:\n- Runs on your own machine\n\nWatch for: The REST API takes one account-wide login and password over HTTP Basic, with no scopes or read-only credential\n\n### Google Search Console API (C)\n\nGood for: An agent reporting on or monitoring search performance and index status for sites its user owns, with first-party click and impression counts.\n\nAhead on:\n- Security \u0026 auth, 56 against 45\n\nAlso in its favour:\n- No incidents deducted, where DataForSEO loses 6 points for them\n\nWatch for: Data covers only properties the signed-in user has owner, full or read access to. It cannot be asked about any other domain\n\n\n## Score by category\n\n| Category | Weight | DataForSEO | Google Search Console API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 37 | DataForSEO +47 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 75 | DataForSEO +11 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 82 | DataForSEO +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 56 | Google Search Console API +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 71 | DataForSEO +11 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 58 | DataForSEO +16 |\n| Negative events | ≤15 | -6 | 0 | |\n| **Total** | | **64.9 · B** | **59 · C** | |\n\n## Facts side by side\n\n| Fact | DataForSEO | Google Search Console API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | DataForSEO OÜ | Google |\n| Hosted endpoint | `https://api.dataforseo.com/v3/` | `https://searchconsole.googleapis.com` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Pay per use | Free |\n| Price for seo keywords | $0.06 per call | free |\n| x402 | no | no |\n| Licence | Proprietary service under DataForSEO's terms of service. The MCP server is Apache-2.0 and the Python client is MIT | Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0 |\n| Tools exposed | 4 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | 2026-10-06 | 2026-09-23 |\n| Terms last updated | 2026-06-12 | 2021-11-09 |\n| Privacy policy last updated | 2026-07-24 | 2026-10-01 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 251 stars, 32k npm/wk, 50k PyPI/wk | 12k stars, 70k npm/wk, 31.8M PyPI/wk |\n\n## Verdicts\n\n**DataForSEO.** Per-request prices are public for every endpoint, a $1 credit and a free sandbox need no payment, and the status feed shows no incident since 15 June 2026. The REST API accepts one account-wide login and password with no scopes, and no SLA or security certification was found in the reviewed pages.\n\n**Google Search Console API.** The API is free, with published quotas of 1,200 Search Analytics queries a minute per site and typed filters that accept regular expressions. It covers only properties the signed-in user manages, returns at most 50,000 rows a day per search type, and has no status page, SLA or dedicated changelog. A person must complete OAuth consent first.\n\n## Before you call either\n\n### DataForSEO\n\n1. Check `status_code` on the response and on every task. HTTP 200 is returned for most errors, and 20000 or 20100 means success\n2. Append `.ai` to Live and Task GET paths to get the trimmed response. The MCP `api_request` tool does this unless `noAiMode` is true\n3. Build against https://sandbox.dataforseo.com/v3/ first. It is free and returns dummy data in the production structure\n4. Use the standard queue (`task_post`, then `task_get` or a `postback_url`) for bulk work. Live Google Ads endpoints allow 12 requests a minute\n5. Ask the account owner to set daily cost limits and an IP whitelist, since the credentials carry the whole prepaid balance\n\n### Google Search Console API\n\n1. URL-encode the property in the path. A URL-prefix property needs its trailing slash, and a Domain property is written `sc-domain:example.com`\n2. Query one day at a time and page with `startRow` in steps of 25,000 until a response has no rows\n3. Leave `page` and `query` out of `dimensions` when totals must be accurate. Grouping by either drops some data\n4. Ask for `webmasters.readonly` unless the task adds or deletes properties or sitemaps\n5. After a quota exceeded error wait 15 minutes. If it repeats, the daily load quota is spent, so shorten date ranges and drop page or query grouping\n\n## Questions\n\n### Which is better for AI agents, DataForSEO or Google Search Console API?\n\nDataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth.\n\n### Which is cheaper for seo keywords, DataForSEO or Google Search Console API?\n\nGoogle Search Console API, at free against $0.06 per call for DataForSEO. These are the vendors' published prices for the job.\n\n### Do DataForSEO and Google Search Console API need an API key?\n\nDataForSEO takes an API key or an OAuth sign-in. Google Search Console API uses an OAuth sign-in.\n\n### Can an agent call DataForSEO and Google Search Console API without installing anything?\n\nYes. DataForSEO has a hosted endpoint at https://api.dataforseo.com/v3/ and Google Search Console API at https://searchconsole.googleapis.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console.json, and with the fewest tokens: https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"dataforseo\", \"b\": \"google-search-console\"}`. From a terminal: `anchor compare dataforseo google-search-console`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/dataforseo.json and https://www.anchorterminal.com/api/v1/tools/google-search-console.json\n\n## Other comparisons with DataForSEO or Google Search Console API\n\n- [Ahrefs vs DataForSEO](https://www.anchorterminal.com/compare/ahrefs-vs-dataforseo.md)\n- [Ahrefs vs Google Search Console API](https://www.anchorterminal.com/compare/ahrefs-vs-google-search-console.md)\n- [DataForSEO vs Manifold](https://www.anchorterminal.com/compare/dataforseo-vs-manifold-mcp.md)\n- [DataForSEO vs Moz API](https://www.anchorterminal.com/compare/dataforseo-vs-moz-api.md)\n- [DataForSEO vs SE Ranking API + MCP](https://www.anchorterminal.com/compare/dataforseo-vs-se-ranking.md)\n- [DataForSEO vs Semrush API + MCP](https://www.anchorterminal.com/compare/dataforseo-vs-semrush.md)\n- [DataForSEO vs Similarweb](https://www.anchorterminal.com/compare/dataforseo-vs-similarweb.md)\n- [Google Search Console API vs Manifold](https://www.anchorterminal.com/compare/google-search-console-vs-manifold-mcp.md)\n- [Google Search Console API vs Moz API](https://www.anchorterminal.com/compare/google-search-console-vs-moz-api.md)\n- [Google Search Console API vs SE Ranking API + MCP](https://www.anchorterminal.com/compare/google-search-console-vs-se-ranking.md)\n- [Google Search Console API vs Semrush API + MCP](https://www.anchorterminal.com/compare/google-search-console-vs-semrush.md)\n- [Google Search Console API vs Similarweb](https://www.anchorterminal.com/compare/google-search-console-vs-similarweb.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DataForSEO vs Google Search Console API",
        "url": ""
      }
    ],
    "description": "DataForSEO scores 64.9 (B) on agent readiness against Google Search Console API's 59 (C), and leads in 5 of 7 scored categories. Google Search Console API leads on security \u0026 auth. Both do seo keywords. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "DataForSEO B 64.9",
      "Google Search Console API C 59",
      "scores"
    ],
    "h1": "DataForSEO vs Google Search Console API",
    "image": "https://www.anchorterminal.com/assets/og/compare-dataforseo-vs-google-search-console.png",
    "path": "/compare/dataforseo-vs-google-search-console",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DataForSEO vs Google Search Console API for AI agents, B 64.9 vs C 59",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/dataforseo-vs-google-search-console"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 780
  },
  "version": 1
}
