Dataforseo MCP

Live

OAUTH 2.0

ANALYTICS

Analytics

Connect to DataForSEO. Access real-time SEO data including SERP results, keyword analytics, backlinks analysis, domain technologies, and AI visibility...

  • Acts as the user: Every tool call runs as the authorizing user. Access and audit trail stay intact.
  • Credentials stay vaulted: AES-256 encrypted, resolved at request time, never stored in LLM context.
  • Scoped before every call: Per-user permissions enforced automatically. 90-day audit trail included.
Dataforseo MCP
agent · Acme Q3
Run
Ai Opt Kw Data Loc And Lang in Dataforseo MCP
S
dataforseomcp_ai_opt_kw_data_loc_and_lang
85ms
Dataforseo MCP agent
List available locations and languages for ai keyword data searches..
Sources: Dataforseo MCP
dataforseomcpmcp
1 tool call
18:29
Message Claude...

Dataforseo MCP tools for AI agents

CALL ANY TOOL
12 tools covering ai.
dataforseomcp_ai_opt_kw_data_loc_and_lang
Ai opt kw data loc and lang
List available locations and languages for AI keyword data searches.
Parameters
Name
Type
Required
Description
No parameters required
dataforseomcp_ai_opt_llm_ment_cross_agg_metrics
Ai opt llm ment cross agg metrics
dataforseomcp_ai_opt_llm_ment_search
Search ai opt llm ment
dataforseomcp_ai_opt_llm_ment_top_pages
Ai opt llm ment top pages
dataforseomcp_ai_optimization_llm_mentions_filters
Ai optimization llm mentions filters
dataforseomcp_backlinks_anchors
Backlinks anchors
dataforseomcp_backlinks_backlinks
Backlinks backlinks
dataforseomcp_backlinks_bulk_new_lost_referring_domains
Backlinks bulk new lost referring domains
dataforseomcp_backlinks_bulk_referring_domains
Backlinks bulk referring domains
dataforseomcp_backlinks_domain_intersection
Backlinks domain intersection
dataforseomcp_backlinks_domain_pages_summary
Backlinks domain pages summary
dataforseomcp_backlinks_referring_networks
Backlinks referring networks
dataforseomcp_backlinks_timeseries_summary
Backlinks timeseries summary
dataforseomcp_content_analysis_search
Search content analysis
dataforseomcp_dataforseo_labs_available_filters
Dataforseo labs available filters
dataforseomcp_dataforseo_labs_bulk_traffic_estimation
Dataforseo labs bulk traffic estimation
dataforseomcp_dataforseo_labs_google_domain_rank_overview
Dataforseo labs google domain rank overview
dataforseomcp_dataforseo_labs_google_historical_serp
Dataforseo labs google historical serp
dataforseomcp_dataforseo_labs_google_keyword_suggestions
Dataforseo labs google keyword suggestions
dataforseomcp_dataforseo_labs_google_page_intersection
Dataforseo labs google page intersection
dataforseomcp_dataforseo_labs_google_relevant_pages
Dataforseo labs google relevant pages
dataforseomcp_dataforseo_labs_google_top_searches
Dataforseo labs google top searches
dataforseomcp_domain_analytics_whois_available_filters
Domain analytics whois available filters
dataforseomcp_kw_data_dfs_trends_demography
Kw data dfs trends demography
dataforseomcp_kw_data_google_ads_locations
Kw data google ads locations
dataforseomcp_merchant_amazon_asin_live_advanced
Merchant amazon asin live advanced
dataforseomcp_merchant_amazon_sellers_live_advanced
Merchant amazon sellers live advanced
dataforseomcp_on_page_instant_pages
On page instant pages
dataforseomcp_serp_organic_live_advanced
Serp organic live advanced
dataforseomcp_serp_youtube_video_comments_live_advanced
Serp youtube video comments live advanced

For more tools, view docs.

Build your Agent
Same auth pattern across every framework.
Python · LlamaIndex
from langchain_mcp_adapters.client import MultiServerMCPClient
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="dataforseomcp")

mcp = MultiServerMCPClient({
"dataforseomcp": {
"url": "https://mcp.scalekit.com/dataforseomcp",
"headers": {"Authorization": "Bearer " + token}
}
})
tools = await mcp.get_tools()
import OpenAI from "openai";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "dataforseomcp" });

const openai = new OpenAI();
// Connect to MCP at https://mcp.scalekit.com/dataforseomcp
// Pass: Authorization: Bearer + token
import Anthropic from "@anthropic-ai/sdk";
import { ScalekitClient } from "@scalekit-sdk/node";

const client = new ScalekitClient({ envUrl, clientId, clientSecret });
const token = await client.agent.getToken({ userId: "user_id", connector: "dataforseomcp" });

const anthropic = new Anthropic();
// Connect to MCP at https://mcp.scalekit.com/dataforseomcp
// Pass: Authorization: Bearer + token
from google.adk.agents import LlmAgent
from scalekit import ScalekitClient

client = ScalekitClient(env_url=ENV_URL, client_id=CLIENT_ID, client_secret=SECRET)
token = client.agent.get_token(user_id="user_id", connector="dataforseomcp")
# Connect to MCP at https://mcp.scalekit.com/dataforseomcp
# Pass: Authorization: Bearer + token
Try these prompts
Paste any prompt into your agent to get started.
Get started
Copy the prompt
Copied
Get subtitle text for a YouTube video by video ID and language?
Copy the prompt
Copied
List available locations for YouTube SERP data queries?
Advanced
Copy the prompt
Copied
Run a Lighthouse performance and SEO audit for a web page URL?
Copy the prompt
Copied
Get on-page SEO data for a URL including metadata, links, and content metrics?
SEE HOW AUTH WORKS
User authorises once. Every agent call after uses their token with scope enforcement.
1
Authorize
Your user connects
Dataforseo MCP
once. We tie it to their identity and the meetings they approved — no shared bot account, no org-wide access
Who:
user ‘A’
when:
Once per user
access:
Limited to user
2
Store
Their
Dataforseo MCP
token lives in a vault scoped to them. User A's meetings are never reachable by an agent acting for user B, even on the same connection
vault:
encrypted
scope:
per-user
tokens:
auto-refreshed
3
Resolve
When your agent calls a
Dataforseo MCP
tool, we fetch the right token server-side. It never touches your agent, never appears in the LLM context, never shows up in your logs
speed:
~40ms
check:
before every call
seen by:
nobody
4
Audit
Every
Dataforseo MCP
tool call is logged — who triggered it, which meeting was fetched, what came back. 90 days of history, tied to the user who authorized it
history:
90 days
export:
SIEM-ready
logged:
every call
Test other agents
See the same per-user auth pattern across other connectors.
GTM and RevOps Teams
Competitive intelligence briefing agent
Scans Gong calls for competitor mentions, matches each one to its Notion battlecard, and DMs every affected rep a single Slack digest per cycle. Every call runs as the PMM who owns the briefing, never a shared bot.
GTM and RevOps Teams
Outbound prospecting agent
Searches Apollo for prospects matching your ICP, scores and ranks them, drafts personalized outreach in Gmail, and logs every send to Google Sheets. Mail goes out as the rep, not from a shared inbox.
GTM and RevOps Teams
Deal intelligence agent
Pulls recent Gong calls, scores deal risk with an LLM, cross-references the record in Attio, and DMs each owner their at-risk deals in Slack. Every read is scoped to that rep's own access.
Support and Ops Teams
Support triage agent
Fetches new Zendesk tickets, classifies them by type and urgency, searches the Notion knowledge base for an answer, and routes what it cannot resolve to Slack. Every call runs on the support agent's own delegated OAuth.
Test other agents
See the same per-user auth pattern across other connectors.
SALES
Deal intelligence agent
Score Gong call risk with an LLM, cross-reference the Attio record, and DM each owner their at-risk deals in Slack.
GTM
Competitive intelligence briefing agent
Scan Gong calls for competitor mentions, match each one to its Notion battlecard, and DM every affected rep a single Slack digest.
SALES
Outbound prospecting agent
Search Apollo for ICP matches, rank them, draft personalised Gmail outreach, and log every send to Google Sheets.
SUPPORT
Support triage agent
Classify new Zendesk tickets, search the Notion knowledge base for an answer, and route what it cannot resolve to Slack.
Why Scalekit
Secure your agent's access. Connectors ship in minutes
01.
Shared tokens break per-user analytics
A shared token looks fine in a demo. In production every call looks like a service account. Scalekit resolves the real user credential.
// shared token
audit → bot_service_account

// scalekit
audit → user_abc ✓
02.
Authentication is not authorization
03.
Multi-tenancy is architectural
04.
One connector today. Ten tomorrow.
“Our agents act across Salesforce, Gong, Google Drive, and more, on behalf of every customer. Scalekit behind the scenes meant we can keep adding tools without ever rebuilding how credentials or tool calling work.”
Venu Madhav Kattagoni
Head of Engineering / Von
FAQs
Frequently Asked Questions

Does the agent access Dataforseo as the user or as a shared key?
As the user. Each workspace member authorizes once and Scalekit resolves their credential at request time. Audit logs attribute every action to that user, not a shared service account.

Where is the Dataforseo OAuth token stored?
In Scalekit's managed AES-256 token vault, namespaced per tenant. Refresh is automatic. Revocation is a single dashboard action. Tokens never appear in prompts, logs, or LLM context.

Can I limit what the agent is allowed to do in Dataforseo?
Yes. Pass a tool name filter to listScopedTools so the analytics agent only sees the subset you authorize. Pre-API-call scope checks block out-of-policy actions before the request reaches Dataforseo.

What happens when a user revokes Dataforseo access?
The connection is invalidated on the next tool call. Subsequent requests for that user fail closed with a clear error. Other users in the tenant remain unaffected. The event is logged for audit.

Whose DataForSEO balance do SERP and keyword calls spend?
The authorizing user's. Every SERP, backlink, and AI visibility request bills that user's DataForSEO account, so agency spend maps cleanly to the person or client who triggered it.

Start in your coding agent
Up and running in one command
Install the Scalekit skill in your editor of choice. Connector, auth, tools, prompt, all wired up
Claude Code REPL
/plugin marketplace add scalekit-inc/claude-code-authstack
/plugin install agentkit@scalekit-auth-stack
Cursor Code REPL
# ~/.cursor/mcp.json
{
""mcpServers"": {
""dataforseomcp"": {
""url"": ""https://mcp.scalekit.com/dataforseomcp"",
""headers"": { ""Authorization"": ""Bearer $SCALEKIT_TOKEN"" }
}
}
}
Codex Code REPL
# ~/.codex/config.toml
[mcp_servers.dataforseomcp]
url = ""https://mcp.scalekit.com/dataforseomcp""
auth_env = ""SCALEKIT_TOKEN""
Copilot Code REPL
# .vscode/mcp.json
{
""servers"": {
""dataforseomcp"": {
""url"": ""https://mcp.scalekit.com/dataforseomcp"",
""type"": ""http""
}
}
}